[Midnightbsd-cvs] [MidnightBSD/mports] 6299fe: mail/thunderbird: fix libxul undefined symbol with...

Lucas Holt noreply at github.com
Tue Jul 14 22:36:05 EDT 2026


  Branch: refs/heads/master
  Home:   https://github.com/MidnightBSD/mports
  Commit: 6299fea8569c06546e2dcd97b5d5bf4c23306d39
      https://github.com/MidnightBSD/mports/commit/6299fea8569c06546e2dcd97b5d5bf4c23306d39
  Author: Lucas Holt <luke at foolishgames.com>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M mail/thunderbird/Makefile
    A mail/thunderbird/files/patch-bug2040125

  Log Message:
  -----------
  mail/thunderbird: fix libxul undefined symbol with libproxy enabled (#641)

## Problem

Thunderbird 152.0.1 aborts at startup with:

```
XPCOMGlueLoad error for file /usr/local/lib/thunderbird/libxul.so:
Undefined symbol "_ZN25nsUnixSystemProxySettings20GetSystemProxyDirectEPb"
Couldn't load XPCOM.
```

## Root cause

The port builds with `--enable-libproxy` and depends on `net/libproxy`,
so
`configure` sets `MOZ_ENABLE_LIBPROXY=1`. In that mode
`toolkit/system/unixproxy/moz.build` compiles `nsLibProxySettings.cpp`
**instead of** `nsUnixSystemProxySettings.cpp`.

`GetSystemProxyDirect()` was recently added to the
`nsISystemProxySettings`
interface. Upstream added implementations to the plain-unix, macOS and
Windows backends but **not** the libproxy backend. That file declares
the
full interface via `NS_DECL_NSISYSTEMPROXYSETTINGS` yet never defines
`GetSystemProxyDirect`, leaving an unresolved vtable slot. Undefined
symbols
are permitted in a shared object, so the build/link succeeds and only
fails
at `dlopen` time — which is why the 152.0.1 build looked clean.

This is Mozilla [bug
2040125](https://bugzilla.mozilla.org/show_bug.cgi?id=2040125);
FreeBSD's port carries the identical patch.

## Fix

- Add `files/patch-bug2040125` implementing the trivial libproxy variant
(`GetSystemProxyDirect` returns `false` — libproxy cannot cheaply report
a
  direct connection, so the fast-path is skipped).
- Bump `PORTREVISION`.

## Verification

- `bmake build` relinks `libxul.so`; `nsLibProxySettings.o` now defines
  `_ZN25nsUnixSystemProxySettings20GetSystemProxyDirectEPb` (`T`).
- `llvm-nm -D` on the old installed lib shows the symbol as `U`
(undefined);
the rebuilt lib resolves it internally (no undefined dynamic reference).
- `bmake package` succeeds (`thunderbird-152.0.1_1`).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

## Summary by Sourcery

Fix Thunderbird startup crash caused by unresolved libxul symbol when
built with libproxy on FreeBSD.

Bug Fixes:
- Resolve missing GetSystemProxyDirect symbol in libxul when libproxy
support is enabled by adding the upstream bug 2040125 patch.
- Ensure Thunderbird starts correctly on systems using the
libproxy-based system proxy backend.

Build:
- Bump Thunderbird port revision to 1 to trigger rebuild with the
libproxy fix applied.

Signed-off-by: Lucas Holt <luke at foolishgames.com>



To unsubscribe from these emails, change your notification settings at https://github.com/MidnightBSD/mports/settings/notifications



More information about the Midnightbsd-cvs mailing list