#2285: Solaris 9 build fails at stage2 with undefined symbol errors (for libm
symbols)
--------------------------+-------------------------------------------------
Reporter: TimBishop | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler
Version: 6.8.2 | Severity: normal
Keywords: | Testcase:
Architecture: sparc | Os: Solaris
--------------------------+-------------------------------------------------
(A copy of the pasted errors is attached to the ticket)
I'm having a problem building ghc 6.8.2 using gcc 4.2.3 on Solaris 9. The
problem occurs during the linking of stage2/ghc-inplace. Here is the
error:
{{{
make[3]: Entering directory
`/u1/src/garstow/devel/ghc/work/ghc-6.8.2/compiler'
../compiler/stage1/ghc-inplace -cpp stage2/ghc-inplace.c -o stage2/ghc-
inplace
Undefined first referenced
symbol in file
cosf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
expf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
logf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
powf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
sinf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
tanf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
acosf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
asinf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
atanf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
coshf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
sinhf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
tanhf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
sqrtf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
ld: fatal: Symbol referencing errors. No output written to stage2/ghc-
inplace
collect2: ld returned 1 exit status
make[3]: *** [stage2/ghc-inplace] Error 1
make[3]: Leaving directory
`/u1/src/garstow/devel/ghc/work/ghc-6.8.2/compiler'
make[2]: *** [stage2] Error 2
make[2]: Leaving directory `/u1/src/garstow/devel/ghc/work/ghc-6.8.2'
make[1]: *** [bootstrap2] Error 2
make[1]: Leaving directory `/u1/src/garstow/devel/ghc/work/ghc-6.8.2'
make: *** [build-work/ghc-6.8.2/Makefile] Error 2
}}}
It was fairly obvious those symbols were provided by libm, so I did a
little digging to check if it was trying to link -lm, and it was:
{{{
[EMAIL PROTECTED] [/u1/src/garstow/devel/ghc/work/ghc-6.8.2/compiler] %
../compiler/stage1/ghc-inplace -v -cpp stage2/ghc-inplace.c -o stage2/ghc-
inplace
Using /u1/src/garstow/devel/ghc/work/ghc-6.8.2/compiler/stage1/ghc-6.8.2
-B/u1/src/garstow/devel/ghc/work/ghc-6.8.2 -fhardwire-lib-paths
Glasgow Haskell Compiler, Version 6.8.2, for Haskell 98, stage 1 booted by
GHC version 6.4.1
Using package config file:
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/driver/package.conf.inplace
wired-in package base mapped to base-3.0.1.0
wired-in package rts mapped to rts-1.0
wired-in package haskell98 mapped to haskell98-1.0.1.0
wired-in package template-haskell mapped to template-haskell-2.2.0.0
wired-in package ndp not found.
Hsc static flags: -fhardwire-lib-paths -static
Created temporary directory: /tmp/ghc6599_0
*** C Compiler:
gcc -x c stage2/ghc-inplace.c -o /tmp/ghc6599_0/ghc6599_0.s -mcpu=v9 -v -S
-Wimplicit -O -D__GLASGOW_HASKELL__=608 -DTABLES_NEXT_TO_CODE -I
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/include -I
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/includes -I
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/rts -I
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/gmp/gmpbuild
Using built-in specs.
Target: sparc-sun-solaris2.9
Configured with: ../../work/gcc-4.2.3/configure --enable-threads --enable-
shared=libstdc++ --enable-
languages=ada,c,c++,fortran,java,objc,obj-c++,treelang --with-
as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld
Thread model: posix
gcc version 4.2.3
/usr/local/packages/gcc-4.2.3/bin/../libexec/gcc/sparc-sun-
solaris2.9/4.2.3/cc1 -quiet -v -I
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/include -I
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/includes -I
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/rts -I
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/gmp/gmpbuild -iprefix
/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-solaris2.9/4.2.3/
-D__sparcv8 -D__GLASGOW_HASKELL__=608 -DTABLES_NEXT_TO_CODE stage2/ghc-
inplace.c -quiet -dumpbase ghc-inplace.c -mcpu=v9 -auxbase-strip
/tmp/ghc6599_0/ghc6599_0.s -O -Wimplicit -version -o
/tmp/ghc6599_0/ghc6599_0.s
ignoring nonexistent directory
"/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-solaris2.9/4.2.3
/../../../../sparc-sun-solaris2.9/include"
ignoring nonexistent directory "NONE/include"
ignoring duplicate directory "/usr/local/lib/gcc/sparc-sun-
solaris2.9/4.2.3/include"
ignoring nonexistent directory "/usr/local/lib/gcc/sparc-sun-
solaris2.9/4.2.3/../../../../sparc-sun-solaris2.9/include"
ignoring nonexistent directory
"/u1/src/garstow/devel/ghc/work/ghc-6.8.2/gmp/gmpbuild"
#include "..." search starts here:
#include <...> search starts here:
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/include
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/includes
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/rts
/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/include
/usr/local/include
/usr/include
End of search list.
GNU C version 4.2.3 (sparc-sun-solaris2.9)
compiled by GNU C version 4.2.3.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 71a7bcafd96401b66a893845012cdee8
*** Assembler:
gcc -mcpu=v9 -c /tmp/ghc6599_0/ghc6599_0.s -o stage2/ghc-inplace.o
*** Linker:
gcc -v -o stage2/ghc-inplace stage2/ghc-inplace.o
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/haskell98/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/array/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/process/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/unix/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/random/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/directory/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/filepath/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/old-time/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/old-locale/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/rts
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/gmp -lHShaskell98-1.0.1.0
-lHSarray-0.1.0.0 -lHSprocess-1.0.0.0 -lHSunix-2.3.0.0 -ldl
-lHSrandom-1.0.0.0 -lHSdirectory-1.0.0.0 -lHSfilepath-1.1.0.0 -lHSold-
time-1.0.0.0 -lHSold-locale-1.0.0.0 -lHSbase-3.0.1.0 -lHSrts -lm -lgmp
-ldl -lrt -u base_GHCziBase_Izh_static_info -u
base_GHCziBase_Czh_static_info -u base_GHCziFloat_Fzh_static_info -u
base_GHCziFloat_Dzh_static_info -u base_GHCziPtr_Ptr_static_info -u
base_GHCziWord_Wzh_static_info -u base_GHCziInt_I8zh_static_info -u
base_GHCziInt_I16zh_static_info -u base_GHCziInt_I32zh_static_info -u
base_GHCziInt_I64zh_static_info -u base_GHCziWord_W8zh_static_info -u
base_GHCziWord_W16zh_static_info -u base_GHCziWord_W32zh_static_info -u
base_GHCziWord_W64zh_static_info -u base_GHCziStable_StablePtr_static_info
-u base_GHCziBase_Izh_con_info -u base_GHCziBase_Czh_con_info -u
base_GHCziFloat_Fzh_con_info -u base_GHCziFloat_Dzh_con_info -u
base_GHCziPtr_Ptr_con_info -u base_GHCziPtr_FunPtr_con_info -u
base_GHCziStable_StablePtr_con_info -u base_GHCziBase_False_closure -u
base_GHCziBase_True_closure -u base_GHCziPack_unpackCString_closure -u
base_GHCziIOBase_stackOverflow_closure -u
base_GHCziIOBase_heapOverflow_closure -u
base_GHCziIOBase_NonTermination_closure -u
base_GHCziIOBase_BlockedOnDeadMVar_closure -u
base_GHCziIOBase_BlockedIndefinitely_closure -u
base_GHCziIOBase_Deadlock_closure -u
base_GHCziIOBase_NestedAtomically_closure -u
base_GHCziWeak_runFinalizzerBatch_closure -u
base_GHCziConc_ensureIOManagerIsRunning_closure
Using built-in specs.
Target: sparc-sun-solaris2.9
Configured with: ../../work/gcc-4.2.3/configure --enable-threads --enable-
shared=libstdc++ --enable-
languages=ada,c,c++,fortran,java,objc,obj-c++,treelang --with-
as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld
Thread model: posix
gcc version 4.2.3
/usr/local/packages/gcc-4.2.3/bin/../libexec/gcc/sparc-sun-
solaris2.9/4.2.3/collect2 -V -Y P,/usr/ccs/lib:/usr/lib -Qy -o stage2/ghc-
inplace -u base_GHCziBase_Izh_static_info -u
base_GHCziBase_Czh_static_info -u base_GHCziFloat_Fzh_static_info -u
base_GHCziFloat_Dzh_static_info -u base_GHCziPtr_Ptr_static_info -u
base_GHCziWord_Wzh_static_info -u base_GHCziInt_I8zh_static_info -u
base_GHCziInt_I16zh_static_info -u base_GHCziInt_I32zh_static_info -u
base_GHCziInt_I64zh_static_info -u base_GHCziWord_W8zh_static_info -u
base_GHCziWord_W16zh_static_info -u base_GHCziWord_W32zh_static_info -u
base_GHCziWord_W64zh_static_info -u base_GHCziStable_StablePtr_static_info
-u base_GHCziBase_Izh_con_info -u base_GHCziBase_Czh_con_info -u
base_GHCziFloat_Fzh_con_info -u base_GHCziFloat_Dzh_con_info -u
base_GHCziPtr_Ptr_con_info -u base_GHCziPtr_FunPtr_con_info -u
base_GHCziStable_StablePtr_con_info -u base_GHCziBase_False_closure -u
base_GHCziBase_True_closure -u base_GHCziPack_unpackCString_closure -u
base_GHCziIOBase_stackOverflow_closure -u
base_GHCziIOBase_heapOverflow_closure -u
base_GHCziIOBase_NonTermination_closure -u
base_GHCziIOBase_BlockedOnDeadMVar_closure -u
base_GHCziIOBase_BlockedIndefinitely_closure -u
base_GHCziIOBase_Deadlock_closure -u
base_GHCziIOBase_NestedAtomically_closure -u
base_GHCziWeak_runFinalizzerBatch_closure -u
base_GHCziConc_ensureIOManagerIsRunning_closure
/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/crt1.o /usr/local/packages/gcc-4.2.3/bin/../lib/gcc
/sparc-sun-solaris2.9/4.2.3/crti.o /usr/ccs/lib/values-Xa.o
/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/crtbegin.o
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/haskell98/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/array/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/process/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/unix/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/random/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/directory/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/filepath/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/old-time/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/old-locale/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/rts
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/gmp
-L/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-solaris2.9/4.2.3
-L/usr/local/packages/gcc-4.2.3/bin/../lib/gcc -L/usr/local/lib/gcc/sparc-
sun-solaris2.9/4.2.3 -L/usr/ccs/lib
-L/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/../../.. -L/usr/local/lib/gcc/sparc-sun-
solaris2.9/4.2.3/../../.. stage2/ghc-inplace.o -lHShaskell98-1.0.1.0
-lHSarray-0.1.0.0 -lHSprocess-1.0.0.0 -lHSunix-2.3.0.0 -ldl
-lHSrandom-1.0.0.0 -lHSdirectory-1.0.0.0 -lHSfilepath-1.1.0.0 -lHSold-
time-1.0.0.0 -lHSold-locale-1.0.0.0 -lHSbase-3.0.1.0 -lHSrts -lm -lgmp
-ldl -lrt -lgcc -lc -lgcc -lc /usr/local/packages/gcc-4.2.3/bin/../lib/gcc
/sparc-sun-solaris2.9/4.2.3/crtend.o
/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/crtn.o
ld: Software Generation Utilities - Solaris Link Editors: 5.9-1.397
Undefined first referenced
symbol in file
cosf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
expf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
logf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
powf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
sinf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
tanf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
acosf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
asinf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
atanf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
coshf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
sinhf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
tanhf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
sqrtf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
ld: fatal: Symbol referencing errors. No output written to stage2/ghc-
inplace
collect2: ld returned 1 exit status
*** Deleting temp files:
Deleting: /tmp/ghc6599_0/ghc6599_0.s
*** Deleting temp dirs:
Deleting: /tmp/ghc6599_0
}}}
I then confirmed the problem could be replicated with just gcc:
{{{
[EMAIL PROTECTED] [/u1/src/garstow/devel/ghc/work/ghc-6.8.2/compiler] % gcc -v
-o stage2/ghc-inplace stage2/ghc-inplace.o
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/haskell98/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/array/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/process/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/unix/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/random/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/directory/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/filepath/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/old-time/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/old-locale/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/rts
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/gmp -lHShaskell98-1.0.1.0
-lHSarray-0.1.0.0 -lHSprocess-1.0.0.0 -lHSunix-2.3.0.0 -ldl
-lHSrandom-1.0.0.0 -lHSdirectory-1.0.0.0 -lHSfilepath-1.1.0.0 -lHSold-
time-1.0.0.0 -lHSold-locale-1.0.0.0 -lHSbase-3.0.1.0 -lHSrts -lm -lgmp
-ldl -lrt -u base_GHCziBase_Izh_static_info -u
base_GHCziBase_Czh_static_info -u base_GHCziFloat_Fzh_static_info -u
base_GHCziFloat_Dzh_static_info -u base_GHCziPtr_Ptr_static_info -u
base_GHCziWord_Wzh_static_info -u base_GHCziInt_I8zh_static_info -u
base_GHCziInt_I16zh_static_info -u base_GHCziInt_I32zh_static_info -u
base_GHCziInt_I64zh_static_info -u base_GHCziWord_W8zh_static_info -u
base_GHCziWord_W16zh_static_info -u base_GHCziWord_W32zh_static_info -u
base_GHCziWord_W64zh_static_info -u base_GHCziStable_StablePtr_static_info
-u base_GHCziBase_Izh_con_info -u base_GHCziBase_Czh_con_info -u
base_GHCziFloat_Fzh_con_info -u base_GHCziFloat_Dzh_con_info -u
base_GHCziPtr_Ptr_con_info -u base_GHCziPtr_FunPtr_con_info -u
base_GHCziStable_StablePtr_con_info -u base_GHCziBase_False_closure -u
base_GHCziBase_True_closure -u base_GHCziPack_unpackCString_closure -u
base_GHCziIOBase_stackOverflow_closure -u
base_GHCziIOBase_heapOverflow_closure -u
base_GHCziIOBase_NonTermination_closure -u
base_GHCziIOBase_BlockedOnDeadMVar_closure -u
base_GHCziIOBase_BlockedIndefinitely_closure -u
base_GHCziIOBase_Deadlock_closure -u
base_GHCziIOBase_NestedAtomically_closure -u
base_GHCziWeak_runFinalizzerBatch_closure -u
base_GHCziConc_ensureIOManagerIsRunning_closure
Using built-in specs.
Target: sparc-sun-solaris2.9
Configured with: ../../work/gcc-4.2.3/configure --enable-threads --enable-
shared=libstdc++ --enable-
languages=ada,c,c++,fortran,java,objc,obj-c++,treelang --with-
as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld
Thread model: posix
gcc version 4.2.3
/usr/local/packages/gcc-4.2.3/bin/../libexec/gcc/sparc-sun-
solaris2.9/4.2.3/collect2 -V -Y P,/usr/ccs/lib:/usr/lib -Qy -o stage2/ghc-
inplace -u base_GHCziBase_Izh_static_info -u
base_GHCziBase_Czh_static_info -u base_GHCziFloat_Fzh_static_info -u
base_GHCziFloat_Dzh_static_info -u base_GHCziPtr_Ptr_static_info -u
base_GHCziWord_Wzh_static_info -u base_GHCziInt_I8zh_static_info -u
base_GHCziInt_I16zh_static_info -u base_GHCziInt_I32zh_static_info -u
base_GHCziInt_I64zh_static_info -u base_GHCziWord_W8zh_static_info -u
base_GHCziWord_W16zh_static_info -u base_GHCziWord_W32zh_static_info -u
base_GHCziWord_W64zh_static_info -u base_GHCziStable_StablePtr_static_info
-u base_GHCziBase_Izh_con_info -u base_GHCziBase_Czh_con_info -u
base_GHCziFloat_Fzh_con_info -u base_GHCziFloat_Dzh_con_info -u
base_GHCziPtr_Ptr_con_info -u base_GHCziPtr_FunPtr_con_info -u
base_GHCziStable_StablePtr_con_info -u base_GHCziBase_False_closure -u
base_GHCziBase_True_closure -u base_GHCziPack_unpackCString_closure -u
base_GHCziIOBase_stackOverflow_closure -u
base_GHCziIOBase_heapOverflow_closure -u
base_GHCziIOBase_NonTermination_closure -u
base_GHCziIOBase_BlockedOnDeadMVar_closure -u
base_GHCziIOBase_BlockedIndefinitely_closure -u
base_GHCziIOBase_Deadlock_closure -u
base_GHCziIOBase_NestedAtomically_closure -u
base_GHCziWeak_runFinalizzerBatch_closure -u
base_GHCziConc_ensureIOManagerIsRunning_closure
/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/crt1.o /usr/local/packages/gcc-4.2.3/bin/../lib/gcc
/sparc-sun-solaris2.9/4.2.3/crti.o /usr/ccs/lib/values-Xa.o
/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/crtbegin.o
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/haskell98/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/array/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/process/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/unix/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/random/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/directory/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/filepath/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/old-time/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/old-locale/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/rts
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/gmp
-L/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-solaris2.9/4.2.3
-L/usr/local/packages/gcc-4.2.3/bin/../lib/gcc -L/usr/local/lib/gcc/sparc-
sun-solaris2.9/4.2.3 -L/usr/ccs/lib
-L/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/../../.. -L/usr/local/lib/gcc/sparc-sun-
solaris2.9/4.2.3/../../.. stage2/ghc-inplace.o -lHShaskell98-1.0.1.0
-lHSarray-0.1.0.0 -lHSprocess-1.0.0.0 -lHSunix-2.3.0.0 -ldl
-lHSrandom-1.0.0.0 -lHSdirectory-1.0.0.0 -lHSfilepath-1.1.0.0 -lHSold-
time-1.0.0.0 -lHSold-locale-1.0.0.0 -lHSbase-3.0.1.0 -lHSrts -lm -lgmp
-ldl -lrt -lgcc -lc -lgcc -lc /usr/local/packages/gcc-4.2.3/bin/../lib/gcc
/sparc-sun-solaris2.9/4.2.3/crtend.o
/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/crtn.o
ld: Software Generation Utilities - Solaris Link Editors: 5.9-1.397
Undefined first referenced
symbol in file
cosf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
expf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
logf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
powf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
sinf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
tanf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
acosf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
asinf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
atanf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
coshf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
sinhf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
tanhf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
sqrtf
/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build/libHSbase-3.0.1.0.a(Float__1.o)
ld: fatal: Symbol referencing errors. No output written to stage2/ghc-
inplace
collect2: ld returned 1 exit status
}}}
As a work-around I tried giving it the static libm library, and that
succeeded:
{{{
[EMAIL PROTECTED] [/u1/src/garstow/devel/ghc/work/ghc-6.8.2/compiler] % gcc -v
-o stage2/ghc-inplace stage2/ghc-inplace.o
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/haskell98/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/array/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/process/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/unix/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/random/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/directory/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/filepath/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/old-time/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/old-locale/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/rts
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/gmp -lHShaskell98-1.0.1.0
-lHSarray-0.1.0.0 -lHSprocess-1.0.0.0 -lHSunix-2.3.0.0 -ldl
-lHSrandom-1.0.0.0 -lHSdirectory-1.0.0.0 -lHSfilepath-1.1.0.0 -lHSold-
time-1.0.0.0 -lHSold-locale-1.0.0.0 -lHSbase-3.0.1.0 -lHSrts -lm -lgmp
-ldl -lrt -u base_GHCziBase_Izh_static_info -u
base_GHCziBase_Czh_static_info -u base_GHCziFloat_Fzh_static_info -u
base_GHCziFloat_Dzh_static_info -u base_GHCziPtr_Ptr_static_info -u
base_GHCziWord_Wzh_static_info -u base_GHCziInt_I8zh_static_info -u
base_GHCziInt_I16zh_static_info -u base_GHCziInt_I32zh_static_info -u
base_GHCziInt_I64zh_static_info -u base_GHCziWord_W8zh_static_info -u
base_GHCziWord_W16zh_static_info -u base_GHCziWord_W32zh_static_info -u
base_GHCziWord_W64zh_static_info -u base_GHCziStable_StablePtr_static_info
-u base_GHCziBase_Izh_con_info -u base_GHCziBase_Czh_con_info -u
base_GHCziFloat_Fzh_con_info -u base_GHCziFloat_Dzh_con_info -u
base_GHCziPtr_Ptr_con_info -u base_GHCziPtr_FunPtr_con_info -u
base_GHCziStable_StablePtr_con_info -u base_GHCziBase_False_closure -u
base_GHCziBase_True_closure -u base_GHCziPack_unpackCString_closure -u
base_GHCziIOBase_stackOverflow_closure -u
base_GHCziIOBase_heapOverflow_closure -u
base_GHCziIOBase_NonTermination_closure -u
base_GHCziIOBase_BlockedOnDeadMVar_closure -u
base_GHCziIOBase_BlockedIndefinitely_closure -u
base_GHCziIOBase_Deadlock_closure -u
base_GHCziIOBase_NestedAtomically_closure -u
base_GHCziWeak_runFinalizzerBatch_closure -u
base_GHCziConc_ensureIOManagerIsRunning_closure /usr/lib/libm.a
Using built-in specs.
Target: sparc-sun-solaris2.9
Configured with: ../../work/gcc-4.2.3/configure --enable-threads --enable-
shared=libstdc++ --enable-
languages=ada,c,c++,fortran,java,objc,obj-c++,treelang --with-
as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld
Thread model: posix
gcc version 4.2.3
/usr/local/packages/gcc-4.2.3/bin/../libexec/gcc/sparc-sun-
solaris2.9/4.2.3/collect2 -V -Y P,/usr/ccs/lib:/usr/lib -Qy -o stage2/ghc-
inplace -u base_GHCziBase_Izh_static_info -u
base_GHCziBase_Czh_static_info -u base_GHCziFloat_Fzh_static_info -u
base_GHCziFloat_Dzh_static_info -u base_GHCziPtr_Ptr_static_info -u
base_GHCziWord_Wzh_static_info -u base_GHCziInt_I8zh_static_info -u
base_GHCziInt_I16zh_static_info -u base_GHCziInt_I32zh_static_info -u
base_GHCziInt_I64zh_static_info -u base_GHCziWord_W8zh_static_info -u
base_GHCziWord_W16zh_static_info -u base_GHCziWord_W32zh_static_info -u
base_GHCziWord_W64zh_static_info -u base_GHCziStable_StablePtr_static_info
-u base_GHCziBase_Izh_con_info -u base_GHCziBase_Czh_con_info -u
base_GHCziFloat_Fzh_con_info -u base_GHCziFloat_Dzh_con_info -u
base_GHCziPtr_Ptr_con_info -u base_GHCziPtr_FunPtr_con_info -u
base_GHCziStable_StablePtr_con_info -u base_GHCziBase_False_closure -u
base_GHCziBase_True_closure -u base_GHCziPack_unpackCString_closure -u
base_GHCziIOBase_stackOverflow_closure -u
base_GHCziIOBase_heapOverflow_closure -u
base_GHCziIOBase_NonTermination_closure -u
base_GHCziIOBase_BlockedOnDeadMVar_closure -u
base_GHCziIOBase_BlockedIndefinitely_closure -u
base_GHCziIOBase_Deadlock_closure -u
base_GHCziIOBase_NestedAtomically_closure -u
base_GHCziWeak_runFinalizzerBatch_closure -u
base_GHCziConc_ensureIOManagerIsRunning_closure
/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/crt1.o /usr/local/packages/gcc-4.2.3/bin/../lib/gcc
/sparc-sun-solaris2.9/4.2.3/crti.o /usr/ccs/lib/values-Xa.o
/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/crtbegin.o
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/haskell98/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/array/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/process/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/unix/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/random/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/directory/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/filepath/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/old-time/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/old-locale/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/libraries/base/dist/build
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/rts
-L/u1/src/garstow/devel/ghc/work/ghc-6.8.2/gmp
-L/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-solaris2.9/4.2.3
-L/usr/local/packages/gcc-4.2.3/bin/../lib/gcc -L/usr/local/lib/gcc/sparc-
sun-solaris2.9/4.2.3 -L/usr/ccs/lib
-L/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/../../.. -L/usr/local/lib/gcc/sparc-sun-
solaris2.9/4.2.3/../../.. stage2/ghc-inplace.o -lHShaskell98-1.0.1.0
-lHSarray-0.1.0.0 -lHSprocess-1.0.0.0 -lHSunix-2.3.0.0 -ldl
-lHSrandom-1.0.0.0 -lHSdirectory-1.0.0.0 -lHSfilepath-1.1.0.0 -lHSold-
time-1.0.0.0 -lHSold-locale-1.0.0.0 -lHSbase-3.0.1.0 -lHSrts -lm -lgmp
-ldl -lrt /usr/lib/libm.a -lgcc -lc -lgcc -lc
/usr/local/packages/gcc-4.2.3/bin/../lib/gcc/sparc-sun-
solaris2.9/4.2.3/crtend.o /usr/local/packages/gcc-4.2.3/bin/../lib/gcc
/sparc-sun-solaris2.9/4.2.3/crtn.o
ld: Software Generation Utilities - Solaris Link Editors: 5.9-1.397
}}}
Strangely the resulting binary ''is'' linked against libm.so.
I used truss to check if an alternate libm was being found by the
compiler, but it wasn't. I also tried adding -lm to the beginning and end
of the compile line, but it didn't help.
I'm happy to help debug as needed.
Thanks,
Tim.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2285>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs