Closed Bug 1413017 Opened 7 years ago Closed 7 years ago

unsupported ELF machine number 40 when building for android with ndk 15c

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox58 affected)

RESOLVED WORKSFORME
Tracking Status
firefox58 --- affected

People

(Reporter: jya, Unassigned)

References

(Blocks 1 open bug)

Details

using central at revision 7cdb8dbf47fd69c092c360dd86986390f173be09 with bug 1412677 cherry-picked.

 0:03.28 Executing: /home/jyavenard/.mozbuild/android-ndk-r15c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -std=gnu++11 --target=arm-linux-androideabi -o gdb-tests -Qunused-arguments -isystem /home/jyavenard/.mozbuild/android-ndk-r15c/platforms/android-9/arch-arm/usr/include -gcc-toolchain /home/jyavenard/.mozbuild/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -Qunused-arguments -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wloop-analysis -Wc++11-compat-pedantic -Wc++14-compat -Wc++14-compat-pedantic -Wc++1z-compat -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wformat -Wno-gnu-zero-variadic-macro-arguments -Wformat-security -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-short-enums -fno-exceptions -I/home/jyavenard/.mozbuild/android-ndk-r15c/sources/cxx-stl/llvm-libc++/include -I/home/jyavenard/.mozbuild/android-ndk-r15c/sources/android/support/include -I/home/jyavenard/.mozbuild/android-ndk-r15c/sources/cxx-stl/llvm-libc++abi/include -march=armv7-a -mthumb -mfpu=vfp -mfloat-abi=softfp -mno-unaligned-access -fno-rtti -fno-exceptions -fno-math-errno -pipe -g -O3 -funwind-tables /home/jyavenard/Work/Mozilla/obj-ffandroid-dbg/js/src/gdb/tmpKqk89_.list -L/home/jyavenard/.mozbuild/android-ndk-r15c/platforms/android-9/arch-arm/usr/lib -Wl,-rpath-link=/home/jyavenard/.mozbuild/android-ndk-r15c/platforms/android-9/arch-arm/usr/lib --sysroot=/home/jyavenard/.mozbuild/android-ndk-r15c/platforms/android-9/arch-arm -Wl,--allow-shlib-undefined -gcc-toolchain /home/jyavenard/.mozbuild/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -mthumb -Wl,-z,noexecstack -Wl,-z,text -Wl,-z,relro -Wl,--build-id -B ../build/unix/gold -Wl,-rpath-link,/home/jyavenard/Work/Mozilla/obj-ffandroid-dbg/dist/bin -Wl,-rpath-link,/home/jyavenard/Work/Mozilla/obj-ffandroid-dbg/dist/lib -fcolor-diagnostics ../build/libjs_static.a ../../../mozglue/build/libmozglue.so ../../../security/libnss3.so -lm -lm -ldl -L/home/jyavenard/.mozbuild/android-ndk-r15c/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a -lc++_static -lc++abi -lunwind -landroid_support -llog
 0:03.28 /home/jyavenard/Work/Mozilla/obj-ffandroid-dbg/js/src/gdb/tmpKqk89_.list:
 0:03.28     INPUT("Unified_cpp_js_src_gdb0.o")
 0:03.28     INPUT("../../../config/external/icu/data/icudata_gas.o")
 0:03.28 
 0:03.28 ../build/unix/gold/ld: fatal error: /home/jyavenard/.mozbuild/android-ndk-r15c/platforms/android-9/arch-arm/usr/lib/../lib/crtbegin_dynamic.o: unsupported ELF machine number 40
 0:03.28 clang++: error: linker command failed with exit code 1 (use -v to see invocation)
 0:03.28 /home/jyavenard/Work/Mozilla/mozilla-central/config/rules.mk:577: recipe for target 'gdb-tests' failed
 0:03.28 make[5]: *** [gdb-tests] Error 1
 0:03.29 /home/jyavenard/Work/Mozilla/mozilla-central/config/recurse.mk:73: recipe for target 'js/src/gdb/target' failed
 0:03.29 make[4]: *** [js/src/gdb/target] Error 2
 0:03.29 make[4]: *** Waiting for unfinished jobs....

.mozconfig contains:
# Build Firefox for Android:
ac_add_options --enable-application=mobile/android
ac_add_options --target=arm-linux-androideabi

# With the following Android SDK and NDK:
ac_add_options --with-android-sdk="/home/jyavenard/.mozbuild/android-sdk-linux"
ac_add_options --with-android-ndk="/home/jyavenard/.mozbuild/android-ndk-r15c"

Occurs after clobber.
Using Ubuntu 17.10
this should have been fixed with bug 1412734.

it didn't for me
ok..

./mach clobber wasn't sufficient.

after clobber there was still:
$ ls -l ../obj-ffandroid-dbg/.mozbuild/
build_resources.json  last_log.json         warnings.jso

After deleting OBJDIR it compiles fine...
(In reply to Jean-Yves Avenard [:jya] from comment #3)
> ok..
> 
> ./mach clobber wasn't sufficient.
> 
> after clobber there was still:
> $ ls -l ../obj-ffandroid-dbg/.mozbuild/
> build_resources.json  last_log.json         warnings.jso
> 
> After deleting OBJDIR it compiles fine...

This doesn't make much sense to me; I can't see what effect those files would have on what sort of linker detection we were doing...gps, is there some reason that these files can't live at the toplevel, or at least in a place where the clobberer would remove them by default?
Flags: needinfo?(gps)
I doesn't make much sense to me either...
I had run multiple ./mach clobber , deleting the gold directory and so forth and compilation always failed in the same manner.

Only after deleted $OBJDIR that it did compile..

very puzzling
`mach clobber` retains .mozbuild and msvc directories. It is possible some file in .mozbuild is interfering somehow.
Blocks: clobber
Flags: needinfo?(gps)
can no longer reproduce...
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.