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>