From nobody Mon Jul 24 13:24:42 2023 X-Original-To: ports@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8grp3ctnz4pJ6Z for ; Mon, 24 Jul 2023 13:25:30 +0000 (UTC) (envelope-from Alexander@leidinger.net) Received: from mailgate.Leidinger.net (bastille.leidinger.net [89.238.82.207]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (P-256) client-digest SHA256) (Client CN "mailgate.leidinger.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R8grp2432z42j2 for ; Mon, 24 Jul 2023 13:25:30 +0000 (UTC) (envelope-from Alexander@leidinger.net) Authentication-Results: mx1.freebsd.org; none Date: Mon, 24 Jul 2023 15:24:42 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leidinger.net; s=outgoing-alex; t=1690205122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Zmc6rSOEUz0YeP8RpWPrz+69Ii3Cv8gG3vbhx+MMF8M=; b=mZf2USv6ARzsB+04RKnasZbLgvOkvA1rASPP7fjzyiRM789cLEVARoR6wyccuNOQl9hV1x kNf1fHm82LgJfDZxLBxDmb+FPLMaL/sFE/nZswY1NWrksb0yqbyk5BmiWe2A2oAlffQaE+ /bXFBBPQyQxvvzDWjaZf5EiDhb8zLTurRo1EMtglNKGJA0M1nwogOPgL+GTzd1UGE+4TlU V/Qav9VC9CEpqMGhKldETiP3V42ZE63oFwlQG55HB2xUN/Xv3VjZxB0plDFzDyFY+5Dz7m ACgFe26iz81xA3W8mAIXQEODDHDDi6hzmcw/f0IbYfCWSoR/eaynYfxWm7JZPw== Message-ID: <20230724152442.Horde.L42vmR5MHsRgTV6XOgFMOEH@webmail.leidinger.net> From: Alexander Leidinger To: Jan Beich Cc: kde@freebsd.org, ports@freebsd.org Subject: Re: Unresolved symbol in libQt6WebEngineCore.so.6.4.2 References: <20230724143258.Horde.zvNcmPfLw8jOhYhWrWt14ho@webmail.leidinger.net> In-Reply-To: Accept-Language: de,en Content-Type: multipart/signed; boundary="=_m0rOfQTpv-6M-dXvJGQo8qY"; protocol="application/pgp-signature"; micalg=pgp-sha256 List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org MIME-Version: 1.0 X-Rspamd-Queue-Id: 4R8grp2432z42j2 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:34240, ipnet:89.238.64.0/18, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated 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 (from Mon, 24 Jul 2023 14:50:48 +020= 0): > Alexander Leidinger writes: > >> Quoting Jan Beich (from Mon, 24 Jul 2023=20=20 >>=2013:52:43 +0200): >> >>> Alexander Leidinger 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--