
Hi, finally I built a working ghc 6.4.2 [1] for Solaris x86. Since I couldn't find any binary package at the GHC homepage, this was a little time consuming procedurce (starting with unregistered build etc). Thus I want to save other Solaris x86 users from that by contributing a Solaris x86 binary package for the ghc web page. How should I proceed? Should I open a ticket at the homepage for that? What should I consider? Is 'make binary-dist' the right target? And what about some ghc libraries? Is it ok to exclude some, like opengl, readline and X11 related packages, because with them the binary package would be too specific to my Solaris environment (or dependent at a specific readline version)? I guess, because 6.4.3 includes some fixes, it make sense to do the packaging for that version instead of 6.4.2. If no one packages for Solaris sparc, I could do that, too. Regards Georg Sauthoff [1] with non-threaded rts

Georg Sauthoff wrote:
Thus I want to save other Solaris x86 users from that by contributing a Solaris x86 binary package for the ghc web page. How should I proceed? Should I open a ticket at the homepage for that? What should I consider? Is 'make binary-dist' the right target?
you need to build the whole tree (using "gmake") with a file mk/build.mk that just contains the lines: BIN_DIST=1 Project=Ghc When this succeeds then you can do: gmake binary-dist BINDIST_DOC_WAYS=html (which avoids failing due to missing tools for producing ps documentation)
I guess, because 6.4.3 includes some fixes, it make sense to do the packaging for that version instead of 6.4.2.
yes, but may be wait until the threaded rts works
If no one packages for Solaris sparc, I could do that, too.
I've done that already: http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets...
[1] with non-threaded rts
Yes, that's a problem currently (see the bugs mailing list) Cheers Christian

On Fri, Jun 02, 2006 at 05:35:20PM +0200, Christian Maeder wrote: Hi, [..]
you need to build the whole tree (using "gmake") with a file mk/build.mk that just contains the lines: [..]
I will try it.
I guess, because 6.4.3 includes some fixes, it make sense to do the packaging for that version instead of 6.4.2.
yes, but may be wait until the threaded rts works
I tried 6.4 cvs from 20060607 at Solaris 10 x86 and have no problems with a threaded rts here (did a stage3 build to test it).
If no one packages for Solaris sparc, I could do that, too.
I've done that already: http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets...
I tried that package at a sparc Solaris 8 mashine. The problem here is, that some shared libs are not available: # ldd /var/tmp/gsauthof/ghc-6.4.2-20060529/lib/ghc-6.4.2/ghc-6.4.2 libreadline.so.5 => (file not found) libncurses.so.5 => (file not found) libdl.so.1 => /usr/lib/libdl.so.1 libm.so.2 => (file not found) libgmp.so.3 => (file not found) libc.so.1 => /usr/lib/libc.so.1 /usr/platform/SUNW,Sun-Blade-1000/lib/libc_psr.so.1 Because of the missing libm.so.2 - did you build it at Solaris > 8? About the other dependencies - sure I can fix them by installing the needed packages (the notes at the download page for 6.4.1 sparc list them as dependencies, too). But I am wondering if this dependencies are necessary for ghc binary packages. It looks like a copy a libgmp is included in the ghc source and readline support could be left out. Btw, after reading the ghc support matrix and following ticket: http://hackage.haskell.org/trac/ghc/wiki/Platforms http://hackage.haskell.org/trac/ghc/ticket/186 - I suppose, that the >= 6.4.1 solaris sparc binary packages don't use the NCG? Regards Georg Sauthoff

Georg Sauthoff wrote:
I tried 6.4 cvs from 20060607 at Solaris 10 x86 and have no problems with a threaded rts here (did a stage3 build to test it).
good. The results of "gmake" in testsuite/tests/ghc-regress might be interesting, too. My last result with the unthreaded (sparc) version yielded the following problems: OVERALL SUMMARY for test run started at Wed May 31 19:27:09 CEST 2006 1365 total tests, which gave rise to 4157 test cases, of which 0 caused framework failures 580 were skipped 3469 expected passes 51 expected failures 0 unexpected passes 57 unexpected failures Unexpected failures: IOError001(normal,opt,prof,threaded) arr016(normal,prof,threaded) barton-mangler-bug(normal,opt,prof,ghci,threaded) ffi004(normal,opt,prof,threaded) ffi009(normal,opt,prof,threaded) galois_raytrace(prof) ghciprog004(normal) hGetLine002(normal,opt,prof,ghci,threaded) hGetPosn001(normal,opt,prof,ghci,threaded) hSeek004(normal,opt,prof,ghci,threaded) ioref001(normal,prof,threaded) joao-circular(normal,opt,prof,threaded) maessen_hashtab(opt,prof) openFile003(normal,opt,prof,ghci,threaded) readFile001(normal,opt,prof,ghci,threaded) seward-space-leak(ghci) You have to call "gmake boot" in testsuite before and check if the link ghc/compiler/ghc-inplace points to stage2/ghc-inplace.
I tried that package at a sparc Solaris 8 mashine. The problem here is, that some shared libs are not available:
# ldd /var/tmp/gsauthof/ghc-6.4.2-20060529/lib/ghc-6.4.2/ghc-6.4.2 libreadline.so.5 => (file not found) libncurses.so.5 => (file not found) libdl.so.1 => /usr/lib/libdl.so.1 libm.so.2 => (file not found) libgmp.so.3 => (file not found) libc.so.1 => /usr/lib/libc.so.1 /usr/platform/SUNW,Sun-Blade-1000/lib/libc_psr.so.1
Because of the missing libm.so.2 - did you build it at Solaris > 8?
I've built under Solaris 10. (Maybe older version of readline and ncurses would work, too.)
About the other dependencies - sure I can fix them by installing the needed packages (the notes at the download page for 6.4.1 sparc list them as dependencies, too). But I am wondering if this dependencies are necessary for ghc binary packages. It looks like a copy a libgmp is included in the ghc source and readline support could be left out.
libgmp is part of the sources? I was surprised that a libgmp.a was shipped with the generic x86 binaries. Our linux machines have libgmp.so.3 thus libgmp.a (in ghc's lib dir) is not needed (and only blows up the final binary when linked in statically). I don't know how to leave out readline support and what consequences this might have. Cheers Christian Surely, you may try to build a sparc binary distribution as well

On Tue, Jun 13, 2006 at 09:58:37AM +0200, Christian Maeder wrote: Hi,
Georg Sauthoff wrote:
I tried 6.4 cvs from 20060607 at Solaris 10 x86 and have no problems with a threaded rts here (did a stage3 build to test it).
good. The results of "gmake" in testsuite/tests/ghc-regress might be
I am afraid the stage3 build wasn't enough :(. I did some more testing with that ghc build. I built a middle sized Haskell project with it, which worked. A colleaque did this test again, which worked, too. Then he build another Haskell package, which failed (ghc segfaults). After this the previous project failed, too. I tried it again and it worked. After a break I built the project again - and it failed (everytime segfaults). Thus I guess that I have problems with the threaded rts (which are more difficult too reproduce, than the previous ones). Ah, and ghci segfaults every time - I didn't test ghci before. I will try a non-threaded version and threaded with debug enabled. BTW, what are the disadvantages of a non-threaded rts?
interesting, too. My last result with the unthreaded (sparc) version yielded the following problems: [..] I will try it.
I tried that package at a sparc Solaris 8 mashine. The problem here is, that some shared libs are not available:
# ldd /var/tmp/gsauthof/ghc-6.4.2-20060529/lib/ghc-6.4.2/ghc-6.4.2 libreadline.so.5 => (file not found) libncurses.so.5 => (file not found) libdl.so.1 => /usr/lib/libdl.so.1 libm.so.2 => (file not found) libgmp.so.3 => (file not found) libc.so.1 => /usr/lib/libc.so.1 /usr/platform/SUNW,Sun-Blade-1000/lib/libc_psr.so.1
Because of the missing libm.so.2 - did you build it at Solaris > 8?
I've built under Solaris 10. (Maybe older version of readline and ncurses would work, too.)
The only 'real' problem is libm.so.2 (Solaris 8 has libm.so.1) - I guess.
Surely, you may try to build a sparc binary distribution as well
Yes, I will try it after I finished the Solaris x86 stuff. At the solaris/sparc mashines, there is a ghc 6.2 available - but I get 'gcc notes' like described in this mail: http://www.haskell.org/pipermail/glasgow-haskell-users/2004-November/007473.... (note: if this code is reached, the program will aborted) So I will start with the binary 6.4.1 from haskell.org and get the right readline/gmp libs. Regards Georg Sauthoff

Georg Sauthoff schrieb:
After a break I built the project again - and it failed (everytime segfaults).
Thus I guess that I have problems with the threaded rts (which are more difficult too reproduce, than the previous ones).
Ah, and ghci segfaults every time - I didn't test ghci before.
This sounds similar to my problems on sparcs. (I had non-deterministic segfaults)
BTW, what are the disadvantages of a non-threaded rts?
I think, threaded/parallel programs can then run under ghci, but Simon (or others) may know better.
The only 'real' problem is libm.so.2 (Solaris 8 has libm.so.1) - I guess.
our ghc-6.4.1 under solaris uses libm.so.1, too. (So it should not be a problem)
Yes, I will try it after I finished the Solaris x86 stuff. At the solaris/sparc mashines, there is a ghc 6.2 available - but I get 'gcc notes' like described in this mail:
I think also ghc-6.2.2 was a good version under solaris using libreadline.so.4 and gcc-2.95.x! Cheers Christian
participants (2)
-
Christian Maeder
-
Georg Sauthoff