[ecl-android v0.0.1]

Daniel Kochmański daniel at turtleware.eu
Tue Nov 10 07:05:08 UTC 2015

Pascal J. Bourguignon writes:

> Daniel Kochmański <daniel at turtleware.eu>
> writes:
>> Hey,
>> I've noticed in your scripts that you build without the dffi - please
>> try removing this option. It seems unrelated but who knows.
> Didn't help.
>> I can't reproduce your error unfortunately. I have however a suspicion
>> why libtool can't "see" the toolchain in the path.
>> src/bdwgc/libatomic_ops/configure:7972:LIBTOOL='$(SHELL) $(top_builddir)/libtool'
>> Probably the PATH variable gets "cleaned" when invoking the shell
>> command and libtool from libatomic_ops can't see the libtool.
>> Please try remove the invocation of libtool via /bin/sh
>> src/bdwgc/libatomic_ops/configure:7972:LIBTOOL='$(top_builddir)/libtool'
>> If it works for you please let me know so I'll fix it in the sourcecode.
> Doesn't help.
> But I notice an inconsistency in the libtool scripts generated. For
> example, ecl/build/libffi/libtool contains:
> NM="/home/pjb/opt/toolchains/android-arm-ndk-android-18/bin/arm-linux-androideabi-nm -B"
> OBJDUMP="arm-linux-androideabi-objdump"
> AR="arm-linux-androideabi-ar"
> STRIP="arm-linux-androideabi-strip"
> RANLIB="arm-linux-androideabi-ranlib"
> LTCC="arm-linux-androideabi-gcc -fPIC"
> striplib="arm-linux-androideabi-strip --strip-unneeded"
> LD="/home/pjb/opt/toolchains/android-arm-ndk-android-18/arm-linux-androideabi/bin/ld"
> CC="arm-linux-androideabi-gcc -fPIC"
> LD="/home/pjb/opt/toolchains/android-arm-ndk-android-18/arm-linux-androideabi/bin/ld"
> CC="arm-linux-androideabi-g++"
> So, sometimes, there's a full path to the cross compiler tools, and
> sometimes, there's just the file name.
> As bash scripts, they will load /etc/profile and ~/.bash_profile (or
> else ~/.bash_login or else ~/.profile) and $BASH_ENV; the later will
> usually set the PATH, overriding the environment.
> Since we configure the PATH when compiling (either in a script like my
> compile-toolchain.sh, or in an interactive shell), this environment
> variable will usually be overriden when bash scripts such as libtool are
> started.
> If I source my android.sh where the PATH is updated in my $BASH_ENV,
> then the compilation with the cross compiler proceeds successfully.
> [pjb at kuiper :0.0 android]$ file ~/opt/toolchains/android-arm-ecl/bin/ecl
> /home/pjb/opt/toolchains/android-arm-ecl/bin/ecl: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /system/bin/linker, not stripped
> I would therefore advice to either copy the environment PATH in those
> scripts, or only use absolute path for the cross compiler commands.

Thanks. I'll take a look on that when find some time. Grats :)


Daniel Kochmański | Poznań, Poland ;; aka jackdaniel

"Be the change that you wish to see in the world." - Mahatma Gandhi

More information about the ecl-devel mailing list