Compiling LuaJit 2 for Android on mac. Assembler errors : lj_vm.s:5: Error: unknown pseudo-op: `.private_extern'

StackOverflow https://stackoverflow.com/questions/12415810

سؤال

Please advise about building android LuaJit on mac or tips on resolving pseudo-op: '.private_extern' assembler errors in general.

I am on Mac and following instruction to complie LuaJit2 in doc/install or http://luajit.org/install.html#android :

The only change I made is to change linux-x86 to darwin-x86 to get NDK cross-compiler. I also added TARGET_SYS=Linux (I tried with and without) per installation notes: “Whenever the host OS and the target OS differ, you need to specify TARGET_SYS or you'll get assembler or linker errors…”

So my build script looks like this:

NDK=$ANDROID_NDK
NDKABI=8
NDKVER=$NDK/toolchains/arm-linux-androideabi-4.4.3
NDKP=$NDKVER/prebuilt/darwin-x86/bin/arm-linux-androideabi-
NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-arm"

make HOST_CC="gcc -m32" CROSS=$NDKP TARGET_SYS=Linux TARGET_FLAGS="$NDKF"

My $ANDROID_NDK points to r8b NDK. But I also tried r8 and r7, and I tried gcc 4.6 with r8b. In all cases I get similar errors.

==== Building LuaJIT 2.0.0-beta9 ====
make -C src
ASM       lj_vm.o
lj_vm.s: Assembler messages:
lj_vm.s:5: Error: unknown pseudo-op: `.private_extern'
lj_vm.s:8: Error: unknown pseudo-op: `.private_extern'
lj_vm.s:25: Error: unknown pseudo-op: `.private_extern'

…
هل كانت مفيدة؟

المحلول 2

I was able to build LuaJIT 2.0.0-beta10 with no problems. The problem posted was when building beta9 or lower: looks like they patched whatever issue it was.

نصائح أخرى

I'm not sure but I think when you tried to build first time without TARGET_SYS=Linux you forgot clean *.o files in src/host directory after unsuccessful build.

For this reason you have seen a lot of errors like: Error: unknown pseudo-op: '.private_extern'

To clean all generated and builded files run make clean

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top