build issues os x 10.6.8 ecl 16.1.2
Daniel Kochmański
daniel at turtleware.eu
Tue May 24 19:10:54 UTC 2016
Hey Chris,
sorry for a late answer, I'm a bit busy lately. Could you check if has
some valuable info? I think i that last comment here:
https://gitlab.com/embeddable-common-lisp/ecl/issues/227
should help. NM is hardwired for some reason, I still need to check why,
but it breaks something.
Best regards,
Daniel
Chris Gorman writes:
> Hello Daniel,
>
> I tried to build from the git repository, but the issues still remain.
>
> Issue 1) cannot use ABI=32, CFLAGS="-m32" and LDFLAGS="-m32" when building ecl for the host machine. I suspect the C compiler as configured cannot make anything but X86_64 binaries? (Os x 10.5 was 32 bit and 10.6 is 64.) From the configure
>
> ./configure ABI=32 CFLAGS="-m32 -g -O2" LDFLAGS="-m32 -g -O2" --prefix=`pwd`/ecl-android-host --disable-longdouble --enable-libatomic=included
> Switching to directory `build' to continue configuration.
> checking build system type... x86_64-apple-darwin10.8.0
> checking host system type... x86_64-apple-darwin10.8.0
>
> This build dies on win32.S as below. Removing the switches allows the ecl host binary to be built.
>
> Issue 2) ecl cross compiled, as below, does not build at all. The configure dies trying to guess how to define a 32 bit word. If I don't use the cross compiler, I can get the apple gcc to build it IIRC, but that defeats the purpose.
>
> checking for assembler .type directive... .type $1,#$2
> checking for assembler .size directive... .size $1,$2
> checking for assembler local label prefix... L
> checking for assembler byte directive... .byte
> checking how to define a 32-bit word... configure: error: cannot determine how to define a 32-bit word
> configure: error: Failed to configure the GMP library.
>
> Thanks for your time, if you have any insights, please let me know.
>
> On 2016-05-23, at 1:31 AM, ecl-devel-request at common-lisp.net wrote:
>
>> Send ecl-devel mailing list submissions to
>> ecl-devel at common-lisp.net
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>> https://mailman.common-lisp.net/listinfo/ecl-devel
>> or, via email, send a message with subject or body 'help' to
>> ecl-devel-request at common-lisp.net
>>
>> You can reach the person managing the list at
>> ecl-devel-owner at common-lisp.net
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of ecl-devel digest..."
>>
>>
>> Today's Topics:
>>
>> 1. build issues os x 10.6.8 ecl 16.1.2 (Chris Gorman)
>> 2. Re: build issues os x 10.6.8 ecl 16.1.2 (Daniel Kochma?ski)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Sun, 22 May 2016 19:23:02 -0400
>> From: Chris Gorman <chrisgorman at bell.net>
>> To: ecl-devel at common-lisp.net
>> Subject: build issues os x 10.6.8 ecl 16.1.2
>> Message-ID: <F1E10CAE-4923-44E7-91AF-7BF8D9329F28 at bell.net>
>> Content-Type: text/plain; charset=us-ascii
>>
>> Hello All,
>>
>> I'm new to ecl and am just hacking around with my end goal being a port of maxima, which runs on lisp, to an android device.
>>
>> I've been informed of the need to build ecl with the apple gcc, and have turned off macports gcc, thanks for the tip.
>>
>> To build the host version of ecl we pass -m32 to CFLAGS and LDFLAGS as well as setting the environment variable ABI=32. This causes my build to fail on win32.S, and my assembly is too poor to debug this. The output from the build follows.
>>
>> /bin/sh ./libtool --mode=compile gcc -fPIC -fno-common -DHAVE_CONFIG_H -I. -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi -I. -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/include -Iinclude -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/src -I. -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/include -Iinclude -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/src -m32 -g -O2 -fPIC -fno-common -D_THREAD_SAFE -MT src/x86/win32.lo -MD -MP -MF $depbase.Tpo -c -o src/x86/win32.lo /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S &&\
>> mv -f $depbase.Tpo $depbase.Plo
>> libtool: compile: gcc -fPIC -fno-common -DHAVE_CONFIG_H -I. -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi -I. -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/include -Iinclude -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/src -I. -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/include -Iinclude -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/src -m32 -g -O2 -fPIC -fno-common -D_THREAD_SAFE -MT src/x86/win32.lo -MD -MP -MF src/x86/.deps/win32.Tpo -c /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S -o src/x86/win32.o
>> /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S:1325:section difference relocatable subtraction expression, ".LFE5" minus ".LFB5" using a symbol at the end of section will not produce an assembly time constant
>> /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S:1325:use a symbol with a constant value created with an assignment instead of the expression, L_const_sym = .LFE5 - .LFB5
>> /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S:1317:section difference relocatable subtraction expression, ".LEFDE5" minus ".LASFDE5" using a symbol at the end of section will not produce an assembly time constant
>> /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S:1317:use a symbol with a constant value created with an assignment instead of the expression, L_const_sym = .LEFDE5 - .LASFDE5
>> /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S:unknown:missing indirect symbols for section (__IMPORT,__jump_table)
>> make[3]: *** [src/x86/win32.lo] Error 1
>> make[2]: *** [install-recursive] Error 1
>> make[1]: *** [libeclffi.a] Error 2
>> make: *** [all] Error 2
>>
>> If I change the build command and remove the 32 bit switches and environment settings, the build will succeed.
>>
>> I then tried cross compile the android binaries following the instructions in INSTALL. I can only get the configure script to run half way. It dies as...
>>
>> ./configure --host=arm-linux-androideabi --prefix=`pwd`/ecl-android --with-cross-config=`pwd`/src/util/android.cross_config --disable-soname
>> Switching to directory `build' to continue configuration.
>> checking build system type... i386-apple-darwin10.8.0
>> checking host system type... arm-unknown-linux-androideabi
>> checking for arm-linux-androideabi-gcc... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc
>> checking whether the C compiler works... yes
>> checking for C compiler default output file name... a.out
>> checking for suffix of executables...
>> checking whether we are cross compiling... yes
>> checking for suffix of object files... o
>> checking whether we are using the GNU C compiler... yes
>> checking whether /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc accepts -g... yes
>> checking for /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc option to accept ISO C89... none needed
>> checking whether we are using the GNU C++ compiler... yes
>> checking whether /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ accepts -g... yes
>> checking how to run the C preprocessor... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -E
>> checking for arm-linux-androideabi-ranlib... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-ranlib
>> checking for a BSD-compatible install... /usr/bin/install -c
>> checking whether ln -s works... yes
>> checking whether make sets $(MAKE)... yes
>> checking for arm-linux-androideabi-ranlib... (cached) /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-ranlib
>> checking for arm-linux-androideabi-ar... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-ar
>> checking for etags... etags
>> checking for ld flags when building shared libraries... -shared
>> checking for required libraries... -ldl
>> checking for architecture... ARM
>> checking for software type... android /
>> checking for __thread local data... yes
>> checking for install-info... /opt/local/bin/install-info
>> checking for __gmpz_init in -lgmp... no
>> configure: Configuring included GMP library:
>> configure: WARNING: you should use --build, --host, --target
>> checking build system type... i386-apple-darwin10.8.0
>> checking host system type... arm-unknown-linux-androideabi
>> checking for a BSD-compatible install... /usr/bin/install -c
>> checking whether build environment is sane... yes
>> checking for arm-linux-androideabi-strip... arm-linux-androideabi-strip
>> checking for a thread-safe mkdir -p... /Users/chrisgorman/src/ecl-16.1.2/src/gmp/install-sh -c -d
>> checking for gawk... gawk
>> checking whether make sets $(MAKE)... yes
>> checking whether make supports nested variables... yes
>> checking whether to enable maintainer-specific portions of Makefiles... no
>> checking ABI=standard
>> checking whether /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC is gcc... yes
>> checking compiler /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DANDROID -DPLATFORM_ANDROID -DUSE_GET_STACKBASE_FOR_MAIN -DIGNORE_DYNAMIC_LOADING -DAO_REQUIRE_CAS -g -O2 -fPIC ... yes
>> checking whether ARM gcc unsigned division works... yes
>> checking for arm-linux-androideabi-gcc... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC
>> checking whether the C compiler works... yes
>> checking for C compiler default output file name... a.out
>> checking for suffix of executables...
>> checking whether we are cross compiling... yes
>> checking for suffix of object files... o
>> checking whether we are using the GNU C compiler... yes
>> checking whether /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC accepts -g... yes
>> checking for /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC option to accept ISO C89... none needed
>> checking whether /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC understands -c and -o together... yes
>> checking for /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC option to accept ISO C99... -std=gnu99
>> checking for /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99
>> checking how to run the C preprocessor... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 -E
>> checking build system compiler /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99... no
>> checking build system compiler /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DANDROID -DPLATFORM_ANDROID -DUSE_GET_STACKBASE_FOR_MAIN -DIGNORE_DYNAMIC_LOADING -DAO_REQUIRE_CAS -g -O2 -fPIC ... no
>> checking build system compiler cc... yes
>> checking for build system preprocessor... cc -E
>> checking for build system executable suffix...
>> checking for build system compiler math library... -lm
>> checking for grep that handles long lines and -e... /opt/local/bin/grep
>> checking for egrep... /opt/local/bin/grep -E
>> using ABI="standard"
>> CC="/Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99"
>> CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DANDROID -DPLATFORM_ANDROID -DUSE_GET_STACKBASE_FOR_MAIN -DIGNORE_DYNAMIC_LOADING -DAO_REQUIRE_CAS -g -O2 -fPIC"
>> CPPFLAGS=" "
>> MPN_PATH=" arm generic"
>> checking for arm-linux-androideabi-ar... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-ar
>> checking for BSD- or MS-compatible name lister (nm)... nm
>> checking the name lister (nm) interface... BSD nm
>> checking how to print strings... printf
>> checking for a sed that does not truncate output... /opt/local/bin/gsed
>> checking for fgrep... /opt/local/bin/grep -F
>> checking for ld used by /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99... /Users/chrisgorman/src/toolchain-r9d/arm-linux-androideabi/bin/ld
>> checking if the linker (/Users/chrisgorman/src/toolchain-r9d/arm-linux-androideabi/bin/ld) is GNU ld... yes
>> checking whether ln -s works... yes
>> checking the maximum length of command line arguments... 196608
>> checking how to convert i386-apple-darwin10.8.0 file names to arm-unknown-linux-androideabi format... func_convert_file_noop
>> checking how to convert i386-apple-darwin10.8.0 file names to toolchain format... func_convert_file_noop
>> checking for /Users/chrisgorman/src/toolchain-r9d/arm-linux-androideabi/bin/ld option to reload object files... -r
>> checking for arm-linux-androideabi-objdump... objdump
>> checking how to recognize dependent libraries... pass_all
>> checking for arm-linux-androideabi-dlltool... dlltool
>> checking how to associate runtime and link libraries... printf %s\n
>> checking for arm-linux-androideabi-ar... (cached) /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-ar
>> checking for archiver @FILE support... @
>> checking for arm-linux-androideabi-strip... (cached) arm-linux-androideabi-strip
>> checking for arm-linux-androideabi-ranlib... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-ranlib
>> checking command to parse nm output from /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 object... failed
>> checking for sysroot... no
>> checking for a working dd... /bin/dd
>> checking how to truncate binary pipes... /bin/dd bs=4096 count=1
>> checking for arm-linux-androideabi-mt... no
>> checking for mt... no
>> checking if : is a manifest tool... no
>> checking for ANSI C header files... yes
>> checking for sys/types.h... yes
>> checking for sys/stat.h... yes
>> checking for stdlib.h... yes
>> checking for string.h... yes
>> checking for memory.h... yes
>> checking for strings.h... yes
>> checking for inttypes.h... yes
>> checking for stdint.h... yes
>> checking for unistd.h... yes
>> checking for dlfcn.h... yes
>> checking for objdir... .libs
>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 supports -fno-rtti -fno-exceptions... no
>> checking for /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 option to produce PIC... -fPIC -DPIC
>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 PIC flag -fPIC -DPIC works... yes
>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 static flag -static works... yes
>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 supports -c -o file.o... yes
>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 supports -c -o file.o... (cached) yes
>> checking whether the /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 linker (/Users/chrisgorman/src/toolchain-r9d/arm-linux-androideabi/bin/ld) supports shared libraries... yes
>> checking dynamic linker characteristics... Android linker
>> checking how to hardcode library paths into programs... immediate
>> checking whether stripping libraries is possible... yes
>> checking if libtool supports shared libraries... yes
>> checking whether to build shared libraries... no
>> checking whether to build static libraries... yes
>> checking how to run the C++ preprocessor... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ -E
>> checking whether the /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ linker (/Users/chrisgorman/src/toolchain-r9d/arm-linux-androideabi/bin/ld) supports shared libraries... yes
>> checking for /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ option to produce PIC... -DPIC
>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ PIC flag -DPIC works... yes
>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ static flag works... yes
>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ supports -c -o file.o... yes
>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ supports -c -o file.o... (cached) yes
>> checking whether the /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ linker (/Users/chrisgorman/src/toolchain-r9d/arm-linux-androideabi/bin/ld) supports shared libraries... yes
>> checking dynamic linker characteristics... Android linker
>> checking how to hardcode library paths into programs... immediate
>> checking for ANSI C header files... (cached) yes
>> checking whether time.h and sys/time.h may both be included... yes
>> checking float.h usability... yes
>> checking float.h presence... yes
>> checking for float.h... yes
>> checking langinfo.h usability... no
>> checking langinfo.h presence... no
>> checking for langinfo.h... no
>> checking locale.h usability... yes
>> checking locale.h presence... yes
>> checking for locale.h... yes
>> checking nl_types.h usability... no
>> checking nl_types.h presence... no
>> checking for nl_types.h... no
>> checking whether ungetc is declared... yes
>> checking return type of signal handlers... void
>> checking for intmax_t... yes
>> checking for long double... yes
>> checking for long long... yes
>> checking for ptrdiff_t... yes
>> checking for quad_t... no
>> checking for uint_least32_t... yes
>> checking for preprocessor stringizing operator... yes
>> checking for working volatile... yes
>> checking whether <stdarg.h> exists and works... yes
>> checking whether gcc __attribute__ ((const)) works... yes
>> checking whether gcc __attribute__ ((malloc)) works... yes
>> checking whether gcc __attribute__ ((mode (XX))) works... yes
>> checking whether gcc __attribute__ ((noreturn)) works... yes
>> checking for inline... inline
>> checking for cos in -lm... yes
>> checking for working alloca.h... yes
>> checking for alloca (via gmp-impl.h)... yes
>> checking how to allocate temporary memory... alloca
>> checking whether byte ordering is bigendian... no
>> checking format of `double' floating point... IEEE little endian
>> checking for localeconv... no
>> checking for memset... yes
>> checking for nl_langinfo... no
>> checking for obstack_vprintf... no
>> checking for raise... yes
>> checking for strchr... yes
>> checking for strtol... yes
>> checking for suitable m4... m4
>> checking if m4wrap produces spurious output... no
>> checking how to switch to text section... .text
>> checking how to switch to data section... .data
>> checking for assembler label suffix... :
>> checking for assembler global directive... .globl
>> checking for assembler global directive attribute...
>> checking if globals are prefixed by underscore... unknown
>> configure: WARNING: +----------------------------------------------------------
>> configure: WARNING: | Cannot determine global symbol prefix.
>> configure: WARNING: | nm output doesn't contain a global data symbol.
>> configure: WARNING: | Will proceed with no underscore.
>> configure: WARNING: | If this is wrong then you'll get link errors referring
>> configure: WARNING: | to ___gmpn_add_n (note three underscores).
>> configure: WARNING: | In this case do a fresh build with an override,
>> configure: WARNING: | ./configure gmp_cv_asm_underscore=yes
>> configure: WARNING: +----------------------------------------------------------
>> checking how to switch to read-only data section... .section .rodata
>> checking for assembler .type directive... .type $1,#$2
>> checking for assembler .size directive... .size $1,$2
>> checking for assembler local label prefix... L
>> checking for assembler byte directive... .byte
>> checking how to define a 32-bit word... configure: error: cannot determine how to define a 32-bit word
>> configure: error: Failed to configure the GMP library.
>>
>> If anyone has clues as to how to get this to work on my old clunker, please let me know.
>>
>> Thanks
>>
>> Chris Gorman
>>
>>
>>
>>
>>
>> ------------------------------
>>
>> Message: 2
>> Date: Mon, 23 May 2016 07:30:48 +0200
>> From: Daniel Kochma?ski <daniel at turtleware.eu>
>> To: Chris Gorman <chrisgorman at bell.net>
>> Cc: ecl-devel at common-lisp.net
>> Subject: Re: build issues os x 10.6.8 ecl 16.1.2
>> Message-ID: <87k2ilcpdj.fsf at turtleware.eu>
>> Content-Type: text/plain; charset=utf-8
>>
>> Hey!
>>
>> regarding the "nm" problem, use ecl from the repository. This is already
>> fixed regression. If it still doesn't build, please let us know.
>>
>> Best regards,
>> Daniel
>>
>> Chris Gorman writes:
>>
>>> Hello All,
>>>
>>> I'm new to ecl and am just hacking around with my end goal being a port of maxima, which runs on lisp, to an android device.
>>>
>>> I've been informed of the need to build ecl with the apple gcc, and have turned off macports gcc, thanks for the tip.
>>>
>>> To build the host version of ecl we pass -m32 to CFLAGS and LDFLAGS as well as setting the environment variable ABI=32. This causes my build to fail on win32.S, and my assembly is too poor to debug this. The output from the build follows.
>>>
>>> /bin/sh ./libtool --mode=compile gcc -fPIC -fno-common -DHAVE_CONFIG_H -I. -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi -I. -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/include -Iinclude -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/src -I. -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/include -Iinclude -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/src -m32 -g -O2 -fPIC -fno-common -D_THREAD_SAFE -MT src/x86/win32.lo -MD -MP -MF $depbase.Tpo -c -o src/x86/win32.lo /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S &&\
>>> mv -f $depbase.Tpo $depbase.Plo
>>> libtool: compile: gcc -fPIC -fno-common -DHAVE_CONFIG_H -I. -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi -I. -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/include -Iinclude -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/src -I. -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/include -Iinclude -I/Users/chrisgorman/src/ecl-16.1.2/src/libffi/src -m32 -g -O2 -fPIC -fno-common -D_THREAD_SAFE -MT src/x86/win32.lo -MD -MP -MF src/x86/.deps/win32.Tpo -c /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S -o src/x86/win32.o
>>> /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S:1325:section difference relocatable subtraction expression, ".LFE5" minus ".LFB5" using a symbol at the end of section will not produce an assembly time constant
>>> /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S:1325:use a symbol with a constant value created with an assignment instead of the expression, L_const_sym = .LFE5 - .LFB5
>>> /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S:1317:section difference relocatable subtraction expression, ".LEFDE5" minus ".LASFDE5" using a symbol at the end of section will not produce an assembly time constant
>>> /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S:1317:use a symbol with a constant value created with an assignment instead of the expression, L_const_sym = .LEFDE5 - .LASFDE5
>>> /Users/chrisgorman/src/ecl-16.1.2/src/libffi/src/x86/win32.S:unknown:missing indirect symbols for section (__IMPORT,__jump_table)
>>> make[3]: *** [src/x86/win32.lo] Error 1
>>> make[2]: *** [install-recursive] Error 1
>>> make[1]: *** [libeclffi.a] Error 2
>>> make: *** [all] Error 2
>>>
>>> If I change the build command and remove the 32 bit switches and environment settings, the build will succeed.
>>>
>>> I then tried cross compile the android binaries following the instructions in INSTALL. I can only get the configure script to run half way. It dies as...
>>>
>>> ./configure --host=arm-linux-androideabi --prefix=`pwd`/ecl-android --with-cross-config=`pwd`/src/util/android.cross_config --disable-soname
>>> Switching to directory `build' to continue configuration.
>>> checking build system type... i386-apple-darwin10.8.0
>>> checking host system type... arm-unknown-linux-androideabi
>>> checking for arm-linux-androideabi-gcc... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc
>>> checking whether the C compiler works... yes
>>> checking for C compiler default output file name... a.out
>>> checking for suffix of executables...
>>> checking whether we are cross compiling... yes
>>> checking for suffix of object files... o
>>> checking whether we are using the GNU C compiler... yes
>>> checking whether /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc accepts -g... yes
>>> checking for /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc option to accept ISO C89... none needed
>>> checking whether we are using the GNU C++ compiler... yes
>>> checking whether /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ accepts -g... yes
>>> checking how to run the C preprocessor... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -E
>>> checking for arm-linux-androideabi-ranlib... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-ranlib
>>> checking for a BSD-compatible install... /usr/bin/install -c
>>> checking whether ln -s works... yes
>>> checking whether make sets $(MAKE)... yes
>>> checking for arm-linux-androideabi-ranlib... (cached) /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-ranlib
>>> checking for arm-linux-androideabi-ar... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-ar
>>> checking for etags... etags
>>> checking for ld flags when building shared libraries... -shared
>>> checking for required libraries... -ldl
>>> checking for architecture... ARM
>>> checking for software type... android /
>>> checking for __thread local data... yes
>>> checking for install-info... /opt/local/bin/install-info
>>> checking for __gmpz_init in -lgmp... no
>>> configure: Configuring included GMP library:
>>> configure: WARNING: you should use --build, --host, --target
>>> checking build system type... i386-apple-darwin10.8.0
>>> checking host system type... arm-unknown-linux-androideabi
>>> checking for a BSD-compatible install... /usr/bin/install -c
>>> checking whether build environment is sane... yes
>>> checking for arm-linux-androideabi-strip... arm-linux-androideabi-strip
>>> checking for a thread-safe mkdir -p... /Users/chrisgorman/src/ecl-16.1.2/src/gmp/install-sh -c -d
>>> checking for gawk... gawk
>>> checking whether make sets $(MAKE)... yes
>>> checking whether make supports nested variables... yes
>>> checking whether to enable maintainer-specific portions of Makefiles... no
>>> checking ABI=standard
>>> checking whether /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC is gcc... yes
>>> checking compiler /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DANDROID -DPLATFORM_ANDROID -DUSE_GET_STACKBASE_FOR_MAIN -DIGNORE_DYNAMIC_LOADING -DAO_REQUIRE_CAS -g -O2 -fPIC ... yes
>>> checking whether ARM gcc unsigned division works... yes
>>> checking for arm-linux-androideabi-gcc... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC
>>> checking whether the C compiler works... yes
>>> checking for C compiler default output file name... a.out
>>> checking for suffix of executables...
>>> checking whether we are cross compiling... yes
>>> checking for suffix of object files... o
>>> checking whether we are using the GNU C compiler... yes
>>> checking whether /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC accepts -g... yes
>>> checking for /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC option to accept ISO C89... none needed
>>> checking whether /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC understands -c and -o together... yes
>>> checking for /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC option to accept ISO C99... -std=gnu99
>>> checking for /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99
>>> checking how to run the C preprocessor... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 -E
>>> checking build system compiler /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99... no
>>> checking build system compiler /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DANDROID -DPLATFORM_ANDROID -DUSE_GET_STACKBASE_FOR_MAIN -DIGNORE_DYNAMIC_LOADING -DAO_REQUIRE_CAS -g -O2 -fPIC ... no
>>> checking build system compiler cc... yes
>>> checking for build system preprocessor... cc -E
>>> checking for build system executable suffix...
>>> checking for build system compiler math library... -lm
>>> checking for grep that handles long lines and -e... /opt/local/bin/grep
>>> checking for egrep... /opt/local/bin/grep -E
>>> using ABI="standard"
>>> CC="/Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99"
>>> CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DANDROID -DPLATFORM_ANDROID -DUSE_GET_STACKBASE_FOR_MAIN -DIGNORE_DYNAMIC_LOADING -DAO_REQUIRE_CAS -g -O2 -fPIC"
>>> CPPFLAGS=" "
>>> MPN_PATH=" arm generic"
>>> checking for arm-linux-androideabi-ar... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-ar
>>> checking for BSD- or MS-compatible name lister (nm)... nm
>>> checking the name lister (nm) interface... BSD nm
>>> checking how to print strings... printf
>>> checking for a sed that does not truncate output... /opt/local/bin/gsed
>>> checking for fgrep... /opt/local/bin/grep -F
>>> checking for ld used by /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99... /Users/chrisgorman/src/toolchain-r9d/arm-linux-androideabi/bin/ld
>>> checking if the linker (/Users/chrisgorman/src/toolchain-r9d/arm-linux-androideabi/bin/ld) is GNU ld... yes
>>> checking whether ln -s works... yes
>>> checking the maximum length of command line arguments... 196608
>>> checking how to convert i386-apple-darwin10.8.0 file names to arm-unknown-linux-androideabi format... func_convert_file_noop
>>> checking how to convert i386-apple-darwin10.8.0 file names to toolchain format... func_convert_file_noop
>>> checking for /Users/chrisgorman/src/toolchain-r9d/arm-linux-androideabi/bin/ld option to reload object files... -r
>>> checking for arm-linux-androideabi-objdump... objdump
>>> checking how to recognize dependent libraries... pass_all
>>> checking for arm-linux-androideabi-dlltool... dlltool
>>> checking how to associate runtime and link libraries... printf %s\n
>>> checking for arm-linux-androideabi-ar... (cached) /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-ar
>>> checking for archiver @FILE support... @
>>> checking for arm-linux-androideabi-strip... (cached) arm-linux-androideabi-strip
>>> checking for arm-linux-androideabi-ranlib... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-ranlib
>>> checking command to parse nm output from /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 object... failed
>>> checking for sysroot... no
>>> checking for a working dd... /bin/dd
>>> checking how to truncate binary pipes... /bin/dd bs=4096 count=1
>>> checking for arm-linux-androideabi-mt... no
>>> checking for mt... no
>>> checking if : is a manifest tool... no
>>> checking for ANSI C header files... yes
>>> checking for sys/types.h... yes
>>> checking for sys/stat.h... yes
>>> checking for stdlib.h... yes
>>> checking for string.h... yes
>>> checking for memory.h... yes
>>> checking for strings.h... yes
>>> checking for inttypes.h... yes
>>> checking for stdint.h... yes
>>> checking for unistd.h... yes
>>> checking for dlfcn.h... yes
>>> checking for objdir... .libs
>>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 supports -fno-rtti -fno-exceptions... no
>>> checking for /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 option to produce PIC... -fPIC -DPIC
>>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 PIC flag -fPIC -DPIC works... yes
>>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 static flag -static works... yes
>>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 supports -c -o file.o... yes
>>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 supports -c -o file.o... (cached) yes
>>> checking whether the /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-gcc -fPIC -std=gnu99 linker (/Users/chrisgorman/src/toolchain-r9d/arm-linux-androideabi/bin/ld) supports shared libraries... yes
>>> checking dynamic linker characteristics... Android linker
>>> checking how to hardcode library paths into programs... immediate
>>> checking whether stripping libraries is possible... yes
>>> checking if libtool supports shared libraries... yes
>>> checking whether to build shared libraries... no
>>> checking whether to build static libraries... yes
>>> checking how to run the C++ preprocessor... /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ -E
>>> checking whether the /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ linker (/Users/chrisgorman/src/toolchain-r9d/arm-linux-androideabi/bin/ld) supports shared libraries... yes
>>> checking for /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ option to produce PIC... -DPIC
>>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ PIC flag -DPIC works... yes
>>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ static flag works... yes
>>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ supports -c -o file.o... yes
>>> checking if /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ supports -c -o file.o... (cached) yes
>>> checking whether the /Users/chrisgorman/src/toolchain-r9d/bin/arm-linux-androideabi-g++ linker (/Users/chrisgorman/src/toolchain-r9d/arm-linux-androideabi/bin/ld) supports shared libraries... yes
>>> checking dynamic linker characteristics... Android linker
>>> checking how to hardcode library paths into programs... immediate
>>> checking for ANSI C header files... (cached) yes
>>> checking whether time.h and sys/time.h may both be included... yes
>>> checking float.h usability... yes
>>> checking float.h presence... yes
>>> checking for float.h... yes
>>> checking langinfo.h usability... no
>>> checking langinfo.h presence... no
>>> checking for langinfo.h... no
>>> checking locale.h usability... yes
>>> checking locale.h presence... yes
>>> checking for locale.h... yes
>>> checking nl_types.h usability... no
>>> checking nl_types.h presence... no
>>> checking for nl_types.h... no
>>> checking whether ungetc is declared... yes
>>> checking return type of signal handlers... void
>>> checking for intmax_t... yes
>>> checking for long double... yes
>>> checking for long long... yes
>>> checking for ptrdiff_t... yes
>>> checking for quad_t... no
>>> checking for uint_least32_t... yes
>>> checking for preprocessor stringizing operator... yes
>>> checking for working volatile... yes
>>> checking whether <stdarg.h> exists and works... yes
>>> checking whether gcc __attribute__ ((const)) works... yes
>>> checking whether gcc __attribute__ ((malloc)) works... yes
>>> checking whether gcc __attribute__ ((mode (XX))) works... yes
>>> checking whether gcc __attribute__ ((noreturn)) works... yes
>>> checking for inline... inline
>>> checking for cos in -lm... yes
>>> checking for working alloca.h... yes
>>> checking for alloca (via gmp-impl.h)... yes
>>> checking how to allocate temporary memory... alloca
>>> checking whether byte ordering is bigendian... no
>>> checking format of `double' floating point... IEEE little endian
>>> checking for localeconv... no
>>> checking for memset... yes
>>> checking for nl_langinfo... no
>>> checking for obstack_vprintf... no
>>> checking for raise... yes
>>> checking for strchr... yes
>>> checking for strtol... yes
>>> checking for suitable m4... m4
>>> checking if m4wrap produces spurious output... no
>>> checking how to switch to text section... .text
>>> checking how to switch to data section... .data
>>> checking for assembler label suffix... :
>>> checking for assembler global directive... .globl
>>> checking for assembler global directive attribute...
>>> checking if globals are prefixed by underscore... unknown
>>> configure: WARNING: +----------------------------------------------------------
>>> configure: WARNING: | Cannot determine global symbol prefix.
>>> configure: WARNING: | nm output doesn't contain a global data symbol.
>>> configure: WARNING: | Will proceed with no underscore.
>>> configure: WARNING: | If this is wrong then you'll get link errors referring
>>> configure: WARNING: | to ___gmpn_add_n (note three underscores).
>>> configure: WARNING: | In this case do a fresh build with an override,
>>> configure: WARNING: | ./configure gmp_cv_asm_underscore=yes
>>> configure: WARNING: +----------------------------------------------------------
>>> checking how to switch to read-only data section... .section .rodata
>>> checking for assembler .type directive... .type $1,#$2
>>> checking for assembler .size directive... .size $1,$2
>>> checking for assembler local label prefix... L
>>> checking for assembler byte directive... .byte
>>> checking how to define a 32-bit word... configure: error: cannot determine how to define a 32-bit word
>>> configure: error: Failed to configure the GMP library.
>>>
>>> If anyone has clues as to how to get this to work on my old clunker, please let me know.
>>>
>>> Thanks
>>>
>>> Chris Gorman
>>
>>
>> --
>> Daniel Kochma?ski ;; aka jackdaniel | Pozna?, Poland
>> TurtleWare - Daniel Kochma?ski | www.turtleware.eu
>>
>> "Be the change that you wish to see in the world." - Mahatma Gandhi
>>
>>
>>
>> ------------------------------
>>
>> Subject: Digest Footer
>>
>> _______________________________________________
>> ecl-devel mailing list
>> ecl-devel at common-lisp.net
>> https://mailman.common-lisp.net/listinfo/ecl-devel
>>
>>
>> ------------------------------
>>
>> End of ecl-devel Digest, Vol 10, Issue 1
>> ****************************************
>>
--
Daniel Kochmański ;; aka jackdaniel | Poznań, Poland
TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
More information about the ecl-devel
mailing list