Date: Mon, 24 Jul 2023 14:50:48 +0200 From: Jan Beich <jbeich@FreeBSD.org> To: Alexander Leidinger <Alexander@leidinger.net> Cc: kde@freebsd.org, ports@freebsd.org Subject: Re: Unresolved symbol in libQt6WebEngineCore.so.6.4.2 Message-ID: <r0ox-v5g7-wny@FreeBSD.org> In-Reply-To: <20230724143258.Horde.zvNcmPfLw8jOhYhWrWt14ho@webmail.leidinger.net> (Alexander Leidinger's message of "Mon, 24 Jul 2023 14:32:58 %2B0200") References: <20230724143258.Horde.zvNcmPfLw8jOhYhWrWt14ho@webmail.leidinger.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Alexander Leidinger <Alexander@leidinger.net> writes: > Quoting Jan Beich <jbeich@freebsd.org> (from Mon, 24 Jul 2023 13:52:43 +0200): > >> Alexander Leidinger <Alexander@leidinger.net> writes: >> >>> Hi, >>> >>> a build with non-standard port options (mostly nox11 und related stuff >>> for a headless system, except for some ports where this doesn't work) >>> is giving me an unresolved symbol in >>> libQt6WebEngineCore.so.6.4.2. This symbol is >>> _ZN7sandbox6policy12SandboxLinux11GetInstanceEv. >>> >>> I'm seeking some insight where this symbol comes from, so it would be >>> nice if someone could report back if their >>> libQt6WebEngineCore.so.6.4.2 also has this symbol as unresolved and >>> which libary does provide this symbol via: >>> find /usr/local/lib -type f -print0 | xargs -0 nm -dynamic >>> --print-file-name | grep SandboxLinux >> >> The symbol is defined by WebEngine itself. >> >> $ cd www/qt6-webengine >> $ make clean patch >> $ cd `make -V WRKSRC` >> $ rg -lF 'SandboxLinux::GetInstance() {' >> src/3rdparty/chromium/sandbox/policy/linux/sandbox_linux.cc >> src/3rdparty/chromium/sandbox/policy/openbsd/sandbox_openbsd.cc >> src/3rdparty/chromium/sandbox/policy/freebsd/sandbox_freebsd.cc > > That doesn't sound promising. The qt6-webengine build succeeded, but > this symbol is missing... :( > As the port only has the audio options, it's not some direct influence > which is causing it, but some indirect dependency on something in the > dependecy chain I would assume. If -Wl,--no-undefined (or -Wl,-z,defs) isn't passed then DSOs are allowed to have unresolved references. This is useful for plugins unlike shared libraries. > I had a look at the faq and explanation of the sandbox at > chromium.googlesource.com, but I didn't see any low level stuff which > could help to identify why it isn't in the lib. Check the build glue and/or ifdefs. src/3rdparty/chromium/sandbox/policy/BUILD.gn: if ((is_linux || is_chromeos) && !is_bsd) { sources += [ ... "linux/sandbox_linux.cc", "linux/sandbox_linux.h", ... ] ... } if (is_openbsd) { sources += [ "openbsd/sandbox_openbsd.cc", "openbsd/sandbox_openbsd.h", ] ... } # Required to avoid assertion errors during build of QtPDF if (is_freebsd && ozone_platform_x11) { sources += [ "freebsd/sandbox_freebsd.cc", "freebsd/sandbox_freebsd.h", ] ... } src/3rdparty/chromium/build/config/ozone.gni: } else if (is_linux && !is_bsd) { ozone_platform = "x11" ozone_platform_wayland = true ozone_platform_x11 = true } else if (is_openbsd) { ozone_platform = "x11" ozone_platform_wayland = false ozone_platform_x11 = true } else if (is_freebsd) { ozone_platform = "x11" ozone_platform_wayland = true ozone_platform_x11 = true
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?r0ox-v5g7-wny>