Closed Bug 676319 Opened 13 years ago Closed 13 years ago

Failure to link modutil with recent gold or ld with --no-add-needed

Categories

(Firefox Build System :: General, defect)

All
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 676455

People

(Reporter: glandium, Assigned: glandium)

Details

Failure looks like this:
/usr/bin/ccache /home/blassey/android-ndk-r6/toolchains/arm-linux-androideabi-4.6.1/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc -o /home/blassey/src/mozilla-central/objdir-droid-gcc4.6/nss/modutil -O2 -gdwarf-2 -std=gnu89 -I/home/blassey/android-ndk-r6/platforms/android-5/arch-arm/usr/include -I/home/blassey/android-ndk-r6/sources/cxx-stl/stlport/stlport  -Wall -W -Wno-unused -Wpointer-arith -Wdeclaration-after-statement -W -pedantic -Wno-long-long -mandroid -I/home/blassey/android-ndk-r6/platforms/android-5/arch-arm/usr/include -fno-short-enums -fno-exceptions -fno-strict-aliasing -march=armv7-a -mthumb -mfpu=vfp -mfloat-abi=softfp -ffunction-sections -fdata-sections -pipe  -DNDEBUG -DTRIMMED -g -Os -freorder-blocks -fno-reorder-functions -fomit-frame-pointer -DCHECK_FORK_GETPID -DRTLD_NOLOAD=0 -DANDROID_VERSION=5 -include /home/blassey/src/mozilla-central/objdir-droid-gcc4.6/security/manager/../../../security/manager/android_stub.h -DLINUX2_1  -Wall -Werror-implicit-function-declaration -Wno-switch -pipe -DLINUX -Dlinux -DHAVE_STRERROR -DXP_UNIX -DNSPR20 -UDEBUG -DNDEBUG -D_REENTRANT -DNSS_ENABLE_ECC -DNSS_DISABLE_DBM -DUSE_UTIL_DIRECTLY -I/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/include/nspr -I/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/include/nspr -I/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/public/sectools -I/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/private/sectools -I/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/public/seccmd -I/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/public/nss -I/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/public/dbm -I/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/private/seccmd -I/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/private/nss -I/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/private/dbm  /home/blassey/src/mozilla-central/objdir-droid-gcc4.6/nss/modutil.o /home/blassey/src/mozilla-central/objdir-droid-gcc4.6/nss/pk11.o /home/blassey/src/mozilla-central/objdir-droid-gcc4.6/nss/instsec.o /home/blassey/src/mozilla-central/objdir-droid-gcc4.6/nss/install.o /home/blassey/src/mozilla-central/objdir-droid-gcc4.6/nss/installparse.o /home/blassey/src/mozilla-central/objdir-droid-gcc4.6/nss/install-ds.o /home/blassey/src/mozilla-central/objdir-droid-gcc4.6/nss/lex.Pk11Install_yy.o -mandroid -L/home/blassey/android-ndk-r6/tmp/ndk-digit/build/install/sources/cxx-stl/stlport/libs/armeabi-v7a -L/home/blassey/android-ndk-r6/platforms/android-5/arch-arm/usr/lib -Wl,-rpath-link=/home/blassey/android-ndk-r6/platforms/android-5/arch-arm/usr/lib --sysroot=/home/blassey/android-ndk-r6/platforms/android-5/arch-arm -llog -Wl,--allow-shlib-undefined  -mthumb   -Wl,-rpath-link,/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/bin -Wl,-rpath-link,/usr/local/lib  -mandroid -L/home/blassey/android-ndk-r6/tmp/ndk-digit/build/install/sources/cxx-stl/stlport/libs/armeabi-v7a -L/home/blassey/android-ndk-r6/platforms/android-5/arch-arm/usr/lib -Wl,-rpath-link=/home/blassey/android-ndk-r6/platforms/android-5/arch-arm/usr/lib --sysroot=/home/blassey/android-ndk-r6/platforms/android-5/arch-arm -llog -Wl,--allow-shlib-undefined  -mthumb -Wl,--wrap=dlopen -Wl,--wrap=dlclose -Wl,--wrap=dlerror -Wl,--wrap=dlsym -Wl,--wrap=dladdr -Wl,--wrap -Wl,malloc -Wl,--wrap -Wl,calloc -Wl,--wrap -Wl,valloc -Wl,--wrap -Wl,free -Wl,--wrap -Wl,realloc -Wl,--wrap -Wl,memalign -Wl,--wrap -Wl,__builtin_new -Wl,--wrap -Wl,__builtin_vec_new -Wl,--wrap -Wl,__builtin_delete -Wl,--wrap -Wl,__builtin_vec_delete -Wl,--wrap -Wl,PR_Free -Wl,--wrap -Wl,PR_Malloc -Wl,--wrap -Wl,PR_Calloc -Wl,--wrap -Wl,PR_Realloc -Wl,--wrap -Wl,strdup -Wl,--wrap -Wl,strndup -Wl,--wrap -Wl,posix_memalign -L/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/lib -lmozalloc -lmozutils  /home/blassey/src/mozilla-central/objdir-droid-gcc4.6/security/manager/../../dist/lib/libjar.a /home/blassey/src/mozilla-central/objdir-droid-gcc4.6/security/manager/../../dist/lib/libsectool.a  -Wl,-rpath,'$ORIGIN/../lib' -L/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/security/manager/../../dist/lib -lssl3 -lsmime3 -lnss3 -L/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/security/manager/../../dist/lib -lnssutil3 -L/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/dist/lib -lplc4 -lplds4 -lnspr4 
jarfile.c:429: error: undefined reference to 'inflateInit2_'
jarfile.c:441: error: undefined reference to 'inflate'
jarfile.c:448: error: undefined reference to 'inflateEnd'
jarfile.c:342: error: undefined reference to 'inflateInit2_'
jarfile.c:379: error: undefined reference to 'inflate'
jarfile.c:398: error: undefined reference to 'inflateEnd'
collect2: ld returned 1 exit status
make[2]: *** [/home/blassey/src/mozilla-central/objdir-droid-gcc4.6/nss/modutil] Error 1

The problem is the missing -lz on the link line, which isn't a problem with the current toolchain because it allows indirect dependencies to be added to the list of dependencies of the linked binary. In this case, libmozutils.so which is on the command line (-lmozutils) depends on libz.so, so ld adds it. With --no-add-needed or with recent gold, it doesn't add it, leading to this error.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.