Simon Marlow wrote:
--- ghc/rts/package.conf.inplace Thu Apr 13 15:49:49 2006 +++ ghc/rts/package.conf.inplace~ Wed Apr 12 19:44:55 2006 @@ -429,7 +429,6 @@
extra-libraries: "m" , "gmp" - , "rt" , "dl"
Ok, does this help instead (compile stage1 with this change):
*** DriverState.hs.~1.116.2.2.~ 2005-10-13 10:02:19.000000000 +0100 --- DriverState.hs 2006-04-13 15:32:02.000000000 +0100 *************** *** 418,423 **** --- 418,425 ---- #if defined(freebsd_TARGET_OS) "-optc-pthread" , "-optl-pthread" + #elif defined(solaris_TARGET_OS) + "-optl-lrt" #endif ] ),
This patch did not help. No optl option is added anywhere. Maybe "WayThreaded" is the wrong position? I also had to adapt again the call of ctime_r in ghc/rts/RtsUtils.c #if HAVE_CTIME_R - ctime_r(&now, nowstr, 26); + ctime_r(&now, nowstr); #else 26 is supposed to be the size of the buffer nowstr. Maybe 27 is also fine? According to the man pages ctime_r is different under linux and solaris. How should that be patched? Cheers Christian /local/home/maeder/ghc-6.4.2/ghc/rts/libHSrts_thr.a(OSThreads.thr_o): In function `yieldThread': OSThreads.c:(.text+0x88): undefined reference to `sched_yield' collect2: ld returned 1 exit status <<ghc: 13423468 bytes, 3 GCs, 160628/160628 avg/max bytes residency (1 samples), 15M in use, 0.00 INIT (0.00 elapsed), 0.13 MUT (10.93 elapsed), 0.03 GC (0.04 elapsed) :ghc>> gmake[2]: *** [stage2/ghc-6.4.2] Error 1 gmake[2]: Leaving directory `/local/home/maeder/ghc-6.4.2/ghc/compiler' gmake[1]: *** [stage2] Error 2 gmake[1]: Leaving directory `/local/home/maeder/ghc-6.4.2' gmake: *** [bootstrap2] Error 2