From nobody Mon Jul 24 13:25:30 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 4R8gsd01YRz4pJYK for ; Mon, 24 Jul 2023 13:26:13 +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) client-signature ECDSA (P-256)) (Client CN "mailgate.leidinger.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R8gsc2TjBz43ll for ; Mon, 24 Jul 2023 13:26:12 +0000 (UTC) (envelope-from Alexander@leidinger.net) Authentication-Results: mx1.freebsd.org; none Date: Mon, 24 Jul 2023 15:25:30 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leidinger.net; s=outgoing-alex; t=1690205167; 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=Xy/ldVE8/qip/czwj/pg5BerBQb64IQLqjydvjNEM9k=; b=3brLDcZwrpgld04jAEtV04rK8sNLtCwyL1WWl5LpyhPmkRbgxy+Sqe7jQidtGSuRCTTLF6 AthKjyw0msEM9fnWMpk6n+YdScWFGFDjxJlmSaJr5WlNOe6wCgEME2WYrLWeJpvbH/7DrP HDm4kq19lNikm/iX+VSxQcbKOUxWsBhPOtDV01jhhgu2uY11A+R3zFs1jDOT/ElaiBzWzQ 9qPpLctZdVqzjUVSj4hhoxumphGsOzhyLDnpmYpyNIK0th3qkiZCSocMke8CUuoNho7ozA 1ogZ9ag1tzN7AnuhkRDd+YjVe4Hl7Znr/HLGw+31094HZbsJapiT4uY+TgSbFA== Message-ID: <20230724152530.Horde.hdK-LMfJ2UVmwi38LNnGi73@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="=_WfsajmMj_VcJ2md8V_JqGOw"; 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: 4R8gsc2TjBz43ll 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. --=_WfsajmMj_VcJ2md8V_JqGOw 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 --=_WfsajmMj_VcJ2md8V_JqGOw Content-Type: application/pgp-signature Content-Description: Digitale PGP-Signatur Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIzBAABCAAdFiEER9UlYXp1PSd08nWXEg2wmwP42IYFAmS+e8UACgkQEg2wmwP4 2Ib2Cw//YX8OFxhmFZ6aWFLn0LbQaXuD3kev8JP4II5w9KTw+06a8nHwgPAeEySj fk5oWnvXDgkcPJTEcwQ0p6WFNJFgu0YHhUfcSUKlVHpjG3Hb1DJf1UHLYbfmDiY7 puOFubXzgvk8RHW+R0Jf/nQ/igmRB5IFV6hjXpmS1e1U7cISDtlYOeFQ9xrffsgn s7AGJvki8kpSuoxkMtPv2nIzBXlnNGse2FnRXKa2qCRk5T/T/Kd9SK1R2XC+pGYg 834sZu4D3aItVLVmmQ1eWx3IFoS+SSK3XqEXRfsZyUoog+FGwCwuah5yP0iXW7c/ NnWd/3YlDRQHuJtnC5eRC1dt6SEWwvvkV89a8FR6+D6tsjVuyydkSwoFUK5u9nWf i0ER2plHVxTMn/AGOoTimvmEdNuUTA/7Rtu9sC80G5/gHY1nn0kUuLriGj3R7TMy aHcchvKgCbQwQHU5Pr/SE+e6cWdp6kmlElaYgfnUGQPKjuFdq6XbIjmH9t+ifzoV LDSHuOPCuQLDertPeDnfKv32DgpDPFblSlCFHIX5ZZttJJPfKTuLZhTtPuCsdh0A Gf5ZrMYYBveGQ85b6og/L6AzPalHCxfVUtG1V2u7PnUikZdj45uVJcF+zmOqNkL7 0f5QVkjHpmUbOwwKms1jr+jrcw6WenXod8sigezO2+l2InOdACg= =+hnR -----END PGP SIGNATURE----- --=_WfsajmMj_VcJ2md8V_JqGOw--