#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

Reply via email to