Diogo Franco | 7 Jul 12:13 2016
Picon
Gravatar

Printing a custom representation of hash table at the repl

Hello,

ecl does not specialize the print-object method on hash-tables:

> (find-method #'print-object '() '(hash-table t))
Debugger received error of type: SIMPLE-ERROR
There is no method on the generic function PRINT-OBJECT that agrees on qualifiers NIL and specializers (HASH-TABLE T)

After reading the hyperspec carefully, I think this is ok, it only requires it on standard-object and structure-object. However, i still thought that specializing on hash-table would work, but it doesn't:

>> (defmethod print-object ((obj hash-table) stream) (princ "its working" stream))
#<standard-method PRINT-OBJECT (#<The BUILT-IN-CLASS HASH-TABLE> #<The BUILT-IN-CLASS T>)>
>> (make-hash-table)
#<hash-table 000000000493ee40>

Shouldn't we still dispatch the call to this method? And if not, what's the best way in ecl to customize the printable representation of a hash-table?

I've tried:
> (set-pprint-dispatch 'hash-table (lambda (s obj) (princ "its working" s)))
NIL
> (make-hash-table)
its working

But this sometimes gives an error:
Debugger received error of type: SIMPLE-ERROR
Tried to modified a read-only pprint dispatch table: #<pprint-dispatch-table  0000000003375210>
Error flushed.

Thanks! 
Diogo Franco | 6 Jul 18:24 2016
Picon
Gravatar

Re: ecl-devel Digest, Vol 12, Issue 1

I did it right before loading the .fasb file. In my case, i'm building a monolithic fasl with all the dependencies in it, is this your use case as well?

On 6 July 2016 at 16:20, Alexander Artemenko <svetlyak.40wt <at> gmail.com> wrote:
Hi, Diogo!

I've tried to add (require :sb-bsd-sockets) but with no luck. In which place it should be added?

On Wed, Jul 6, 2016 at 4:20 PM, Diogo Franco <diogoalexfranco-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
Hello Alexander,


Daniel's suggestion of requiring :sb-bsd-sockets worked for me. I think this an ecl specific version of sb-bsd-sockets that works.

Best regards,
Diogo Franco

On 6 July 2016 at 13:00, <ecl-devel-request <at> common-lisp.net> wrote:
Send ecl-devel mailing list submissions to
        ecl-devel-F1HGIaG5STRyXAeb93iumQ@public.gmane.org

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-F1HGIaG5STRyXAeb93iumQ@public.gmane.org

You can reach the person managing the list at
        ecl-devel-owner-F1HGIaG5STRyXAeb93iumQ@public.gmane.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of ecl-devel digest..."


Today's Topics:

   1. Using Hunchentoot from a binary, compiled with ECL
      (Alexander Artemenko)


----------------------------------------------------------------------

Message: 1
Date: Tue, 5 Jul 2016 16:49:59 +0300
From: Alexander Artemenko <svetlyak.40wt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: ecl-devel <at> common-lisp.net
Subject: Using Hunchentoot from a binary, compiled with ECL
Message-ID:
        <CA+GmUUJsHW0fao=Pz-BBL1o1s4gSKoVESDhgkJ5+jZTzQusTnQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Content-Type: text/plain; charset="utf-8"

Hello, everybody!

I continue to test ECL and wanted to create a small webservice, compiled
into a binary.

But I discovered, that my binary fails with this error:

Condition of type: SIMPLE-ERROR
Package ((SB-BSD-SOCKETS . #<SB-BSD-SOCKETS package>)) referenced in
compiled file
  NIL
but has not been created
Available restarts:

1. (IGNORE) Ignore the error, and try the operation again

This error is similar to cffi and uiop problem, I wrote recently (
https://mailman.common-lisp.net/pipermail/ecl-devel/2016-June/011119.html).

But a trick with making package immutable, like this
(asdf:register-immutable-system
"SB-BSD-SOCKETS") does not work now.

Tested on Ubuntu ECL 16.1.4 and OSX 16.1.2.

Full example is available in https://github.com/svetlyak40wt/test-ecl in
branch try-web-app. To build a binary, you need to issue ./bootstrap &&
./build commands, and after them, run ./test-ecl.

Why do I have this problem and how to fix it?

--
Alexander Artemenko (a.k.a. Svetlyak 40wt)
Blog: http://dev.svetlyak.ru
Photos: http://svetlyak.ru
Jabber: svetlyak.40wt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20160705/c8799bec/attachment-0001.html>

------------------------------

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 12, Issue 1
****************************************




--
Alexander Artemenko (a.k.a. Svetlyak 40wt)
Blog: http://dev.svetlyak.ru
Photos: http://svetlyak.ru
Jabber: svetlyak.40wt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org

Diogo Franco | 6 Jul 15:20 2016
Picon
Gravatar

Re: ecl-devel Digest, Vol 12, Issue 1

Hello Alexander,


Daniel's suggestion of requiring :sb-bsd-sockets worked for me. I think this an ecl specific version of sb-bsd-sockets that works.

Best regards,
Diogo Franco

On 6 July 2016 at 13:00, <ecl-devel-request-F1HGIaG5STRyXAeb93iumQ@public.gmane.org> wrote:
Send ecl-devel mailing list submissions to
        ecl-devel-F1HGIaG5STRyXAeb93iumQ@public.gmane.org

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-F1HGIaG5STRyXAeb93iumQ@public.gmane.org

You can reach the person managing the list at
        ecl-devel-owner-F1HGIaG5STRyXAeb93iumQ@public.gmane.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of ecl-devel digest..."


Today's Topics:

   1. Using Hunchentoot from a binary, compiled with ECL
      (Alexander Artemenko)


----------------------------------------------------------------------

Message: 1
Date: Tue, 5 Jul 2016 16:49:59 +0300
From: Alexander Artemenko <svetlyak.40wt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: ecl-devel-F1HGIaG5STRyXAeb93iumQ@public.gmane.org
Subject: Using Hunchentoot from a binary, compiled with ECL
Message-ID:
        <CA+GmUUJsHW0fao=Pz-BBL1o1s4gSKoVESDhgkJ5+jZTzQusTnQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Content-Type: text/plain; charset="utf-8"

Hello, everybody!

I continue to test ECL and wanted to create a small webservice, compiled
into a binary.

But I discovered, that my binary fails with this error:

Condition of type: SIMPLE-ERROR
Package ((SB-BSD-SOCKETS . #<SB-BSD-SOCKETS package>)) referenced in
compiled file
  NIL
but has not been created
Available restarts:

1. (IGNORE) Ignore the error, and try the operation again

This error is similar to cffi and uiop problem, I wrote recently (
https://mailman.common-lisp.net/pipermail/ecl-devel/2016-June/011119.html).

But a trick with making package immutable, like this
(asdf:register-immutable-system
"SB-BSD-SOCKETS") does not work now.

Tested on Ubuntu ECL 16.1.4 and OSX 16.1.2.

Full example is available in https://github.com/svetlyak40wt/test-ecl in
branch try-web-app. To build a binary, you need to issue ./bootstrap &&
./build commands, and after them, run ./test-ecl.

Why do I have this problem and how to fix it?

--
Alexander Artemenko (a.k.a. Svetlyak 40wt)
Blog: http://dev.svetlyak.ru
Photos: http://svetlyak.ru
Jabber: svetlyak.40wt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20160705/c8799bec/attachment-0001.html>

------------------------------

Subject: Digest Footer

_______________________________________________
ecl-devel mailing list
ecl-devel-F1HGIaG5STRyXAeb93iumQ@public.gmane.org
https://mailman.common-lisp.net/listinfo/ecl-devel


------------------------------

End of ecl-devel Digest, Vol 12, Issue 1
****************************************

Alexander Artemenko | 5 Jul 15:49 2016
Picon
Gravatar

Using Hunchentoot from a binary, compiled with ECL

Hello, everybody!

I continue to test ECL and wanted to create a small webservice, compiled into a binary.

But I discovered, that my binary fails with this error:

Condition of type: SIMPLE-ERROR
Package ((SB-BSD-SOCKETS . #<SB-BSD-SOCKETS package>)) referenced in compiled file
  NIL
but has not been created
Available restarts:

1. (IGNORE) Ignore the error, and try the operation again

This error is similar to cffi and uiop problem, I wrote recently (https://mailman.common-lisp.net/pipermail/ecl-devel/2016-June/011119.html).

But a trick with making package immutable, like this (asdf:register-immutable-system "SB-BSD-SOCKETS") does not work now.

Tested on Ubuntu ECL 16.1.4 and OSX 16.1.2.

Full example is available in https://github.com/svetlyak40wt/test-ecl in branch try-web-app. To build a binary, you need to issue ./bootstrap && ./build commands, and after them, run ./test-ecl.

Why do I have this problem and how to fix it?

--
Alexander Artemenko (a.k.a. Svetlyak 40wt)
Blog: http://dev.svetlyak.ru
Photos: http://svetlyak.ru
Jabber: svetlyak.40wt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Alexander Artemenko | 16 Jun 06:21 2016
Picon
Gravatar

Please, help me with cffi linkage

Hi, everybody!

Some time ago, I wrote about a problem when building a binary
with dependencies.

Yesterday I've created a repository with minimal example:


It demostrates, how a programm, compiled with ECL is
crashed because of it's dependency from CFFI. If you remove
dependency – everything go well.

Please, help me to resolve this issue.

--
Alexander Artemenko (a.k.a. Svetlyak 40wt)
Blog: http://dev.svetlyak.ru
Photos: http://svetlyak.ru
Jabber: svetlyak.40wt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Daniel Kochmański | 15 Jun 08:52 2016
Picon
Gravatar

[ecl quarterly volume 4]

Dear all,

finally I've assembled the next issue of ECL Quarterly.

https://common-lisp.net/project/ecl/posts/ECL-Quarterly-Volume-IV.html

Any feedback is very welcome :-)

Best regards,
Daniel

--

-- 
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

Anton Vodonosov | 10 Jun 02:51 2016
Picon

Android game developed on ECL - video

For those who didn't notice, here you can find several videos of an Android game develped on ECL:
https://www.youtube.com/channel/UCKfZ9JfFgg7cxa2hYfC5O0A/videos

Chris Gorman | 23 May 16:32 2016
Picon

Re: build issues os x 10.6.8 ecl 16.1.2

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@... wrote:

> Send ecl-devel mailing list submissions to
> 	ecl-devel@...
> 
> 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@...
> 
> You can reach the person managing the list at
> 	ecl-devel-owner@...
> 
> 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@...>
> To: ecl-devel@...
> Subject: build issues os x 10.6.8 ecl 16.1.2
> Message-ID: <F1E10CAE-4923-44E7-91AF-7BF8D9329F28@...>
> 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  <at> FILE support...  <at> 
> 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@...>
> To: Chris Gorman <chrisgorman@...>
> Cc: ecl-devel@...
> Subject: Re: build issues os x 10.6.8 ecl 16.1.2
> Message-ID: <87k2ilcpdj.fsf@...>
> 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  <at> FILE support...  <at> 
>> 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@...
> https://mailman.common-lisp.net/listinfo/ecl-devel
> 
> 
> ------------------------------
> 
> End of ecl-devel Digest, Vol 10, Issue 1
> ****************************************
> 

Chris Gorman | 23 May 01:23 2016
Picon

build issues os x 10.6.8 ecl 16.1.2

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  <at> FILE support...  <at> 
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 | 23 Apr 10:18 2016
Picon
Gravatar

[website][new look]

Dear all,

I've updated the website. It's now powered by coleslaw, has an RSS feed
and it's easier to post news. Please let me know what do you think about
it :-)

https://common-lisp.net/project/ecl

Best regards,
Daniel

PS. Sorry for doubleposting, my email configuration was messed up (not
sure if the first post reached the ml).

--

-- 
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

Enrique Gabriel Baquela | 15 Apr 16:38 2016
Picon

Problem installing ECL from sources in Fedora

Hi. I'm trying to install ECL 16.1.2 from source in Linux Fedora. I follow the steps indicated in https://common-lisp.net/project/ecl/manual/pr01s06.html :

gunzip -c ecl-16.1.2.tgz | tar xf -
$ cd ecl-16.1.2 $ ./configure --prefix=/usr/local
$ make
But the following error is generated:

cd /home/Descargas/ecl-16.1.2/src/../.git && ctags -o tags -R --langmap=c:+.d ../src || true
/bin/sh: línea 0: cd: /home/Descargas/ecl-16.1.2/src/../.git: No existe el fichero o el directorio
if test "xetags" != "x"; then \
srcfiles=`find /home/Descargas/ecl-16.1.2/src/c /home/Descargas/ecl-16.1.2/src/h -name '*.[chd]'` && \
etags --language=c    -o TAGS $srcfiles && \
etags --language=none -o TAGS --append \
      --regex='/ <at> \([-:*a-zA-z]+\)/\1/' \
      --regex='/ <at> (defun \([-:*a-zA-z]+\)/\1/' \
      $srcfiles; \
fi
touch TAGS

Note: No existe el fichero o el directorio = The file or directory doesn't exist.

Can anybody help me?



Gmane