gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] building gcl-2.6.8pre on Solaris x86 with gnu (blastwave) to


From: Bill Page
Subject: [Gcl-devel] building gcl-2.6.8pre on Solaris x86 with gnu (blastwave) toolchain
Date: Thu, 22 Mar 2007 01:11:21 -0400

Camm,

I am trying to build gcl-2.6.8pre on a Solaris 10.2 x86 machine.
I have the gnu toolchain installed from

http://www.blastwave.org  (unstable)

Blastwave provides a pkg-get which is like apt-get for Debian
and works with Solaris on both sparc and x86 hardware. It would
be real nice if gcl was packaged for Solaris pkg-get! :-) Maybe
I will try to get around to that later. But right now I have
problems building gcl on my Solaris x86 system.

./configure completes without error but I get the following
error when trying to build:

...

gcc -I/export/home0/wspage/gcl/o  -DVOL=volatile -fsigned-char -I../h
-I../gcl-tk -o ../bin/dpp ../bin/dpp.c
/var/tmp//ccgP9elS.o: In function `read_token':
dpp.c:(.text+0x21f): undefined reference to `isalphanum'
collect2: ld returned 1 exit status
make[1]: *** [../bin/dpp] Error 1
make[1]: Leaving directory `/export/home0/wspage/gcl/o'
make: *** [h/new_decl.h] Error 2
-------------

Looking at dpp.c it appears that I need at least the UNIX
symbol defined.

The configure log shows that gcl is trying to use solaris-i386
but the file 'h/solaris-i386.h' is empty in the gcl-2.6.8pre
source distribution although 'h/solaris-i386.defs is present.

So I tried:

 $ cp h/solaris.h h/solaris-i386.h

and patched it as follows:

-bash-3.00$ gdiff -au h/solaris.h h/solaris-i386.h
--- h/solaris.h 2007-03-22 00:11:40.755214000 -0400
+++ h/solaris-i386.h    2007-03-22 00:13:22.792338000 -0400
@@ -16,11 +16,10 @@
 #endif

 #define ADDITIONAL_FEATURES \
-                    ADD_FEATURE("SUN"); \
-                    ADD_FEATURE("SPARC")
+                    ADD_FEATURE("SUN")

-#define        SPARC
 #define SGC
+#define UNIX

 #define PTR_ALIGN 8

----------

Now the build proceeds much further but stops here:

gcc -I/export/home0/wspage/gcl/o  -DVOL=volatile -fsigned-char -c -c -I../h
-I../gcl-tk  -I../h -I../h -I../gcl-tk unixfsys.c
In file included from ../h/include.h:37,
                 from unixfsys.c:28:
../h/config.h:1:1: warning: "__ELF__" redefined
<built-in>:78:1: warning: this is the location of the previous definition
unixfsys.c:508: error: conflicting types for 'ctime_r'
/usr/include/time.h:299: error: previous declaration of 'ctime_r' was here
unixfsys.c:508: error: conflicting types for 'ctime_r'
/usr/include/time.h:299: error: previous declaration of 'ctime_r' was here
make[1]: *** [unixfsys.o] Error 1
make[1]: Leaving directory `/export/home0/wspage/gcl/o'
make: *** [unixport/saved_pre_gcl] Error 2
----------

Next because I was suspicious of the existing solaris-i386.defs
I tried 

 $ cp h/solaris.defs h/solaris-i386.defs

in addition to the above patch to 'h/solaris-i386.h'. This failed
the same way as above. So I commented out the following line in
'o/unixfsys.c'

/* extern char *ctime_r(const time_t *,char *); */

And re-started make. This time I nearly made it but failed with
the error "NULL_OR_ON_C_STACK macro invalid" when starting
raw_pre_gcl for the first time:

...

touch raw_pre_gcl_map
gcc -o raw_pre_gcl  \
                -L.  -Wl,-Map raw_pre_gcl_map   -lpre_gcl -lSM -lICE
-L/usr/openwin/lib -R/usr/openwin/lib -lXmu -lXt -lXext -lXaw -lX11 -lsocket
-lnsl   -lm  -lsocket -lnsl -lc -lgclp
cat init_pre_gcl.lsp.tmp | sed \
                -e "address@hidden@#(`cat ../majvers`.`cat ../minvers`)
`date`#1" \
                -e "address@hidden@#`cat ../minvers | cut -f2 -d.`#1" \
                -e "address@hidden@#`cat ../minvers | cut -f1 -d.`#1" \
                -e "address@hidden@#`cat ../majvers`#1" \
                -e "address@hidden@#\"gcc -c -I/usr/openwin/include -Wall
-DVOL=volatile -fsigned-char -pipe \"#1" \
                -e "address@hidden@#\"gcc -o \"#1" \
                -e "address@hidden@#\"   -lpre_gcl -lSM -lICE
-L/usr/openwin/lib -R/usr/openwin/lib -lXmu -lXt -lXext -lXaw -lX11 -lsocket
-lnsl   -lm  -lsocket -lnsl -lc -lgclp \"#1" \
                -e "address@hidden@#\"-O3 -fomit-frame-pointer\"#1" \
                -e "address@hidden@#\"-O\"#1" \
                -e "address@hidden@#\"init_pre_gcl.lsp\"#1"
>init_pre_gcl.lsp
cp init_pre_gcl.lsp foo
echo " (in-package \"USER\")(system:save-system \"saved_pre_gcl\")" >>foo
/export/home0/wspage/gcl/unixport/raw_pre_gcl
/export/home0/wspage/gcl/unixport/ -libdir /export/home0/wspage/gcl/ < foo
GCL (GNU Common Lisp)  April 1994  131072 pages

Unrecoverable error: NULL_OR_ON_C_STACK macro invalid.
/bin/bash: line 1: 27811 Abort                   (core dumped)
/export/home0/wspage/gcl/unixport/raw_pre_gcl
/export/home0/wspage/gcl/unixport/ -libdir /export/home0/wspage/gcl/ <foo
make[1]: *** [saved_pre_gcl] Error 134
rm raw_pre_gcl
make[1]: Leaving directory `/export/home0/wspage/gcl/unixport'
make: *** [unixport/saved_pre_gcl] Error 2

----------

Any ideas?

Is anyone else trying to build gcl on Solaris/x86?

Regards,
Bill Page.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]