Search code examples
haskellghcopensusebuilding

building ghc 7.2.1 on opensuse


Just wondering if anyone here has had success building GHC 7.2.1 on OpenSuSE. I'm running into errors, with 7.0.3 currently installed.

chmod +x inplace/lib/ghc-split
"rm" -f                              inplace/bin/ghc-stage1
echo '#!/bin/sh'                             >> inplace/bin/ghc-stage1
echo 'executablename="/home/gatoatigrado/Downloads/ghc-7.2.1/inplace/lib/ghc-stage1"'            >> inplace/bin/ghc-stage1
echo 'datadir="/home/gatoatigrado/Downloads/ghc-7.2.1/inplace/lib"'       >> inplace/bin/ghc-stage1
echo 'bindir="/home/gatoatigrado/Downloads/ghc-7.2.1/inplace/bin"'        >> inplace/bin/ghc-stage1
echo 'topdir="/home/gatoatigrado/Downloads/ghc-7.2.1/inplace/lib"'     >> inplace/bin/ghc-stage1
echo 'pgmgcc="/usr/bin/gcc"'            >> inplace/bin/ghc-stage1
cat ghc/ghc.wrapper               >> inplace/bin/ghc-stage1
chmod +x                               inplace/bin/ghc-stage1
/usr/bin/gcc -E  -undef -traditional -P -DTOP='"/home/gatoatigrado/Downloads/ghc-7.2.1"'  -x c -Iincludes libffi/package.conf.in -o libffi/package.conf.inplace.raw
grep -v '^#pragma GCC' libffi/package.conf.inplace.raw | sed -e 's/""//g' -e 's/:[   ]*,/: /g' > libffi/package.conf.inplace
"inplace/bin/ghc-pkg" update --force libffi/package.conf.inplace
Reading package info from "libffi/package.conf.inplace" ... done.
ghc-pkg: too few bytes. Failed reading at byte position 44111
make[1]: *** [libffi/package.conf.inplace] Error 1
make[1]: *** Deleting file `libffi/package.conf.inplace'
make: *** [all] Error 2

Thanks in advance.

bug report: http://hackage.haskell.org/trac/ghc/ticket/5446


Solution

  • Yes, Peter Trommler has succeeded - here are rpms for ghc-7.2.1 from his home:ptrommler:devel:languages:haskell repository on the OBS. (Even though the latest build appears to have failed, there are packages from a previous build.)

    I've mailed Peter and the maintainer of the official devel:languages:haskell repositories to ask if there's any way the official ones could be updated.