ANNOUNCE: GHC 6.12.1 Release Candidate 1

Hi all, We are pleased to (finally!) announce the first release candidate for GHC 6.12.1: http://darcs.haskell.org/~ghc/dist/6.12.1rc1/ As well as the source tarball: ghc-6.12.0.20091010-src.tar.bz2 there are installers for Windows (i386) and OS X (i386), and binary distributions for x86_64/Linux and i386/Linux. For the Linux binary distributions, the "linux-n" tarballs are recommended over the "linux" tarballs. Please test as much as possible; bugs are much cheaper if we find them before the release! Thanks Ian, on behalf of the GHC team

On Sun, Oct 11, 2009 at 1:41 PM, Ian Lynagh
Hi all,
We are pleased to (finally!) announce the first release candidate for GHC 6.12.1:
http://darcs.haskell.org/~ghc/dist/6.12.1rc1/http://darcs.haskell.org/%7Eghc/dist/6.12.1rc1/
As well as the source tarball: ghc-6.12.0.20091010-src.tar.bz2 there are installers for Windows (i386) and OS X (i386), and binary distributions for x86_64/Linux and i386/Linux. For the Linux binary distributions, the "linux-n" tarballs are recommended over the "linux" tarballs.
Please test as much as possible; bugs are much cheaper if we find them before the release!
Thanks! I have been eager to try out 6.12. Unlike many of the recent snapshots, this one built and installed fine on Mac OS X 10.6 :). Is there an extralibs tarball that I should use with this? I installed the release candidate without said tarball. First, I noticed that my old version of cabal-install could not parse the output from ghc-pkg-6.12.0.20091010: cabal: failed to parse output of 'ghc-pkg dump' Then, when I tried to build the network package manually, I got this: Building network-2.2.1.4... [1 of 5] Compiling Network.URI ( Network/URI.hs, dist/build/Network/URI.o ) [2 of 5] Compiling Network.Socket.Internal ( dist/build/Network/Socket/Internal.hs, dist/build/Network/Socket/Internal.o ) [3 of 5] Compiling Network.Socket ( dist/build/Network/Socket.hs, dist/build/Network/Socket.o ) Network/Socket.hsc:1707:45: Not in scope: data constructor `System.Posix.Internals.Stream' - Philip
Thanks Ian, on behalf of the GHC team
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

On 12/10/2009 08:17, Philip Weaver wrote:
On Sun, Oct 11, 2009 at 1:41 PM, Ian Lynagh
mailto:igloo@earth.li> wrote: Hi all,
We are pleased to (finally!) announce the first release candidate for GHC 6.12.1:
http://darcs.haskell.org/~ghc/dist/6.12.1rc1/ http://darcs.haskell.org/%7Eghc/dist/6.12.1rc1/
As well as the source tarball: ghc-6.12.0.20091010-src.tar.bz2 there are installers for Windows (i386) and OS X (i386), and binary distributions for x86_64/Linux and i386/Linux. For the Linux binary distributions, the "linux-n" tarballs are recommended over the "linux" tarballs.
Please test as much as possible; bugs are much cheaper if we find them before the release!
Thanks! I have been eager to try out 6.12. Unlike many of the recent snapshots, this one built and installed fine on Mac OS X 10.6 :).
Is there an extralibs tarball that I should use with this? I installed the release candidate without said tarball. First, I noticed that my old version of cabal-install could not parse the output from ghc-pkg-6.12.0.20091010:
cabal: failed to parse output of 'ghc-pkg dump'
Yes, work is in progress on cabal-install to update it to work with GHC 6.12.1. For now you have to use Cabal manually (runhaskell Setup configure, etc.).
Then, when I tried to build the network package manually, I got this:
Building network-2.2.1.4... [1 of 5] Compiling Network.URI ( Network/URI.hs, dist/build/Network/URI.o ) [2 of 5] Compiling Network.Socket.Internal ( dist/build/Network/Socket/Internal.hs, dist/build/Network/Socket/Internal.o ) [3 of 5] Compiling Network.Socket ( dist/build/Network/Socket.hs, dist/build/Network/Socket.o )
Network/Socket.hsc:1707:45: Not in scope: data constructor `System.Posix.Internals.Stream'
I think you may need the darcs version of the network package. Cheers, Simon

