build issues os x 10.6.8 ecl 16.1.2

Daniel Kochmański daniel at turtleware.eu
Mon May 23 05:30:48 UTC 2016


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



More information about the ecl-devel mailing list