Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Jul 2023 15:24:42 +0200
From:      Alexander Leidinger <Alexander@leidinger.net>
To:        Jan Beich <jbeich@freebsd.org>
Cc:        kde@freebsd.org, ports@freebsd.org
Subject:   Re: Unresolved symbol in libQt6WebEngineCore.so.6.4.2
Message-ID:  <20230724152442.Horde.L42vmR5MHsRgTV6XOgFMOEH@webmail.leidinger.net>
In-Reply-To: <r0ox-v5g7-wny@FreeBSD.org>
References:  <20230724143258.Horde.zvNcmPfLw8jOhYhWrWt14ho@webmail.leidinger.net> <r0ox-v5g7-wny@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format and has been PGP signed.

--=_m0rOfQTpv-6M-dXvJGQo8qY
Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Quoting Jan Beich <jbeich@freebsd.org> (from Mon, 24 Jul 2023 14:50:48 +020=
0):

> Alexander Leidinger <Alexander@leidinger.net> writes:
>
>> Quoting Jan Beich <jbeich@freebsd.org> (from Mon, 24 Jul 2023=20=20
>>=2013: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.

But then the sandbox code should be linked in even if there are some=20=20
symbols=20(e.g. from X11) not available...

>> 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 +=3D [
>     ...
>       "linux/sandbox_linux.cc",
>       "linux/sandbox_linux.h",
>     ...
>     ]
>   ...
>   }
>   if (is_openbsd) {
>     sources +=3D [
>       "openbsd/sandbox_openbsd.cc",
>       "openbsd/sandbox_openbsd.h",
>     ]
>   ...
>   }
>   # Required to avoid assertion errors during build of QtPDF
>   if (is_freebsd && ozone_platform_x11) {
>     sources +=3D [
>       "freebsd/sandbox_freebsd.cc",
>       "freebsd/sandbox_freebsd.h",
>     ]
>   ...
>   }
>
> src/3rdparty/chromium/build/config/ozone.gni:
>
>     } else if (is_linux && !is_bsd) {
>       ozone_platform =3D "x11"
>       ozone_platform_wayland =3D true
>       ozone_platform_x11 =3D true
>     } else if (is_openbsd) {
>       ozone_platform =3D "x11"
>       ozone_platform_wayland =3D false
>       ozone_platform_x11 =3D true
>     } else if (is_freebsd) {
>       ozone_platform =3D "x11"
>       ozone_platform_wayland =3D true
>       ozone_platform_x11 =3D true


In general I have X11 and wayland disabled in the port options, except=20=
=20
in=20some strategic places which resulted in build failures before.=20=20
Seems=20some ports have changed regarding this and I need to find out=20=20
what=20causes the sandbox code not to be included. I see references to=20=
=20
X11=20libs in the webengine libs, so :
---snip---
/usr/local/lib/qt6/libQt6WebEngineCore.so.6.4.2:
         libthr.so.3 =3D> /lib/libthr.so.3 (0x2762513e0000)
         libnss3.so =3D> /usr/local/lib/libnss3.so (0x27625c482000)
         libsmime3.so =3D> /usr/local/lib/libsmime3.so (0x27625bb0c000)
         libnssutil3.so =3D> /usr/local/lib/libnssutil3.so (0x27625d457000)
         libplds4.so =3D> /usr/local/lib/libplds4.so (0x27625dd34000)
         libplc4.so =3D> /usr/local/lib/libplc4.so (0x27625ef9f000)
         libnspr4.so =3D> /usr/local/lib/libnspr4.so (0x27625e740000)
         libdl.so.1 =3D> /usr/lib/libdl.so.1 (0x27625fb67000)
         libkvm.so.7 =3D> /lib/libkvm.so.7 (0x2762606d3000)
         libexecinfo.so.1 =3D> /usr/lib/libexecinfo.so.1 (0x276260b5a000)
         libutil.so.9 =3D> /lib/libutil.so.9 (0x2762625a6000)
         libevent-2.1.so.7 =3D> /usr/local/lib/libevent-2.1.so.7 (0x2762617=
bd000)
         libz.so.6 =3D> /lib/libz.so.6 (0x276263772000)
         libjpeg.so.8 =3D> /usr/local/lib/libjpeg.so.8 (0x276262755000)
         libm.so.5 =3D> /lib/libm.so.5 (0x2762646e6000)
         libopus.so.0 =3D> /usr/local/lib/libopus.so.0 (0x2762655ce000)
         libavcodec.so.60 =3D> /usr/local/lib/libavcodec.so.60 (0x276268c00=
000)
         libavformat.so.60 =3D> /usr/local/lib/libavformat.so.60 (0x2762657=
30000)
         libavutil.so.58 =3D> /usr/local/lib/libavutil.so.58 (0x2762660a400=
0)
         libopenh264.so.6 =3D> /usr/local/lib/libopenh264.so.6 (0x276266a54=
000)
         libvpx.so.8 =3D> /usr/local/lib/libvpx.so.8 (0x27626773d000)
         libfontconfig.so.1 =3D> /usr/local/lib/libfontconfig.so.1=20=20
(0x2762689f2000)
=20        libpng16.so.16 =3D> /usr/local/lib/libpng16.so.16 (0x27626b14400=
0)
         libwebp.so.7 =3D> /usr/local/lib/libwebp.so.7 (0x27626cfce000)
         libwebpmux.so.3 =3D> /usr/local/lib/libwebpmux.so.3 (0x27626a5c600=
0)
         libwebpdemux.so.2 =3D> /usr/local/lib/libwebpdemux.so.2 (0x27626bb=
60000)
         libfreetype.so.6 =3D> /usr/local/lib/libfreetype.so.6 (0x27626c01b=
000)
         libexpat.so.1 =3D> /usr/local/lib/libexpat.so.1 (0x27626dcb7000)
         libharfbuzz-subset.so.0 =3D>=20=20
/usr/local/lib/libharfbuzz-subset.so.0=20(0x27626ea2f000)
         libharfbuzz.so.0 =3D> /usr/local/lib/libharfbuzz.so.0 (0x2762705aa=
000)
         libre2.so.10 =3D> /usr/local/lib/libre2.so.10 (0x27626f387000)
         libpci.so.3 =3D> /usr/local/lib/libpci.so.3 (0x27626f463000)
         libasound.so.2 =3D> /usr/local/lib/libasound.so.2 (0x276270081000)
         libsnappy.so.1 =3D> /usr/local/lib/libsnappy.so.1 (0x276270948000)
         libdbus-1.so.3 =3D> /usr/local/lib/libdbus-1.so.3 (0x2762710e5000)
         libminizip.so.1 =3D> /usr/local/lib/libminizip.so.1 (0x276271fbe00=
0)
         libxml2.so.2 =3D> /usr/local/lib/libxml2.so.2 (0x2762721a3000)
         libxslt.so.1 =3D> /usr/local/lib/libxslt.so.1 (0x276273082000)
         liblcms2.so.2 =3D> /usr/local/lib/liblcms2.so.2 (0x276273702000)
         liblcms2_fast_float.so.1 =3D>=20=20
/usr/local/lib/liblcms2_fast_float.so.1=20(0x276274ea1000)
         liblcms2_threaded.so.1 =3D>=20=20
/usr/local/lib/liblcms2_threaded.so.1=20(0x27627436e000)
         libxkbcommon.so.0 =3D> /usr/local/lib/libxkbcommon.so.0 (0x2762759=
69000)
         libQt6Quick.so.6 =3D> /usr/local/lib/qt6/libQt6Quick.so.6=20=20
(0x276277400000)
=20        libQt6OpenGL.so.6 =3D> /usr/local/lib/qt6/libQt6OpenGL.so.6=20=
=20
(0x276276101000)
=20        libQt6Gui.so.6 =3D> /usr/local/lib/qt6/libQt6Gui.so.6 (0x2762798=
00000)
         libGLX.so.0 =3D> /usr/local/lib/libGLX.so.0 (0x276276583000)
         libOpenGL.so.0 =3D> /usr/local/lib/libOpenGL.so.0 (0x276277e47000)
         libQt6QmlModels.so.6 =3D>=20=20
/usr/local/lib/qt6/libQt6QmlModels.so.6=20(0x276278c81000)
         libQt6WebChannel.so.6 =3D>=20=20
/usr/local/lib/qt6/libQt6WebChannel.so.6=20(0x27627ab7f000)
         libQt6Qml.so.6 =3D> /usr/local/lib/qt6/libQt6Qml.so.6 (0x27627bcaf=
000)
         libQt6Network.so.6 =3D> /usr/local/lib/qt6/libQt6Network.so.6=20=
=20
(0x27627dbf9000)
=20        libQt6Positioning.so.6 =3D>=20=20
/usr/local/lib/qt6/libQt6Positioning.so.6=20(0x27627b9e2000)
         libQt6Core.so.6 =3D> /usr/local/lib/qt6/libQt6Core.so.6 (0x276280c=
00000)
         libc++.so.1 =3D> /lib/libc++.so.1 (0x27627c956000)
         libcxxrt.so.1 =3D> /lib/libcxxrt.so.1 (0x27627d0c5000)
         libc.so.7 =3D> /lib/libc.so.7 (0x276250578000)
         libelf.so.2 =3D> /lib/libelf.so.2 (0x27624f87e000)
         libgcc_s.so.1 =3D> /lib/libgcc_s.so.1 (0x27627ebf0000)
         libswresample.so.4 =3D> /usr/local/lib/libswresample.so.4=20=20
(0x27627ede6000)
         liblzma.so.5 =3D> /usr/lib/liblzma.so.5 (0x27627f993000)
         libdav1d.so.6 =3D> /usr/local/lib/libdav1d.so.6 (0x276280480000)
         libaom.so.3 =3D> /usr/local/lib/libaom.so.3 (0x276283150000)
         libjxl.so.0.8 =3D> /usr/local/lib/libjxl.so.0.8 (0x276281212000)
=20=20=20=20=20    libjxl_threads.so.0.8 =3D> /usr/local/lib/libjxl_threads=
.so.0.8=20=20
(0x27628257f000)
=20        libSvtAv1Enc.so.1 =3D> /usr/local/lib/libSvtAv1Enc.so.1 (0x27628=
4903000)
         libtheoraenc.so.1 =3D> /usr/local/lib/libtheoraenc.so.1 (0x2762853=
2b000)
         libtheoradec.so.1 =3D> /usr/local/lib/libtheoradec.so.1 (0x2762859=
80000)
         libvorbis.so.0 =3D> /usr/local/lib/libvorbis.so.0 (0x27628723d000)
         libvorbisenc.so.2 =3D> /usr/local/lib/libvorbisenc.so.2 (0x2762868=
35000)
         libx264.so.164 =3D> /usr/local/lib/libx264.so.164 (0x27628783e000)
         libx265.so.192 =3D> /usr/local/lib/libx265.so.192 (0x276288ea2000)
         libSvtHevcEnc.so.1 =3D> /usr/local/lib/libSvtHevcEnc.so.1=20=20
(0x27628c800000)
=20        libxvidcore.so.4 =3D> /usr/local/lib/libxvidcore.so.4 (0x2762885=
96000)
         libbz2.so.4 =3D> /usr/lib/libbz2.so.4 (0x27628ac62000)
         libgmp.so.10 =3D> /usr/local/lib/libgmp.so.10 (0x27628b80f000)
         libgnutls.so.30 =3D> /usr/local/lib/libgnutls.so.30 (0x27628d98300=
0)
         libdrm.so.2 =3D> /usr/local/lib/libdrm.so.2 (0x27628deae000)
         libsharpyuv.so.0 =3D> /usr/local/lib/libsharpyuv.so.0 (0x27628efdf=
000)
         libbrotlidec.so.1 =3D> /usr/local/lib/libbrotlidec.so.1 (0x27628ed=
b4000)
         libglib-2.0.so.0 =3D> /usr/local/lib/libglib-2.0.so.0 (0x27628f2b7=
000)
         libgraphite2.so.3 =3D> /usr/local/lib/libgraphite2.so.3 (0x2762910=
0c000)
         librt.so.1 =3D> /usr/lib/librt.so.1 (0x27628fc7a000)
         libicui18n.so.73 =3D> /usr/local/lib/libicui18n.so.73 (0x27628fd28=
000)
         libicuuc.so.73 =3D> /usr/local/lib/libicuuc.so.73 (0x276291f0d000)
         libicudata.so.73 =3D> /usr/local/lib/libicudata.so.73 (0x27629365e=
000)
         libEGL.so.1 =3D> /usr/local/lib/libEGL.so.1 (0x27629274b000)
         libQt6DBus.so.6 =3D> /usr/local/lib/qt6/libQt6DBus.so.6 (0x2762943=
b6000)
         libgthread-2.0.so.0 =3D> /usr/local/lib/libgthread-2.0.so.0=20=20
(0x276294d4c000)
=20        libGLdispatch.so.0 =3D> /usr/local/lib/libGLdispatch.so.0=20=20
(0x276295966000)
=20        libX11.so.6 =3D> /usr/local/lib/libX11.so.6 (0x276295ed1000)
         libzstd.so.1 =3D> /usr/local/lib/libzstd.so.1 (0x276296f08000)
         libdouble-conversion.so.3 =3D>=20=20
/usr/local/lib/libdouble-conversion.so.3=20(0x276298932000)
         libpcre2-16.so.0 =3D> /usr/local/lib/libpcre2-16.so.0 (0x2762976cc=
000)
         libmd.so.6 =3D> /lib/libmd.so.6 (0x276297e94000)
         libhwy.so.1 =3D> /usr/local/lib/libhwy.so.1 (0x276298ca4000)
         libbrotlienc.so.1 =3D> /usr/local/lib/libbrotlienc.so.1 (0x27629a1=
f8000)
         libogg.so.0 =3D> /usr/local/lib/libogg.so.0 (0x27629913d000)
         libintl.so.8 =3D> /usr/local/lib/libintl.so.8 (0x276299b34000)
         libp11-kit.so.0 =3D> /usr/local/lib/libp11-kit.so.0 (0x27629afc400=
0)
         libunistring.so.5 =3D> /usr/local/lib/libunistring.so.5 (0x27629b4=
13000)
         libtasn1.so.6 =3D> /usr/local/lib/libtasn1.so.6 (0x27629c8c1000)
         libnettle.so.8 =3D> /usr/local/lib/libnettle.so.8 (0x27629bef7000)
         libhogweed.so.6 =3D> /usr/local/lib/libhogweed.so.6 (0x27629cf3b00=
0)
         libbrotlicommon.so.1 =3D> /usr/local/lib/libbrotlicommon.so.1=20=
=20
(0x27629dea6000)
=20        libiconv.so.2 =3D> /usr/local/lib/libiconv.so.2 (0x27629ee92000)
         libpcre2-8.so.0 =3D> /usr/local/lib/libpcre2-8.so.0 (0x27629f86800=
0)
         libxcb.so.1 =3D> /usr/local/lib/libxcb.so.1 (0x2762a0c13000)
         libffi.so.8 =3D> /usr/local/lib/libffi.so.8 (0x2762a0843000)
         libXau.so.6 =3D> /usr/local/lib/libXau.so.6 (0x2762a1921000)
         libXdmcp.so.6 =3D> /usr/local/lib/libXdmcp.so.6 (0x2762a214f000)
---snip---

Bye,
Alexander.

--=20
http://www.Leidinger.net=20Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org    netchild@FreeBSD.org  : PGP 0x8F31830F9F2772BF

--=_m0rOfQTpv-6M-dXvJGQo8qY
Content-Type: application/pgp-signature
Content-Description: Digitale PGP-Signatur
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIzBAABCAAdFiEER9UlYXp1PSd08nWXEg2wmwP42IYFAmS+e5kACgkQEg2wmwP4
2IZZUw//U10Qzfd12M1MSEM/o/9anzt/cz1xI3fSRZwQVMMdl7ze89OH6uG6tNJ2
XfPYwyTqGQMgF0aU3Y9/NvnkRLzkWyjU4JvwpMR0YVEEch+414Z/YF8pfB8BXDGK
5kh7SlNRW/xTXqsnh9YW7ULYhHXG0CozvRFmpLIoJW0PqVgG3AAZkSUxS2BLxQ0t
IccuZr+B5+YYGLH2UyjrcVoemE1//0d8txVNg/5qpNSnrb9a0ES/8hhPMMLiwy+Z
gOjMaJFzeynlKBGh/mbWuExD5HVvV7lZi+SreTSIybVb5bRf0D3pI4WuhV24dAi/
FkyhkrJx/VHIFp/ISnaaVMeHOsvgzLGTXwc8Y1VBJGN6mOn/vT2JdrX33Gq0Xm60
FDXCNyHWUZK7U2adIo/BwkGfzd5vTnFaWD5oAEa5u9UHaD1PcbdPSTuqW/9Bw6uT
cXByZMD2yKbn6vq2LFbsXqJPukDvsv6SlODwdn95J9ggqWwZ9dhux+majbD1QNIb
yYuqYpkfOmb911LVh5zeV3ORxspz/oHWJ7BIajf0uwwmZy3RMRhDSdK850F3eATE
otz3EsPX4MqvUHo5wMeI0DF9ST6WweSg3w4ra4HtERPr2wvouPuIJK07rifVtX4I
x4zjZ13guSXENgguDJvBlBBVbQIP4Txxa8ctZuOF26kqIp6nzaE=
=p/Qu
-----END PGP SIGNATURE-----

--=_m0rOfQTpv-6M-dXvJGQo8qY--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20230724152442.Horde.L42vmR5MHsRgTV6XOgFMOEH>