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

Reply via email to