Hi Philip, Thanks for the feedback! On Mon, Oct 12, 2009 at 12:17:15AM -0700, Philip Weaver wrote:
Thanks! I have been eager to try out 6.12. Unlike many of the recent snapshots, this one built and installed fine on Mac OS X 10.6 :).
Interesting, I thought there were still problems there. Does ghci work too?
Is there an extralibs tarball that I should use with this?
No; extralibs no longer exist. Instead, we'll be recommending that most users wait until a Haskell Platform release is available that comes with the compiler. Thanks Ian

this one built and installed fine on Mac OS X 10.6 :). Interesting, I thought there were still problems there. I assume that's a 32-bit version. The problems manifest themselves only when you compile a 64-bit GHC.
I'm still trying to get mine working - no luck yet, but will keep you posted. Barney.

Barney Stratford:
this one built and installed fine on Mac OS X 10.6 :). Interesting, I thought there were still problems there. I assume that's a 32-bit version. The problems manifest themselves only when you compile a 64-bit GHC.
That's incorrect. The 32-bit version is only partially working. GHCi dies with a bus error (after package loading) and various features that need the interpreter/dynamic loading (such as TH and annotations) die under certain circumstances. Disclaimer: I didn't actually test this with 6.12.1RC1, but with 6.13. However, there shouldn't be any difference as I am not aware of any 6.12.1-specific Mac fixes. Manuel PS: I am chasing these bugs, but I don't have a lot of time for that at the moment, they are tricky bugs, and my Mac-fu is still pretty limited. So, if anybody else likes to have a go with gdb and dtrace, please do so.

On Mon, Oct 12, 2009 at 9:17 AM, Philip Weaver
Then, when I tried to build the network package manually, I got this:
Building network-2.2.1.4... [1 of 5] Compiling Network.URI ( Network/URI.hs, dist/build/Network/URI.o ) [2 of 5] Compiling Network.Socket.Internal ( dist/build/Network/Socket/Internal.hs, dist/build/Network/Socket/Internal.o ) [3 of 5] Compiling Network.Socket ( dist/build/Network/Socket.hs, dist/build/Network/Socket.o )
Network/Socket.hsc:1707:45: Not in scope: data constructor `System.Posix.Internals.Stream'
Please try the darcs version at http://code.haskell.org/network. If that builds fine I can make a new release of network shortly. Cheers, Johan

On Tue, Oct 13, 2009 at 10:35 PM, Johan Tibell
On Mon, Oct 12, 2009 at 9:17 AM, Philip Weaver
wrote: Then, when I tried to build the network package manually, I got this:
Building network-2.2.1.4... [1 of 5] Compiling Network.URI ( Network/URI.hs, dist/build/Network/URI.o ) [2 of 5] Compiling Network.Socket.Internal ( dist/build/Network/Socket/Internal.hs, dist/build/Network/Socket/Internal.o ) [3 of 5] Compiling Network.Socket ( dist/build/Network/Socket.hs, dist/build/Network/Socket.o )
Network/Socket.hsc:1707:45: Not in scope: data constructor `System.Posix.Internals.Stream'
Please try the darcs version at http://code.haskell.org/network. If that builds fine I can make a new release of network shortly.
I've made a new release of network that should work on 6.12 -- Johan

I have downloaded ghc-6.12.0.20091010-src.tar.bz2. But where to read the release notes? ANNOUNCE shows ``version 6.10.1'', and lists the old features. What is the difference of 6.12.1 w.r.to 6.10.4 ? Regards, ----------------- Serge Mechveliani mechvel@botik.ru On Sun, Oct 11, 2009 at 09:41:53PM +0100, Ian Lynagh wrote:
Hi all,
We are pleased to (finally!) announce the first release candidate for GHC 6.12.1:
http://darcs.haskell.org/~ghc/dist/6.12.1rc1/
As well as the source tarball: ghc-6.12.0.20091010-src.tar.bz2 there are installers for Windows (i386) and OS X (i386), and binary distributions for x86_64/Linux and i386/Linux. For the Linux binary distributions, the "linux-n" tarballs are recommended over the "linux" tarballs.
Please test as much as possible; bugs are much cheaper if we find them before the release!
Thanks Ian, on behalf of the GHC team
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

