Re: 6.4.2.20060411 under solaris
Simon Marlow wrote: Christian Maeder wrote: A further problem occured when installing my binary distribution. The installed file "bin/ghc" (and bin/ghci) did not have the mini-driver, but only the settings up to DEFAULT_TMPDIR. Did you have BIN_DIST=1 in your build.mk from the beginning? Yes. The files in the binary distribution are: lrwxrwxrwx 1 maeder wimi 18 Apr 18 15:03 ghc -> ghc-6.4.2.20060411 -rwxr-xr-x 1 maeder wimi 130 Apr 18 15:03 ghc-6.4.2.20060411 but when installing I get: Creating a configured version of ghc-6.4.2.20060411 .. cat: cannot open bin/sparc-sun-solaris2/ghc-6.4.2.20060411.sh Done. Should the binary dist have already .sh files? C. ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Christian Maeder wrote: Simon Marlow wrote: I'm rolling and uploading the 6.4.2 bits now, and this patch didn't make it in, sorry. We can put together a patchset for building on Solaris and make it available separately. Can you send me a working patch? Did the DriverState patch I posted earlier work? I've integrated no patch from you. Which post was it. This one: http://www.haskell.org//pipermail/glasgow-haskell-users/2006-April/010002.html A further problem occured when installing my binary distribution. The installed file "bin/ghc" (and bin/ghci) did not have the mini-driver, but only the settings up to DEFAULT_TMPDIR. Did you have BIN_DIST=1 in your build.mk from the beginning? I'll rebuild ghc-6-4.2 if you put it out. Ok, thanks. Simon ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Simon Marlow wrote: I'm rolling and uploading the 6.4.2 bits now, and this patch didn't make it in, sorry. We can put together a patchset for building on Solaris and make it available separately. Can you send me a working patch? Did the DriverState patch I posted earlier work? I've integrated no patch from you. Which post was it. A further problem occured when installing my binary distribution. The installed file "bin/ghc" (and bin/ghci) did not have the mini-driver, but only the settings up to DEFAULT_TMPDIR. I'll rebuild ghc-6-4.2 if you put it out. Cheers Christian ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Christian Maeder wrote: Simon Marlow wrote: This bit of Makefile code is possibly going wrong for you: -include $(shell echo $(ProjectDirectory) | tr A-Z a-z)/mk/config.mk -include $(shell echo $(ProjectDirectory) | tr A-Z a-z)/mk/version.mk you're right! Try this instead: $ make Project=Ghc ProjectDirectory=ghc show VALUE=GhcBinDistDirs from the top level. This shows the values correctly now. Maybe that tr command doesn't work on Solaris? When I replace "tr A-Z a-z" with tr "[:upper:]" "[:lower:]" (taken from "man tr') 'gmake binary-dist' works for me now, too. I'm rolling and uploading the 6.4.2 bits now, and this patch didn't make it in, sorry. We can put together a patchset for building on Solaris and make it available separately. Can you send me a working patch? Did the DriverState patch I posted earlier work? Cheers, Simon ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Volker Stolz wrote: venus [14:45:44]> echo foo | tr a-z A-Z foo venus [14:46:11]> echo foo | tr [a-z] [A-Z] FOO [..] Maybe it's safe to switch to the bracketed version these days... This also works fine on Linnix and FreeBSD. Finding the correct 'tr' on Solaris is probably more tedious. the bracketed version works for me, too. But maybe such a range is wrong for different locales anyway? ([A-Z] in file patterns on my linux machine also match lower case letters except "a"). I'm quite confused by the various ways of doing such a trivial transformation (using perl, sed, tr and what not.) and then still having it wrong for certain machines or environments. Cheers Christian ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Simon Marlow wrote: This bit of Makefile code is possibly going wrong for you: -include $(shell echo $(ProjectDirectory) | tr A-Z a-z)/mk/config.mk -include $(shell echo $(ProjectDirectory) | tr A-Z a-z)/mk/version.mk you're right! Try this instead: $ make Project=Ghc ProjectDirectory=ghc show VALUE=GhcBinDistDirs from the top level. This shows the values correctly now. Maybe that tr command doesn't work on Solaris? When I replace "tr A-Z a-z" with tr "[:upper:]" "[:lower:]" (taken from "man tr') 'gmake binary-dist' works for me now, too. Thanks Christian ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
* Simon Marlow <[EMAIL PROTECTED]>: > This bit of Makefile code is possibly going wrong for you: > > -include $(shell echo $(ProjectDirectory) | tr A-Z a-z)/mk/config.mk > -include $(shell echo $(ProjectDirectory) | tr A-Z a-z)/mk/version.mk > > Try this instead: > >$ make Project=Ghc ProjectDirectory=ghc show VALUE=GhcBinDistDirs > > from the top level. Maybe that tr command doesn't work on Solaris? venus [14:45:44]> echo foo | tr a-z A-Z foo venus [14:46:11]> echo foo | tr [a-z] [A-Z] FOO >From the man page: /usr/xpg4/bin/tr c-c /usr/bin/tr [c-c] Represents the range of collating elements between the Posix has this to say on the subject: " On historical System V systems, a range expression requires enclosing square-brackets, such as: tr '[a-z]' '[A-Z]' However, BSD-based systems did not require the brackets, and this convention is used here to avoid breaking large numbers of BSD scripts: tr a-z A-Z The preceding System V script will continue to work because the brackets, treated as regular characters, are translated to themselves. However, any System V script that relied on "a-z" representing the three characters 'a' , '-' , and 'z' have to be rewritten as "az-" . " Maybe it's safe to switch to the bracketed version these days... This also works fine on Linnix and FreeBSD. Finding the correct 'tr' on Solaris is probably more tedious. Volker -- http://www-i2.informatik.rwth-aachen.de/stolz/ *** PGP *** S/MIME "All the excitement lies in pattern matching." (SPJ et al.) ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Christian Maeder wrote: Simon Marlow wrote: GhcBinDistDirs is set by ghc/mk/config.mk, which is included by the top-level Makefile. I see, there's another mk/config.mk in the subdirectory "ghc" $ make show Project=Ghc VALUE=GhcBinDistDirs GhcBinDistDirs="ghc libraries hslibs" in this subdirectory I get the same result, but 'GhcBinDistDirs=""' one level up. This bit of Makefile code is possibly going wrong for you: -include $(shell echo $(ProjectDirectory) | tr A-Z a-z)/mk/config.mk -include $(shell echo $(ProjectDirectory) | tr A-Z a-z)/mk/version.mk Try this instead: $ make Project=Ghc ProjectDirectory=ghc show VALUE=GhcBinDistDirs from the top level. Maybe that tr command doesn't work on Solaris? Cheers, Simon ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Simon Marlow wrote: GhcBinDistDirs is set by ghc/mk/config.mk, which is included by the top-level Makefile. I see, there's another mk/config.mk in the subdirectory "ghc" $ make show Project=Ghc VALUE=GhcBinDistDirs GhcBinDistDirs="ghc libraries hslibs" in this subdirectory I get the same result, but 'GhcBinDistDirs=""' one level up. Christian ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Simon Marlow wrote: GhcBinDistDirs is set by ghc/mk/config.mk, which is included by the top-level Makefile. I've no such variable in ghc/mk/config.mk or ghc/mk/config.mk.in C. ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Christian Maeder wrote: Christian Maeder wrote: OSThreads.c:(.text+0x88): undefined reference to `sched_yield' collect2: ld returned 1 exit status I could fix this by adding "rt" to the extra-libraries of the rts package.conf file. Now I have a stage2 compiler but "gmake binary-dist" does not work. I assume a couple of variables are not set up. What is going there? The Makefile has the line: BIN_DIST_DIRS=$($(Project)BinDistDirs) where I don't find "BinDistDirs" Cheers Christian --- ghc/rts/package.conf.inplaceThu 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.0 +0100 --- DriverState.hs 2006-04-13 15:32:02.0 +0100 *** *** 418,423 --- 418,425 #if defined(freebsd_TARGET_OS) "-optc-pthread" , "-optl-pthread" + #elif defined(solaris_TARGET_OS) + "-optl-lrt" #endif ] ), -bash-3.00$ gmake binary-dist Project=Ghc rm -rf /home/maeder/haskell/solaris/ghc-6.4.2.20060411/- rm -f /home/maeder/haskell/solaris/ghc-6.4.2.20060411/-.tar.gz echo "BIN_DIST_DIRS = " BIN_DIST_DIRS = /bin/sh: syntax error at line 1: `;' unexpected gmake: *** [binary-dist-pre] Error 2 Very strange. It works here, because I built two binary dists last night. GhcBinDistDirs is set by ghc/mk/config.mk, which is included by the top-level Makefile. $ make show Project=Ghc VALUE=GhcBinDistDirs GhcBinDistDirs="ghc libraries hslibs" what does this do in your tree? Cheers, Simon ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Christian Maeder wrote: OSThreads.c:(.text+0x88): undefined reference to `sched_yield' collect2: ld returned 1 exit status I could fix this by adding "rt" to the extra-libraries of the rts package.conf file. Now I have a stage2 compiler but "gmake binary-dist" does not work. I assume a couple of variables are not set up. What is going there? The Makefile has the line: BIN_DIST_DIRS=$($(Project)BinDistDirs) where I don't find "BinDistDirs" Cheers Christian --- ghc/rts/package.conf.inplaceThu 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" -bash-3.00$ gmake binary-dist Project=Ghc rm -rf /home/maeder/haskell/solaris/ghc-6.4.2.20060411/- rm -f /home/maeder/haskell/solaris/ghc-6.4.2.20060411/-.tar.gz echo "BIN_DIST_DIRS = " BIN_DIST_DIRS = /bin/sh: syntax error at line 1: `;' unexpected gmake: *** [binary-dist-pre] Error 2 ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Christian Maeder wrote: Christian Maeder wrote: RtsUtils.c:190: error: too few arguments to function 'ctime_r' I could carry on after adding an argument ", 26" now I get an error when linking the stage2 compiler. How should I fix this? Cheers Christian /home/maeder/haskell/solaris/ghc-6.4.2.20060411/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> gmake[2]: *** [stage2/ghc-6.4.2.20060411] Error 1 gmake[2]: Leaving directory `/home/maeder/haskell/solaris/ghc-6.4.2.20060411/ghc /compiler' gmake[1]: *** [stage2] Error 2 gmake[1]: Leaving directory `/home/maeder/haskell/solaris/ghc-6.4.2.20060411' gmake: *** [bootstrap2] Error 2 ( I've been rather busy today with Haskell' and ICFP reviewing, so I won't be able to do the 6.4.2 release until next week (probably Tuesday, Monday is a holiday in the UK). If you have fixes for these, and get them to me before Monday, I *might* be able to get them into the release. It's a bit late though. The sched_yield() thing looks like some extra library needs to be linked in under Solaris for the threaded RTS. Cheers, Simon ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Christian Maeder wrote: RtsUtils.c:190: error: too few arguments to function 'ctime_r' I could carry on after adding an argument ", 26" now I get an error when linking the stage2 compiler. How should I fix this? Cheers Christian /home/maeder/haskell/solaris/ghc-6.4.2.20060411/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> gmake[2]: *** [stage2/ghc-6.4.2.20060411] Error 1 gmake[2]: Leaving directory `/home/maeder/haskell/solaris/ghc-6.4.2.20060411/ghc /compiler' gmake[1]: *** [stage2] Error 2 gmake[1]: Leaving directory `/home/maeder/haskell/solaris/ghc-6.4.2.20060411' gmake: *** [bootstrap2] Error 2 ( ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: 6.4.2.20060411 under solaris
Christian Maeder wrote: RtsUtils.p_o RtsUtils.c: In function 'time_str': RtsUtils.c:190: error: too few arguments to function 'ctime_r' I could carry on after adding an argument ", 26" C. -- RtsUtils.c 2006-04-13 09:09:49.778999000 +0200 +++ RtsUtils.c~ 2006-01-12 13:43:03.0 +0100 @@ -185,11 +185,11 @@ static char nowstr[26]; if (now == 0) { time(&now); #if HAVE_CTIME_R - ctime_r(&now, nowstr, 26); + ctime_r(&now, nowstr); #else strcpy(nowstr, ctime(&now)); #endif memmove(nowstr+16,nowstr+19,7); nowstr[21] = '\0'; // removes the \n ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users