[Top][All Lists]

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

[Chicken-users] 64-bit SPARC build - Re: [] Compiling on Solar

From: Toby Thain
Subject: [Chicken-users] 64-bit SPARC build - Re: [] 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: 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, on
Solaris 10 (sparc), only to find out the the build fails: I used


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

-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-'
rules.make:113: *** missing separator.  Stop.
gmake[1]: Leaving directory `/pool/home/toby/chicken/chicken-'
gmake: *** [all] Error 2
-bash-3.00$ gmake --version
GNU Make 3.80

(I installed make-3.82 from Sun Freeware: )

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                           ./
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-'
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-'
cd tests; sh DYLD_LIBRARY_PATH=/pool/home/toby/chicken/chicken- is not an identifier
make[1]: *** [check] Error 1
make[1]: Leaving directory `/pool/home/toby/chicken/chicken-'
make: *** [check] Error 2

However, we do appear to have a good build:

$ rlwrap ./csi

(c)2008-2011 The Chicken Team
(c)2000-2007 Felix L. Winkelmann
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


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

Thank you in advance for your answers.

reply via email to

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