On 12/10/2009 09:04, Serge D. Mechveliani wrote:
I have downloaded ghc-6.12.0.20091010-src.tar.bz2. But where to read the release notes? ANNOUNCE shows ``version 6.10.1'', and lists the old features. What is the difference of 6.12.1 w.r.to 6.10.4 ?
Release notes here, for now: http://www.haskell.org/ghc/dist/current/docs/html/users_guide/release-6-12-1... Cheers, Simon
Regards,
----------------- Serge Mechveliani mechvel@botik.ru
On Sun, Oct 11, 2009 at 09:41:53PM +0100, Ian Lynagh wrote:
Hi all,
We are pleased to (finally!) announce the first release candidate for GHC 6.12.1:
http://darcs.haskell.org/~ghc/dist/6.12.1rc1/
As well as the source tarball: ghc-6.12.0.20091010-src.tar.bz2 there are installers for Windows (i386) and OS X (i386), and binary distributions for x86_64/Linux and i386/Linux. For the Linux binary distributions, the "linux-n" tarballs are recommended over the "linux" tarballs.
Please test as much as possible; bugs are much cheaper if we find them before the release!
Thanks Ian, on behalf of the GHC team
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Hello Simon, Monday, October 12, 2009, 12:32:05 PM, you wrote:
Release notes here, for now: http://www.haskell.org/ghc/dist/current/docs/html/users_guide/release-6-12-1...
1. it says
The following options are all described in Section 4.15.3, RTS options to control the garbage collector. * The flag +RTS -N now automatically determines how many threads to use, based on the number of CPUs in your machine.
actually -N is decribed in "4.13.2. RTS options for SMP parallelism" also, i propose to enable +RTS -N by default. Haskell is very popular as multithreaded language, don't fool novices!
"The -gn RTS option has been removed, except that -g1 is still accepted for backwards compatibility. "
why not ignore whole option for a 6.12.*? -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

On 12/10/2009 10:07, Bulat Ziganshin wrote:
Hello Simon,
Monday, October 12, 2009, 12:32:05 PM, you wrote:
Release notes here, for now: http://www.haskell.org/ghc/dist/current/docs/html/users_guide/release-6-12-1...
1. it says
The following options are all described in Section 4.15.3, “RTS options to control the garbage collector”. * The flag +RTS -N now automatically determines how many threads to use, based on the number of CPUs in your machine.
actually -N is decribed in "4.13.2. RTS options for SMP parallelism"
also, i propose to enable +RTS -N by default. Haskell is very popular as multithreaded language, don't fool novices!
I don't think we're ready for that yet. The current implementation assumes that it has access to the given number of cores, and performance degrades severely if it doesn't. So for example, using -N2 on a 2-core machine may perform badly unless the machine is otherwise very quiet. I've been working on improving this, but it's quite difficult: using spinlocks and busy-waiting is a lot faster than using sleep/wakeup synchronisation when you really have all the cores, but when you lose a core things go haywire. I've tried the usual "spin for a bit and then go to sleep" technique, but even that can adversely affect performance when you really do have all the cores, because sometimes we do have to spin for quite a long time. The only proper solution is not to synchronise at all, which is what we're looking at now (CPU-independent GC). You may notice this effect more with 6.12.1 because we turned on the parallel GC for generation 0 by default. This improves performance for parallel programs a lot (see ICFP paper), but also means there are many more all-core synchronisation points, which in turn will really hurt if any of our threads is descheduled by the OS. So right now, on a dual-core I'd recommend using -N2 -qg1 (don't use parallel GC in gen 0), or -N2 -H<large>.
"The -gn RTS option has been removed, except that -g1 is still accepted for backwards compatibility. "
why not ignore whole option for a 6.12.*?
Because people might be using -g1? Cheers, Simon

On Mon, 2009-10-12 at 13:07 +0400, Bulat Ziganshin wrote:
also, i propose to enable +RTS -N by default. Haskell is very popular as multithreaded language, don't fool novices!
Note that you'd also have to enable -threaded by default. This would have other surprising effects (like breaking most GUI progs). Duncan

Hello Duncan, Monday, October 12, 2009, 6:58:43 PM, you wrote:
also, i propose to enable +RTS -N by default. Haskell is very popular as multithreaded language, don't fool novices!
Note that you'd also have to enable -threaded by default. This would have other surprising effects (like breaking most GUI progs).
afair, it's on by default for a few years and yes, i had SERIOUS problems with it in my GUI program :) -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

On Mon, 2009-10-12 at 19:29 +0400, Bulat Ziganshin wrote:
Hello Duncan,
Monday, October 12, 2009, 6:58:43 PM, you wrote:
also, i propose to enable +RTS -N by default. Haskell is very popular as multithreaded language, don't fool novices!
Note that you'd also have to enable -threaded by default. This would have other surprising effects (like breaking most GUI progs).
afair, it's on by default for a few years
With runghc and ghci you get the threaded rts by default. For compiled standalone programs the single threaded rts is still the default. You have to link using the -threaded flag to get the threaded rts.
and yes, i had SERIOUS problems with it in my GUI program :)
Yeah, it's a long-standing tricky issue. Duncan

