On May 30, 2025, at 14:18, Tatsuki Makino <[email protected]> wrote:
> Hello. Hello again. > On 5/30/25 16:50, Robert Clausecker wrote: >> Am Wed, May 28, 2025 at 09:21:06PM -0700 schrieb Mark Millard: >>> Looking . . . >>> >>> # file /usr/local/lib/qt5/libQt5WebEngineCore* >>> /usr/local/lib/qt5/libQt5WebEngineCore.prl: ASCII text, with very >>> long lines (770) >>> /usr/local/lib/qt5/libQt5WebEngineCore.so: symbolic link to >>> libQt5WebEngineCore.so.5.15.18 >>> /usr/local/lib/qt5/libQt5WebEngineCore.so.5: symbolic link to >>> libQt5WebEngineCore.so.5.15.18 >>> /usr/local/lib/qt5/libQt5WebEngineCore.so.5.15: symbolic link to >>> libQt5WebEngineCore.so.5.15.18 >>> /usr/local/lib/qt5/libQt5WebEngineCore.so.5.15.18: ELF 64-bit LSB shared >>> object, ARM aarch64, version 1 (SYSV), dynamically linked, >>> BuildID[sha1]=9fbd42a76a98b569f691f96e85cb5dad1fc5ca81, stripped >>> >>> That last is not correct for FreeBSD. Using libc.so.7 as an example: >>> >>> # file /lib/libc.so.7 >>> /lib/libc.so.7: ELF 64-bit LSB shared object, ARM aarch64, version 1 >>> (FreeBSD), dynamically linked, for FreeBSD 14.2, stripped >>> >>> Note the "(FreeBSD)" and "for FreeBSD 14.2" vs. the "(SYSV)" >>> and the lack of an indication of a FreeBSD version. >>> >>> By content, the wrong kind of file was built. More files have >>> that problem: >>> >>> >>> Lack of FreeBSD: >>> # file /usr/local/lib/qt5/*.so* | grep -v -e FreeBSD -e "symbolic link to " >>> /usr/local/lib/qt5/libQt5Pdf.so.5.15.18: ELF 64-bit LSB shared >>> object, ARM aarch64, version 1 (SYSV), dynamically linked, >>> BuildID[sha1]=7fa8f7cb66ef21beab52258eeba682910073ad4c, stripped >>> /usr/local/lib/qt5/libQt5WebEngineCore.so.5.15.18: ELF 64-bit LSB shared >>> object, ARM aarch64, version 1 (SYSV), dynamically linked, >>> BuildID[sha1]=9fbd42a76a98b569f691f96e85cb5dad1fc5ca81, stripped >>> >>> Use of SYSV (with or without FreeBSD) >>> # file /usr/local/lib/qt5/*.so* | grep SYSV >>> /usr/local/lib/qt5/libQt5Pdf.so.5.15.18: ELF 64-bit LSB shared >>> object, ARM aarch64, version 1 (SYSV), dynamically linked, >>> BuildID[sha1]=7fa8f7cb66ef21beab52258eeba682910073ad4c, stripped >>> /usr/local/lib/qt5/libQt5PdfWidgets.so.5.15.18: ELF 64-bit LSB shared >>> object, ARM aarch64, version 1 (SYSV), dynamically linked, for FreeBSD >>> 14.2, stripped >>> /usr/local/lib/qt5/libQt5WebEngine.so.5.15.18: ELF 64-bit LSB shared >>> object, ARM aarch64, version 1 (SYSV), dynamically linked, for FreeBSD >>> 14.2, stripped >>> /usr/local/lib/qt5/libQt5WebEngineCore.so.5.15.18: ELF 64-bit LSB shared >>> object, ARM aarch64, version 1 (SYSV), dynamically linked, >>> BuildID[sha1]=9fbd42a76a98b569f691f96e85cb5dad1fc5ca81, stripped >>> /usr/local/lib/qt5/libQt5WebEngineWidgets.so.5.15.18: ELF 64-bit LSB shared >>> object, ARM aarch64, version 1 (SYSV), dynamically linked, for FreeBSD >>> 14.2, stripped >>> >>> (I am not sure of the status for the combination >>> "(SYSV)" with "for FreeBSD 14.2".) >> This can be worked around using the brandelf(1) tool on the installed >> library. May be worth adding as a post-install step? > > Why are they being transformed into something like Linux binaries? > I compared the qt5-webengine-5.15.18p7_1.log of ampere3/142arm64-default and > beefy22/142amd64-default after running them through sort -u. > > --- /tmp/qt5-webengine-5.15.18p7_1-amd64.log.txt 2025-05-30 > 20:39:51.995515000 +0000 > +++ /tmp/qt5-webengine-5.15.18p7_1-arm64.log.txt 2025-05-30 > 20:39:30.192763000 +0000 > . . . > > > Is there something that causes a binary difference in such variations? I'm going to avoid repeating the long lines. The 3 "-c++" command lines for targeting: -o libQt5PdfWidgets.so.5.15.18 -o libQt5WebEngine.so.5.15.18 -o libQt5WebEngineWidgets.so.5.15.18 contain the text: -Wl,-Bsymbolic-functions The 3 "+c++" lines do not containing that text. Otherwise the -/+ lines match from what I've seen. However: # file /usr/local/lib/qt5/libQt5WebEngineWidgets.so.5.15.18 /usr/local/lib/qt5/libQt5WebEngineWidgets.so.5.15.18: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, for FreeBSD 15.0 (1500040), stripped so only 2 of the 3 ended up odd. So -Wl,-Bsymbolic-functions is not likely to be the cause here. One thing of note is that while 142arm64-default fails "pkg add" for multiple-media/openshot's build-depends, main-arm64-default builds multiple-media/openshot just fine. That suggests that the difference between: 142arm64-default (134arm64-default would also be 18.* based, as I understand): # c++ -v FreeBSD clang version 18.1.6 (https://github.com/llvm/llvm-project.git llvmorg-18.1.6-0-g1118c2e05e67) Target: aarch64-unknown-freebsd14.2 Thread model: posix InstalledDir: /usr/bin (clang 18.*) vs. (clang 19.*) main-arm64-default: # c++ -v FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2) Target: aarch64-unknown-freebsd15.0 Thread model: posix InstalledDir: /usr/bin Build config: +assertions is contributing. It is the same ports tree, up to detailed timing of when the ports are checked out for main-arm64 (ampere2) vs. for *arm64-default (ampere3). I'll note that: https://cgit.freebsd.org/src/log/contrib/llvm-project?h=releng/14.3/ shows that releng/14.3 will have 19.1.7 instead of an 18.* . Similarly, releng/13.5 has 19.1.7 already. Side note for armv7: main-armv7-default (for example) fails to even build qt5-webengine for distinct issues: ../../../../kde-qtwebengine-5.15.18p7/src/3rdparty/chromium/base/third_party/double_conversion/double-conversion/bignum-dtoa.cc:28:10: fatal error: 'cmath' file not found 28 | #include <cmath> | ^~~~~~~ 1 error generated. . . . ../../../../kde-qtwebengine-5.15.18p7/src/3rdparty/chromium/base/third_party/double_conversion/double-conversion/bignum.cc:28:10: fatal error: 'algorithm' file not found 28 | #include <algorithm> | ^~~~~~~~~~~ 1 error generated. === Mark Millard marklmi at yahoo.com
