> some days ago I upgraded the GNU libc6 (also called glibc2) C library
> to version 2.3.1. It's only now that I notice that this wasn't a very
> good idea as it breaks GHC (version 5.04.1).
>
> basilisk Software/Haskell > ghc --make Hello.hs
> ghc-5.04.1: chasing modules from: Hello.hs
> Compiling Main ( Hello.hs, ./Hello.o )
> ghc: linking ...
> /usr/lib/ghc-5.04.1/libHSrts.a(RtsFlags.o)(.text+0xcf): In
> function `splitRtsFlags':
> : undefined reference to `__ctype_b'
> /usr/lib/ghc-5.04.1/libHSrts.a(RtsFlags.o)(.text+0xfb): In
> function `splitRtsFlags':
> : undefined reference to `__ctype_b'
> /usr/lib/ghc-5.04.1/libHSrts.a(RtsFlags.o)(.text+0x114): In
> function `splitRtsFlags':
> : undefined reference to `__ctype_b'
> collect2: ld returned 1 exit status
>
> I guess that the GNU library is broken, so this is not exactly a GHC
> bug report but more a word of warning.
Upgrading libc isn't safe in general, without recompiling everything
that depends on it. In this case it looks like libHSrts.a has captured
some inline code from the old header files, which refers to things which
don't exist in the new libc. Even if you still have the old libc
installed, it still doesn't work because -lc tends to pick the latest
version.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs