[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

-- 
Daniel Kochmański | Poznań, Poland ;; aka jackdaniel
www.turtleware.eu

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



More information about the ecl-devel mailing list