Simon Marlow wrote:
On 12/10/2009 09:04, Serge D. Mechveliani wrote:
I have downloaded ghc-6.12.0.20091010-src.tar.bz2. But where to read the release notes? ANNOUNCE shows ``version 6.10.1'', and lists the old features. What is the difference of 6.12.1 w.r.to 6.10.4 ?
Release notes here, for now:
http://www.haskell.org/ghc/dist/current/docs/html/users_guide/release-6-12-1... In section 1.5.2. Warnings there is a duplication: """ * There are two new warnings if a monadic result of type other than m () is used in a do block, but its result is not bound. The flags -fwarn-unused-do-bind and -fwarn-wrong-do-bind control these warnings. * There is a new warning if a monadic result of type other than m () is not bound. The flag -fwarn-unused-do-bind controls this warning. """ Cheers Ben

On Mon, Oct 12, 2009 at 11:31:41PM +0200, Ben Franksen wrote:
http://www.haskell.org/ghc/dist/current/docs/html/users_guide/release-6-12-1...
In section 1.5.2. Warnings there is a duplication:
Thanks for the report; fixed. Thanks Ian

This new version of ghc can no longer read ISO-8859 text. Text is cut off after the first non-ascii character (ie. ¢). Is this somewhere documented? What is the recommended way to handle such text? Cheers Christian Ian Lynagh wrote:
Hi all,
We are pleased to (finally!) announce the first release candidate for GHC 6.12.1:
http://darcs.haskell.org/~ghc/dist/6.12.1rc1/
As well as the source tarball: ghc-6.12.0.20091010-src.tar.bz2 there are installers for Windows (i386) and OS X (i386), and binary distributions for x86_64/Linux and i386/Linux. For the Linux binary distributions, the "linux-n" tarballs are recommended over the "linux" tarballs.
Please test as much as possible; bugs are much cheaper if we find them before the release!
Thanks Ian, on behalf of the GHC team

On 12/10/2009 13:12, Christian Maeder wrote:
This new version of ghc can no longer read ISO-8859 text. Text is cut off after the first non-ascii character (ie. ¢).
Is this somewhere documented? What is the recommended way to handle such text?
Take a look at this: http://ghcmutterings.wordpress.com/2009/09/30/heads-up-what-you-need-to-know... and if you have any more questions, please post them here. Cheers, Simon

Hi, with http://darcs.haskell.org/~ghc/dist/6.12.1rc1/ghc-6.12.0.20091010-i386-unknow... installed (under /local/maeder/) I get the following "internal Haddock or GHC error". I have no file /local/maeder/lib/ghc-6.12.0.20091010/html/haddock.css but a file /local/maeder/share/doc/ghc/html/html/haddock.css and I run: ./Setup configure -O --prefix=/local/maeder ./Setup build ./Setup haddock ./Setup install Cheers Christian P.S. I wonder why "Registering" is done twice Configuring packedstring-0.1.0.1... Preprocessing library packedstring-0.1.0.1... Building packedstring-0.1.0.1... [1 of 1] Compiling Data.PackedString ( Data/PackedString.hs, dist/build/Data/PackedString.o ) Registering packedstring-0.1.0.1... Running Haddock for packedstring-0.1.0.1... Preprocessing library packedstring-0.1.0.1... Warning: The documentation for the following packages are not installed. No links will be generated to these packages: ffi-1.0, rts-1.0 haddock: internal Haddock or GHC error: /local/maeder//lib/ghc-6.12.0.20091010/html/haddock.css: openFile: does not exist (No such file or directory) Installing library in /local/maeder/lib/packedstring-0.1.0.1/ghc-6.12.0.20091010 Registering packedstring-0.1.0.1...

