[oi-dev] Firefox build - Link problems

Carsten Grzemba grzemba at contac-dt.de
Tue Mar 9 08:35:44 UTC 2021


I attempt to build newer Firefox for OI, but my results alwas run in core dumps early on start or later on exit. One of them is demonstrated here.
Our current userland toolchain use gcc7, but with gcc7 I get an strange memory allocation error of g++, so I switched to gcc10. Here cores 'js' in libicu. libicu is build with gcc7:

$ pstack core | c++filt 
core 'core' of 2450: ./js
 0000000000000000 ???????? ()
 fffffbffee2b1408 icu_66::umtx_initImplPreInit(icu_66::UInitOnce&) () + 78
 fffffbffee2b195c u_init_66 () + 4c
 00000000008f2ac2 JS::detail::InitWithFailureDiagnostic(bool) () + 116
 0000000000763f8c main () + b7
 0000000000746a37 _start_crt () + 87
 0000000000746998 _start () + 18

here is shown libstdc++ of gcc7 and gcc10 is loaded: 
$ pldd core
core 'core' of 2496: ./js
/lib/amd64/libpthread.so.1
/lib/amd64/libsocket.so.1
/usr/lib/amd64/libffi.so.6.0.4
/usr/lib/amd64/libicui18n.so.66.1
/usr/lib/amd64/libicuuc.so.66.1
/usr/lib/amd64/libicudata.so.66.1
/usr/lib/mps/amd64/libplds4.so
/usr/lib/mps/amd64/libplc4.so
/usr/lib/mps/amd64/libnspr4.so
/lib/amd64/libdl.so.1
/lib/amd64/librt.so.1
/usr/lib/amd64/libz.so.1.2.11
/lib/amd64/libm.so.2
/lib/amd64/libnsl.so.1
/usr/gcc/10/lib/amd64/libstdc++.so.6.0.28
/usr/gcc/10/lib/amd64/libgcc_s.so.1
/lib/amd64/libc.so.1
/usr/gcc/7/lib/amd64/libstdc++.so.6.0.24
/usr/gcc/7/lib/amd64/libgcc_s.so.1

if I modify the rpath to load the gcc7 libs:
$ elfedit -e 'dyn:value -s RPATH "$ORIGIN:/usr/lib/mps/amd64:/usr/gcc/7/lib/amd64"' js
the 'js' binary runs without core and an 'pldd' shows the libs of gcc7 only are loaded.

$ pldd 2500
2500: ./js
/lib/amd64/libpthread.so.1
/lib/amd64/libsocket.so.1
/usr/lib/amd64/libffi.so.6.0.4
/usr/lib/amd64/libicui18n.so.66.1
/usr/lib/amd64/libicuuc.so.66.1
/usr/lib/amd64/libicudata.so.66.1
/usr/lib/mps/amd64/libplds4.so
/usr/lib/mps/amd64/libplc4.so
/usr/lib/mps/amd64/libnspr4.so
/lib/amd64/libdl.so.1
/lib/amd64/librt.so.1
/usr/lib/amd64/libz.so.1.2.11
/lib/amd64/libm.so.2
/lib/amd64/libnsl.so.1
/usr/gcc/7/lib/amd64/libstdc++.so.6.0.24
/usr/gcc/7/lib/amd64/libgcc_s.so.1
/lib/amd64/libc.so.1

But I thought nowadays the lib knows how to link the correct library, but here seems that libicu do not.
-- 
Carsten
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openindiana.org/pipermail/oi-dev/attachments/20210309/3f3e9367/attachment.html>


More information about the oi-dev mailing list