[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-users] 64-bit SPARC build - Re: [4.7.0.3-st] Compiling on Solar
From: |
Toby Thain |
Subject: |
[Chicken-users] 64-bit SPARC build - Re: [4.7.0.3-st] Compiling on Solaris 10 |
Date: |
Thu, 10 Nov 2011 07:40:40 -0500 |
User-agent: |
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.4; en-US; rv:1.9.2.23) Gecko/20110920 Thunderbird/3.1.15 |
On 09/11/11 6:48 AM, Nicolas Pelletier wrote:
Hello Chickeners,
today I tried to compile the latest stable Chicken, 4.7.0.3-st on
Solaris 10 (sparc), only to find out the the build fails: I used
gmake PLATFORM=SunOS PREFIX=$HOME
As invited my mario-goulart, I tried this on a fairly old *64 bit* system.
Solaris 10 6/06 s10s_u2wos_09a SPARC
1) As a side note, this promise doesn't seem to be kept:
Enter "make" without any options to see a list of supported
platforms.
-bash-3.00$ uname -a
SunOS e450 5.10 Generic_118833-17 sun4u sparc SUNW,Ultra-4
-bash-3.00$ gmake
GNUmakefile:42: *** No PLATFORM given.. Stop.
2) GNU make 3.82 is required. Version 3.80 did not work for me:
-bash-3.00$ gmake PLATFORM=solaris PREFIX=$HOME/chicken
gmake -f ./Makefile.solaris CONFIG= all
gmake[1]: Entering directory `/pool/home/toby/chicken/chicken-4.7.0.3-st'
rules.make:113: *** missing separator. Stop.
gmake[1]: Leaving directory `/pool/home/toby/chicken/chicken-4.7.0.3-st'
gmake: *** [all] Error 2
-bash-3.00$ gmake --version
GNU Make 3.80
(I installed make-3.82 from Sun Freeware:
http://sunfreeware.com/indexsparc10.html )
3) It's really sad to see 25% CPU utilisation on this quad-CPU system
throughout the long build. Is the parallel make patch coming? :)
4) However, in the end, the build failed:
gcc -L. chicken.o batch-driver.o compiler.o optimizer.o
compiler-syntax.o scrutinizer.o unboxing.o support.o c-platform.o
c-backend.o -o chicken \
-lchicken -Wl,-R"." -lsocket -lnsl -lm -ldl
Undefined first referenced
symbol in file
nanosleep ./libchicken.so
ld: fatal: Symbol referencing errors. No output written to chicken
collect2: ld returned 1 exit status
make[1]: *** [chicken] Error 1
make[1]: Leaving directory `/pool/home/toby/chicken/chicken-4.7.0.3-st'
make: *** [all] Error 2
real 34m18.395s
The fix is to add -lrt to this line in Makefile.solaris:
LIBRARIES = -lsocket -lnsl -lm -ldl -lrt
& after another five minutes building, we're done.
5) Odd problem in 'make check'
$ time make PLATFORM=solaris check
make -f ./Makefile.solaris CONFIG= check
make[1]: Entering directory `/pool/home/toby/chicken/chicken-4.7.0.3-st'
cd tests; sh runtests.sh
runtests.sh:
DYLD_LIBRARY_PATH=/pool/home/toby/chicken/chicken-4.7.0.3-st/tests/..:
is not an identifier
make[1]: *** [check] Error 1
make[1]: Leaving directory `/pool/home/toby/chicken/chicken-4.7.0.3-st'
make: *** [check] Error 2
However, we do appear to have a good build:
$ rlwrap ./csi
CHICKEN
(c)2008-2011 The Chicken Team
(c)2000-2007 Felix L. Winkelmann
Version 4.7.0.3-st
solaris-unix-gnu-sparc [ dload ptables ]
compiled 2011-11-09 on e450 (SunOS)
#;1> (print (list->string (apply append (map string->list '("hello,"
"world!"))))) ; just silliness
hello,world!
--Toby
and make signalled a circular dependency while looking for apply-hack.sparc.S.
As it turns out, there is a apply-hack.sparc64.S... but nothing for
the other. I am not familiar with the sparc architecture, so I am
looking for advice on what to do. Also please tell me if you need more
information.
Thank you in advance for your answers.
[Chicken-users] 64-bit SPARC build - Re: [4.7.0.3-st] Compiling on Solaris 10,
Toby Thain <=