On Mon, 2009-10-12 at 18:43 +0200, Christian Maeder wrote:
P.S. I wonder why "Registering" is done twice
It's Cabal's fault. It's a new feature to let components within a package depend on each other. To do that it needs to register the lib into a local inplace package db. At the moment it's always doing it, even when it's not strictly necessary. At some point we'll probably tidy that up so that it only does so when it's needed. On the other hand, always doing so during the testing phase has already caught a couple configuration bugs so I'm not in any great rush to add the optimisation. Duncan

On Mon, Oct 12, 2009 at 6:43 PM, Christian Maeder
Hi,
with http://darcs.haskell.org/~ghc/dist/6.12.1rc1/ghc-6.12.0.20091010-i386-unknow... installed (under /local/maeder/) I get the following "internal Haddock or GHC error". I have no file /local/maeder/lib/ghc-6.12.0.20091010/html/haddock.css but a file /local/maeder/share/doc/ghc/html/html/haddock.css
I've the same problem, it seems that haddock's data-files are not installed anywhere by ghc's build system, even if they are present in the tarball under utils/haddock. /local/maeder/share/doc/ghc/html/html/haddock.css seems to be the .css for the main documentation index, i don't think it makes sense for haddock to take the default files from there. A workaround could be a separate installation of haddock (assuming it'll look for the files where cabal will install them), but i couldn't find a ghc-paths updated for 6.12.
and I run: ./Setup configure -O --prefix=/local/maeder ./Setup build ./Setup haddock ./Setup install
Cheers Christian
P.S. I wonder why "Registering" is done twice
Configuring packedstring-0.1.0.1... Preprocessing library packedstring-0.1.0.1... Building packedstring-0.1.0.1... [1 of 1] Compiling Data.PackedString ( Data/PackedString.hs, dist/build/Data/PackedString.o )
Registering packedstring-0.1.0.1...
Running Haddock for packedstring-0.1.0.1...
Preprocessing library packedstring-0.1.0.1...
Warning: The documentation for the following packages are not installed. No links will be generated to these packages: ffi-1.0, rts-1.0
haddock: internal Haddock or GHC error: /local/maeder//lib/ghc-6.12.0.20091010/html/haddock.css: openFile: does not exist (No such file or directory) Installing library in
/local/maeder/lib/packedstring-0.1.0.1/ghc-6.12.0.20091010
Registering packedstring-0.1.0.1...
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

2009/10/23 Andrea Vezzosi
On Mon, Oct 12, 2009 at 6:43 PM, Christian Maeder
I get the following "internal Haddock or GHC error". I have no file /local/maeder/lib/ghc-6.12.0.20091010/html/haddock.css but a file /local/maeder/share/doc/ghc/html/html/haddock.css
I've the same problem, it seems that haddock's data-files are not installed anywhere by ghc's build system, even if they are present in the tarball under utils/haddock.
I think this is http://hackage.haskell.org/trac/ghc/ticket/3599 which was apparently fixed a few days ago by Ian. Jens

What's the canonical way to install a version of ghc but not have it be the default? i.e., I'd like to try testing this release candidate but I want to have to call it explicitly; I want 'ghc', 'ghc-pkg' etc. to still be aliases to ghc-6.10.4, instead of being overwritten by the 6.12.1 install. -Brent On Sun, Oct 11, 2009 at 09:41:53PM +0100, Ian Lynagh wrote:
Hi all,
We are pleased to (finally!) announce the first release candidate for GHC 6.12.1:
http://darcs.haskell.org/~ghc/dist/6.12.1rc1/
As well as the source tarball: ghc-6.12.0.20091010-src.tar.bz2 there are installers for Windows (i386) and OS X (i386), and binary distributions for x86_64/Linux and i386/Linux. For the Linux binary distributions, the "linux-n" tarballs are recommended over the "linux" tarballs.
Please test as much as possible; bugs are much cheaper if we find them before the release!
Thanks Ian, on behalf of the GHC team
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Brent Yorgey wrote:
What's the canonical way to install a version of ghc but not have it be the default? i.e., I'd like to try testing this release candidate but I want to have to call it explicitly; I want 'ghc', 'ghc-pkg' etc. to still be aliases to ghc-6.10.4, instead of being overwritten by the 6.12.1 install.
AFAIK think the answer is: compile from source and use --prefix option to ./configure. Cheers Ben

On Mon, 2009-10-12 at 16:04 -0400, Brent Yorgey wrote:
What's the canonical way to install a version of ghc but not have it be the default? i.e., I'd like to try testing this release candidate but I want to have to call it explicitly; I want 'ghc', 'ghc-pkg' etc. to still be aliases to ghc-6.10.4, instead of being overwritten by the 6.12.1 install.
What I do is keep my default as /usr/bin/ghc, then when I install testing versions I just rm the unversioned ghc scripts that get installed in /usr/local/bin/ (because /usr/local/bin appears on my $PATH first). Duncan

On Mon, Oct 12, 2009 at 04:04:23PM -0400, Brent Yorgey wrote:
What's the canonical way to install a version of ghc but not have it be the default? i.e., I'd like to try testing this release candidate but I want to have to call it explicitly; I want 'ghc', 'ghc-pkg' etc. to still be aliases to ghc-6.10.4, instead of being overwritten by the 6.12.1 install.
If you want to install the OSX .pkg then I don't know of a way to do this. Installing one seems to uninstall the previous one for no good reason. If you're installing the Windows installer then you can choose the installation directory, but you'll have to make the aliases yourself. If you're installing one of the Linux bindists then you can use ./configure --prefix=/your/path and again you will have to set up the aliases yourself. And if installing from source you can likewise use ./configure --prefix=/your/path and set up aliases yourself. Thanks Ian

On 2009-10-13 08:58, Ian Lynagh wrote:
If you're installing one of the Linux bindists then you can use ./configure --prefix=/your/path and again you will have to set up the aliases yourself.
And if installing from source you can likewise use ./configure --prefix=/your/path and set up aliases yourself.
I install GHC under /usr/local/stow/ghc-<version>/, and use Stow (http://www.gnu.org/software/stow/) to create symlinks to my preferred version from /usr/local/…. -- /NAD This message has been checked for viruses but the contents of an attachment may still contain software viruses, which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.

On Tue, Oct 13, 2009 at 01:17:16PM +0100, Nils Anders Danielsson wrote:
On 2009-10-13 08:58, Ian Lynagh wrote:
If you're installing one of the Linux bindists then you can use ./configure --prefix=/your/path and again you will have to set up the aliases yourself.
And if installing from source you can likewise use ./configure --prefix=/your/path and set up aliases yourself.
I install GHC under /usr/local/stow/ghc-<version>/, and use Stow (http://www.gnu.org/software/stow/) to create symlinks to my preferred version from /usr/local/….
Fantastic! I'd never heard of stow before. -Brent

When compiling, I get lots of "No such file or directory" errors. The
compilation process continues, but should I be concerned about this?
Alex
On Sun, Oct 11, 2009 at 1:41 PM, Ian Lynagh
Hi all,
We are pleased to (finally!) announce the first release candidate for GHC 6.12.1:
http://darcs.haskell.org/~ghc/dist/6.12.1rc1/
As well as the source tarball: ghc-6.12.0.20091010-src.tar.bz2 there are installers for Windows (i386) and OS X (i386), and binary distributions for x86_64/Linux and i386/Linux. For the Linux binary distributions, the "linux-n" tarballs are recommended over the "linux" tarballs.
Please test as much as possible; bugs are much cheaper if we find them before the release!
Thanks Ian, on behalf of the GHC team
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

On Mon, Oct 12, 2009 at 05:49:17PM -0700, Alexander Dunlap wrote:
When compiling, I get lots of "No such file or directory" errors. The compilation process continues, but should I be concerned about this?
It's normal to get this for various *.mk files, *.depend* files, etc. Thanks Ian

On Sun, Oct 11, 2009 at 3:41 PM, Ian Lynagh
Hi all,
We are pleased to (finally!) announce the first release candidate for GHC 6.12.1:
http://darcs.haskell.org/~ghc/dist/6.12.1rc1/
As well as the source tarball: ghc-6.12.0.20091010-src.tar.bz2 there are installers for Windows (i386) and OS X (i386), and binary distributions for x86_64/Linux and i386/Linux. For the Linux binary distributions, the "linux-n" tarballs are recommended over the "linux" tarballs.
Please test as much as possible; bugs are much cheaper if we find them before the release!
Here is my tale of woe. I'm running this on Mac OS X 10.6. I tried to install the syb-with-class package off of hackage, which initially failed because of the changes to the template-haskell package installed with 6.12.1rc1. So I think to myself "Oh! I'll just put an upper bound on the version of template-haskell used in the .cabal file for syb, and install the old version off of hackage". The current version of template-haskell installs fine on 6.12.1rc1 with a couple minor tweaks (to compensate for StringConstr not being present in Data.Data anymore). But then when I try to build syb-with-class against the old template-haskell lib I get the following error:
$ ./Setup build Preprocessing library syb-with-class-0.5.1... Building syb-with-class-0.5.1... [3 of 4] Compiling Data.Generics.SYB.WithClass.Derive ( Data/Generics/SYB/WithClass/Derive.hs, dist/build/Data/Generics/SYB/WithClass/Derive.o )
Data/Generics/SYB/WithClass/Derive.hs:23:0: Bad interface file: /Users/alatter/.cabal/lib/template-haskell-2.3.0.1/ghc-6.12.0.20091010/Language/Haskell/TH.hi Something is amiss; requested module template-haskell-2.3.0.1:Language.Haskell.TH differs from name found in the interface file template-haskell:Language.Haskell.TH <<<<< Has anyone seen this before? Are there any tools I can use to peer into .hi files to get more information about what could be wrong? Thanks, Antoine

On 14/10/2009 04:43, Antoine Latter wrote:
On Sun, Oct 11, 2009 at 3:41 PM, Ian Lynagh
wrote: Hi all,
We are pleased to (finally!) announce the first release candidate for GHC 6.12.1:
http://darcs.haskell.org/~ghc/dist/6.12.1rc1/
As well as the source tarball: ghc-6.12.0.20091010-src.tar.bz2 there are installers for Windows (i386) and OS X (i386), and binary distributions for x86_64/Linux and i386/Linux. For the Linux binary distributions, the "linux-n" tarballs are recommended over the "linux" tarballs.
Please test as much as possible; bugs are much cheaper if we find them before the release!
Here is my tale of woe. I'm running this on Mac OS X 10.6.
I tried to install the syb-with-class package off of hackage, which initially failed because of the changes to the template-haskell package installed with 6.12.1rc1.
So I think to myself "Oh! I'll just put an upper bound on the version of template-haskell used in the .cabal file for syb, and install the old version off of hackage".
The current version of template-haskell installs fine on 6.12.1rc1 with a couple minor tweaks (to compensate for StringConstr not being present in Data.Data anymore).
But then when I try to build syb-with-class against the old template-haskell lib I get the following error:
$ ./Setup build Preprocessing library syb-with-class-0.5.1... Building syb-with-class-0.5.1... [3 of 4] Compiling Data.Generics.SYB.WithClass.Derive ( Data/Generics/SYB/WithClass/Derive.hs, dist/build/Data/Generics/SYB/WithClass/Derive.o )
Data/Generics/SYB/WithClass/Derive.hs:23:0: Bad interface file: /Users/alatter/.cabal/lib/template-haskell-2.3.0.1/ghc-6.12.0.20091010/Language/Haskell/TH.hi Something is amiss; requested module template-haskell-2.3.0.1:Language.Haskell.TH differs from name found in the interface file template-haskell:Language.Haskell.TH <<<<<
Has anyone seen this before? Are there any tools I can use to peer into .hi files to get more information about what could be wrong?
template-haskell is a one of the packages that we call "wired-in", because GHC needs to generate references to some of the things that it defines. To make GHC independent of the version of the template-haskell package, we internally strip off the version number when referring to template-haskell. Now, this doesn't completely explain the error you're seeing. When it starts up, GHC has to decide which template-haskell package is the "wired-in" one, and my guess is that it picked the other one (because it is newer). You could find out by running GHC with the -v flag. I think GHC is assuming that when you have multiple versions of a wired-in package that the older ones are wrappers around the newer ones (like base-3 and base-4), but that assumption doesn't hold in your case. Installing a new version of a wired-in package is going to be problematic, but we ought to be able to at least improve the diagnostics. Cheers, Simon

On Wed, Oct 14, 2009 at 4:34 AM, Simon Marlow
template-haskell is a one of the packages that we call "wired-in", because GHC needs to generate references to some of the things that it defines. To make GHC independent of the version of the template-haskell package, we internally strip off the version number when referring to template-haskell.
Now, this doesn't completely explain the error you're seeing. When it starts up, GHC has to decide which template-haskell package is the "wired-in" one, and my guess is that it picked the other one (because it is newer). You could find out by running GHC with the -v flag. I think GHC is assuming that when you have multiple versions of a wired-in package that the older ones are wrappers around the newer ones (like base-3 and base-4), but that assumption doesn't hold in your case.
Installing a new version of a wired-in package is going to be problematic, but we ought to be able to at least improve the diagnostics.
Does it make sense to do releases of the template-haskell package on to hackage? It's a bit misleading if I can't then do anything to the package that doesn't leave me broken. (I guess I can `cabal unpack` into my GHC source directory to get a different version ...) Antoine

On Sun, Oct 11, 2009 at 3:41 PM, Ian Lynagh
Hi all,
We are pleased to (finally!) announce the first release candidate for GHC 6.12.1:
http://darcs.haskell.org/~ghc/dist/6.12.1rc1/
As well as the source tarball: ghc-6.12.0.20091010-src.tar.bz2 there are installers for Windows (i386) and OS X (i386), and binary distributions for x86_64/Linux and i386/Linux. For the Linux binary distributions, the "linux-n" tarballs are recommended over the "linux" tarballs.
Please test as much as possible; bugs are much cheaper if we find them before the release!
Thanks Ian, on behalf of the GHC team
I'll try to get this up in a bug report on trac as soon as it's back up, but in case I forget, here's the problem: The attached Demo.hs compiles on 6.10, but not on 6.12rc1 The output --ddump-splices for 6.10:
Demo.hs:1:0: Demo.hs:1:0: Splicing declarations test ======> Demo.hs:6:2-5 myFunction[aLQ] = Demo2.testFun [] Ok, modules loaded: Demo2, Main. <<<
In 6.12rc1:
Demo.hs:1:0: Demo.hs:1:0: Splicing declarations test ======> Demo.hs:6:2-5 myFunction[aNX] = testFun ""
Demo.hs:6:2: Couldn't match expected type `[Char]' against inferred type `Char' Expected type: [String] Inferred type: [Char] In the first argument of `testFun', namely `""' In the expression: testFun "" Failed, modules loaded: Demo2. <<< Note that what was spliced in as [] is now being spliced in as "", which is incorrect. Antoine

On Sun, Oct 18, 2009 at 03:20:21PM -0500, Antoine Latter wrote:
Note that what was spliced in as [] is now being spliced in as "", which is incorrect.
This has been filed as http://hackage.haskell.org/trac/ghc/ticket/3600 and fixed. Thanks Ian

On Sat, Nov 7, 2009 at 8:20 AM, Ian Lynagh
On Sun, Oct 18, 2009 at 03:20:21PM -0500, Antoine Latter wrote:
Note that what was spliced in as [] is now being spliced in as "", which is incorrect.
This has been filed as http://hackage.haskell.org/trac/ghc/ticket/3600 and fixed.
Thanks for the quick fix - I've been running with the patch and have happstack going with minimal changes (entirely TH related, I think). Antoine
participants (17)
-
Alexander Dunlap
-
Andrea Vezzosi
-
Antoine Latter
-
Barney Stratford
-
Ben Franksen
-
Brent Yorgey
-
Bulat Ziganshin
-
Christian Maeder
-
Duncan Coutts
-
Ian Lynagh
-
Jens Petersen
-
Johan Tibell
-
Manuel M T Chakravarty
-
Nils Anders Danielsson
-
Philip Weaver
-
Serge D. Mechveliani
-
Simon Marlow