Solaris 8 and libm.so.2

Ralph Crawford stryder100 at gmail.com
Tue Mar 17 09:02:37 EDT 2009


Hi everyone.  I'm trying to build GHC 6.8.3 on a Solaris 8 machine.  I'd
love to upgrade Solaris to 10, which I believe would solve the problem I'm
having by making /usr/lib/libm.so.2 available, but that's not an option at
this time.
Here's the output of uname -a on the system.

SunOS bwddev1 5.8 Generic_117350-53 sun4u sparc SUNW,Ultra-80

The GCC I'm using is gcc

Target: sparc-sun-solaris2.8
Configured with: /usr/local/src/gnu/gcc-4.0.1/configure
--with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls
--prefix=/usr/local/gcc4
Thread model: posix
gcc version 4.0.1

The GHC binary I'm bootstrapping with is 6.4.1.  It works fine for compiling
complex haskell programs and packages.

I've already worked through a couple of problems to get to where I'm at now.
 What I had to do was...

changed #define SIZET_FMT "d" to #define SIZET_FMT "d" in
includes/mkDerivedConstances.c.
change #include <stdint.h> to #include <inttypes.h> in includes/HsFFI.h
added mk/build.mk containing SRC_HC_OPTS=-opta-mcpu=v9

My latest attempt at a build involved the following, where BOS_ROOT points
at the root of my build tree, and $BOS_ROOT/gcc4 is where my gcc lives, and
$BOS_ROOT/ghc is where the ghc binary lives.  This is only the latest
attempt.  The libm.so.2 symbolic link and the LDFLAGS and LD_LIBRARY_PATH
values were added on the most recent attempt.

ln -s /usr/lib/libm.so.1 $BOS_ROOT/lib/libm.so.2
PATH=$BOS_ROOT/gcc4/bin:$BOS_ROOT/ghc/bin:$BOS_ROOT/bin:/usr/bin:/bin
LD_LIBRARY_PATH=$BOS_ROOT/gcc4/lib:$BOS_ROOT/ghc/lib:$BOS_ROOT/lib:/usr/lib
LDFLAGS=-static -L$BOS_ROOT/lib
CFLAGS=
export PATH LD_LIBRARY_PATH LDFLAGS CFLAGS

fp_prog_ld_raw=/usr/ccs/bin/ld ./configure \
    --prefix=$BOS_ROOT \
    --with-ghc=$BOS_ROOT/ghc/bin/ghc \
    --with-as=/usr/ccs/bin/as \
    --with-ld=/usr/ccs/bin/ld \
    --with-gcc=$BOS_ROOT/gcc4/bin/gcc \
    --with-gmp-includes=$BOS_ROOT/include \
    --with-gmp-libraries=$BOS_ROOT/lib \
    --with-readline-includes=$BOS_ROOT/include \
    --with-readline-libraries=$BOS_ROOT/lib

Once I made these changes, the build goes on for a number of hours then dies
with what's listed below.  I understand that this is because the build is
looking for libm.so.2, while the lib on Solaris 8 is /usr/lib/libm.so.1.  No
matter what I do - including the kludge above attempting to create a
libm.so.2 symbolic link, I can't get rid of the errors.  Any help at all
would be very much appreciated.  Please.

Here's the error listing.

make[3]: Entering directory
`/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/compiler'
../compiler/stage1/ghc-inplace -no-user-package-conf -opta-mcpu=v9 -package
ghc -Istage2 -cpp -fglasgow-exts -fno-generics -Rghc-timing -I. -IcodeGen
-InativeGen -Iparser -Rghc-timing  -DGHCI -threaded -fforce-recomp    -c
main/Main.hs -o stage2/main/Main.o  -ohi stage2/main/Main.hi
<<ghc: 450131408 bytes, 1127 GCs, 6839050/13262620 avg/max bytes residency
(8 samples), 35M in use, 0.00 INIT (0.01 elapsed), 13.34 MUT (40.52
elapsed), 8.42 GC (8.81 elapsed) :ghc>>
../compiler/stage1/ghc-inplace -no-user-package-conf -o stage2/ghc-6.8.3
-opta-mcpu=v9 -package ghc -Istage2 -cpp -fglasgow-exts -fno-generics
-Rghc-timing -I. -IcodeGen -InativeGen -Iparser -Rghc-timing  -DGHCI
-threaded -fforce-recomp        stage2/main/Main.o
Undefined                       first referenced
 symbol                             in file
cosf
 /winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__169.o)
expf
 /winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__173.o)
logf
 /winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__172.o)
powf
 /winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__161.o)
sinf
 /winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__170.o)
tanf
 /winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__168.o)
acosf
/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__166.o)
asinf
/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__167.o)
atanf
/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__165.o)
coshf
/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__163.o)
dlsym
/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/rts/libHSrts_thr.a(Linker.thr_o)
 (symbol belongs to implicit dependency /usr/lib/libdl.so.1)
sinhf
/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__164.o)
tanhf
/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__162.o)
sqrtf
/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/libraries/base/dist/build/libHSbase-3.0.2.0.a(Float__171.o)
dlopen
 /winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/rts/libHSrts_thr.a(Linker.thr_o)
 (symbol belongs to implicit dependency /usr/lib/libdl.so.1)
dlerror
/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/rts/libHSrts_thr.a(Linker.thr_o)
 (symbol belongs to implicit dependency /usr/lib/libdl.so.1)
ld: fatal: Symbol referencing errors. No output written to stage2/ghc-6.8.3
collect2: ld returned 1 exit status
<<ghc: 57428604 bytes, 11 GCs, 126372/126372 avg/max bytes residency (1
samples), 7M in use, 0.00 INIT (0.00 elapsed), 1.49 MUT (17.35 elapsed),
0.09 GC (0.10 elapsed) :ghc>>
make[3]: *** [stage2/ghc-6.8.3] Error 1
make[3]: Leaving directory
`/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/compiler'
make[2]: *** [stage2/ghc-6.8.3] Error 2
make[2]: Leaving directory
`/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3/compiler'
make[1]: *** [stage2] Error 2
make[1]: Leaving directory
`/winchester/bwd_home/rc4498/cvs_sandboxes/wip/bos-devel/bos/src/ghc-6.8.3'
make: *** [bootstrap2] Error 2

-- 
---------------------------------------------------------------
My web host for www.ralphcrawford.org is...
http://www.1and1.com/?k_id=6466911
They're good - I recommend them.

I'm switching my email from stryder22204 at yahoo.com to stryder100 at gmail.com.
 Don't worry though I'll still get stuff from the stryder22204 address for
about 6 months.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20090317/07fdbcd7/attachment-0001.htm


More information about the Glasgow-haskell-users mailing list