Installing binary tarball fails on Linux

Johan Tibell johan.tibell at gmail.com
Thu Feb 23 22:24:43 CET 2012


Hi,

I tried to install the GHC 7.4.1 32-bit binary tarball today and ran
into the error below. Are 32-bit GHC's not supported on 64-bit
Linuxes?

The error:

Installing library in /usr/local/lib/ghc-7.4.1/ghc-prim-0.2.0.0
ghc-cabal: Bad interface file: dist-install/build/GHC/Classes.hi
magic number mismatch: old/corrupt interface file? (wanted 33214052, got
129742)

Full log:

$ tar jxf ghc-7.4.1-i386-unknown-linux.tar.bz2

$ cd ghc-7.4.1/
tibell at tibell:ghc-7.4.1$ ./configure --prefix=/usr/local
checking for path to top of build tree... /tmp/ghc-7.4.1
Build platform inferred as: i386-unknown-linux
Host platform inferred as: i386-unknown-linux
Target platform inferred as: i386-unknown-linux
GHC build  : i386-unknown-linux
GHC host   : i386-unknown-linux
GHC target : i386-unknown-linux
checking for perl... /usr/bin/perl
checking if your perl works in shell scripts... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for gsed... sed
checking for gcc... /usr/bin/gcc
checking for gcc... /usr/bin/gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/gcc accepts -g... yes
checking for /usr/bin/gcc option to accept ISO C89... none needed
checking version of gcc... 4.4.3
checking how to run the C preprocessor... /usr/bin/gcc -E
checking whether ld understands --hash-size=31...
checking whether ld understands --reduce-memory-overheads...
checking for extra options to pass gcc when compiling via C...  -fwrapv
checking Setting up CFLAGS, LDFLAGS, IGNORE_LINKER_LD_FLAGS and CPPFLAGS... done
checking Setting up CONF_CC_OPTS_STAGE0, CONF_GCC_LINKER_OPTS_STAGE0,
CONF_LD_LINKER_OPTS_STAGE0 and CONF_CPP_OPTS_STAGE0... done
checking Setting up CONF_CC_OPTS_STAGE1, CONF_GCC_LINKER_OPTS_STAGE1,
CONF_LD_LINKER_OPTS_STAGE1 and CONF_CPP_OPTS_STAGE1... done
checking Setting up CONF_CC_OPTS_STAGE2, CONF_GCC_LINKER_OPTS_STAGE2,
CONF_LD_LINKER_OPTS_STAGE2 and CONF_CPP_OPTS_STAGE2... done
checking for .subsections_via_symbols... no
checking for GNU non-executable stack support... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of void *... 8
checking for ar... /usr/bin/ar
checking whether /usr/bin/ar is GNU ar... yes
checking for ar arguments... q
checking whether ranlib is needed... no
configure: creating ./config.status
config.status: creating settings
config.status: creating mk/config.mk
config.status: creating mk/install.mk
****************************************************
Configuration done, ready to 'make install'
(see README and INSTALL files for more info.)
****************************************************

$ sudo make install
make -r --no-print-directory -f ghc.mk install BINDIST=YES NO_INCLUDE_DEPS=YES
/usr/bin/install -c -m 755 -d "/usr/local/share/man"
/usr/bin/install -c -m 755 -d "/usr/local/share/man/man1"
/usr/bin/install -c -m 644  docs/man/ghc.1 "/usr/local/share/man/man1"
"rm" -f driver/split/dist/ghc-split
echo '#!/usr/bin/perl'                                  >>
driver/split/dist/ghc-split
echo '$TARGETPLATFORM  = "i386-unknown-linux";' >> driver/split/dist/ghc-split
echo '$TABLES_NEXT_TO_CODE  = "YES";' >> driver/split/dist/ghc-split
cat driver/split/dist/ghc-split.prl
        >> driver/split/dist/ghc-split
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-7.4.1"
/usr/bin/install -c -m 755  driver/split/dist/ghc-split
"/usr/local/lib/ghc-7.4.1"
/usr/bin/install -c -m 755 -d "/usr/local/bin"
"rm" -f                                 "/usr/local/bin/ghci-7.4.1"
create () { touch "$1" && chmod 755 "$1" ; } && create
                  "/usr/local/bin/ghci-7.4.1"
echo '#!/bin/sh'                               >> "/usr/local/bin/ghci-7.4.1"
echo 'exec "/usr/local/bin/ghc-7.4.1" --interactive ${1+"$@"}' >>
"/usr/local/bin/ghci-7.4.1"
chmod +x                                 "/usr/local/bin/ghci-7.4.1"
"rm" -f "/usr/local/bin/ghci"
ln -s ghci-7.4.1 "/usr/local/bin/ghci"
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-7.4.1/include"
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-7.4.1/include/." &&
/usr/bin/install -c -m 644  includes/./*.h
"/usr/local/lib/ghc-7.4.1/include/./" &&   /usr/bin/install -c -m 755
-d "/usr/local/lib/ghc-7.4.1/include/rts" && /usr/bin/install -c -m
644  includes/rts/*.h "/usr/local/lib/ghc-7.4.1/include/rts/" &&
/usr/bin/install -c -m 755 -d
"/usr/local/lib/ghc-7.4.1/include/rts/prof" && /usr/bin/install -c -m
644  includes/rts/prof/*.h
"/usr/local/lib/ghc-7.4.1/include/rts/prof/" &&   /usr/bin/install -c
-m 755 -d "/usr/local/lib/ghc-7.4.1/include/rts/storage" &&
/usr/bin/install -c -m 644  includes/rts/storage/*.h
"/usr/local/lib/ghc-7.4.1/include/rts/storage/" &&   /usr/bin/install
-c -m 755 -d "/usr/local/lib/ghc-7.4.1/include/stg" &&
/usr/bin/install -c -m 644  includes/stg/*.h
"/usr/local/lib/ghc-7.4.1/include/stg/" &&  true
/usr/bin/install -c -m 644  includes/ghcautoconf.h
includes/ghcplatform.h
includes/dist-ghcconstants/header/GHCConstants.h
includes/dist-derivedconstants/header/DerivedConstants.h
"/usr/local/lib/ghc-7.4.1/include/"
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-7.4.1/include"
/usr/bin/install -c -m 644  rts/dist/build/ffi.h
rts/dist/build/ffitarget.h "/usr/local/lib/ghc-7.4.1/include/"
/usr/bin/install -c -m 755 -d "/usr/local/bin"
"rm" -f
"/usr/local/bin/haddock-ghc-7.4.1"
create () { touch "$1" && chmod 755 "$1" ; } && create
                          "/usr/local/bin/haddock-ghc-7.4.1"
echo '#!/bin/sh'                                       >>
"/usr/local/bin/haddock-ghc-7.4.1"
echo 'exedir="/usr/local/lib/ghc-7.4.1"'                        >>
"/usr/local/bin/haddock-ghc-7.4.1"
echo 'exeprog="haddock"'                          >>
"/usr/local/bin/haddock-ghc-7.4.1"
echo 'executablename="$exedir/$exeprog"'           >>
"/usr/local/bin/haddock-ghc-7.4.1"
echo 'datadir="/usr/local/share"'                             >>
"/usr/local/bin/haddock-ghc-7.4.1"
echo 'bindir="/usr/local/bin"'                               >>
"/usr/local/bin/haddock-ghc-7.4.1"
echo 'topdir="/usr/local/lib/ghc-7.4.1"'
>> "/usr/local/bin/haddock-ghc-7.4.1"
cat utils/haddock/haddock.wrapper                         >>
"/usr/local/bin/haddock-ghc-7.4.1"
chmod +x
"/usr/local/bin/haddock-ghc-7.4.1"
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-7.4.1/html/"
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-7.4.1/html/Classic.theme/"
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-7.4.1/html/Ocean.std-theme/"
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-7.4.1/latex/"
/usr/bin/install -c -m 644  utils/haddock/html/frames.html
"/usr/local/lib/ghc-7.4.1/html/"
/usr/bin/install -c -m 644  utils/haddock/html/haddock-util.js
"/usr/local/lib/ghc-7.4.1/html/"
/usr/bin/install -c -m 644
utils/haddock/html/Classic.theme/haskell_icon.gif
"/usr/local/lib/ghc-7.4.1/html/Classic.theme/"
/usr/bin/install -c -m 644  utils/haddock/html/Classic.theme/minus.gif
"/usr/local/lib/ghc-7.4.1/html/Classic.theme/"
/usr/bin/install -c -m 644  utils/haddock/html/Classic.theme/plus.gif
"/usr/local/lib/ghc-7.4.1/html/Classic.theme/"
/usr/bin/install -c -m 644
utils/haddock/html/Classic.theme/xhaddock.css
"/usr/local/lib/ghc-7.4.1/html/Classic.theme/"
/usr/bin/install -c -m 644
utils/haddock/html/Ocean.std-theme/hslogo-16.png
"/usr/local/lib/ghc-7.4.1/html/Ocean.std-theme/"
/usr/bin/install -c -m 644
utils/haddock/html/Ocean.std-theme/minus.gif
"/usr/local/lib/ghc-7.4.1/html/Ocean.std-theme/"
/usr/bin/install -c -m 644
utils/haddock/html/Ocean.std-theme/ocean.css
"/usr/local/lib/ghc-7.4.1/html/Ocean.std-theme/"
/usr/bin/install -c -m 644
utils/haddock/html/Ocean.std-theme/plus.gif
"/usr/local/lib/ghc-7.4.1/html/Ocean.std-theme/"
/usr/bin/install -c -m 644
utils/haddock/html/Ocean.std-theme/synopsis.png
"/usr/local/lib/ghc-7.4.1/html/Ocean.std-theme/"
/usr/bin/install -c -m 644  utils/haddock/latex/haddock.sty
"/usr/local/lib/ghc-7.4.1/latex/"
"rm" -f "/usr/local/bin/haddock"
ln -s haddock-ghc-7.4.1 "/usr/local/bin/haddock"
/usr/bin/install -c -m 755 -d "/usr/local/bin"
"rm" -f                                         "/usr/local/bin/hsc2hs"
create () { touch "$1" && chmod 755 "$1" ; } && create
                          "/usr/local/bin/hsc2hs"
echo '#!/bin/sh'                                       >>
"/usr/local/bin/hsc2hs"
echo 'exedir="/usr/local/lib/ghc-7.4.1"'                        >>
"/usr/local/bin/hsc2hs"
echo 'exeprog="hsc2hs"'                          >> "/usr/local/bin/hsc2hs"
echo 'executablename="$exedir/$exeprog"'           >> "/usr/local/bin/hsc2hs"
echo 'datadir="/usr/local/share"'                             >>
"/usr/local/bin/hsc2hs"
echo 'bindir="/usr/local/bin"'                               >>
"/usr/local/bin/hsc2hs"
echo 'topdir="/usr/local/lib/ghc-7.4.1"'
>> "/usr/local/bin/hsc2hs"
echo 'HSC2HS_EXTRA="--cflag=-fno-stack-protector "' >> "/usr/local/bin/hsc2hs"
cat utils/hsc2hs/hsc2hs.wrapper                         >>
"/usr/local/bin/hsc2hs"
chmod +x                                         "/usr/local/bin/hsc2hs"
/usr/bin/install -c -m 644  utils/hsc2hs/template-hsc.h
"/usr/local/lib/ghc-7.4.1"
/usr/bin/install -c -m 755 -d "/usr/local/bin"
"rm" -f                                         "/usr/local/bin/ghc-pkg-7.4.1"
create () { touch "$1" && chmod 755 "$1" ; } && create
                          "/usr/local/bin/ghc-pkg-7.4.1"
echo '#!/bin/sh'                                       >>
"/usr/local/bin/ghc-pkg-7.4.1"
echo 'exedir="/usr/local/lib/ghc-7.4.1"'                        >>
"/usr/local/bin/ghc-pkg-7.4.1"
echo 'exeprog="ghc-pkg"'                          >>
"/usr/local/bin/ghc-pkg-7.4.1"
echo 'executablename="$exedir/$exeprog"'           >>
"/usr/local/bin/ghc-pkg-7.4.1"
echo 'datadir="/usr/local/share"'                             >>
"/usr/local/bin/ghc-pkg-7.4.1"
echo 'bindir="/usr/local/bin"'                               >>
"/usr/local/bin/ghc-pkg-7.4.1"
echo 'topdir="/usr/local/lib/ghc-7.4.1"'
>> "/usr/local/bin/ghc-pkg-7.4.1"
cat utils/ghc-pkg/ghc-pkg.wrapper                         >>
"/usr/local/bin/ghc-pkg-7.4.1"
chmod +x                                         "/usr/local/bin/ghc-pkg-7.4.1"
/usr/bin/install -c -m 755 -d "/usr/local/bin"
"rm" -f "/usr/local/bin/ghc-pkg"
ln -s ghc-pkg-7.4.1 "/usr/local/bin/ghc-pkg"
/usr/bin/install -c -m 755 -d "/usr/local/bin"
"rm" -f                                         "/usr/local/bin/runghc"
create () { touch "$1" && chmod 755 "$1" ; } && create
                          "/usr/local/bin/runghc"
echo '#!/bin/sh'                                       >>
"/usr/local/bin/runghc"
echo 'exedir="/usr/local/lib/ghc-7.4.1"'                        >>
"/usr/local/bin/runghc"
echo 'exeprog="runghc"'                          >> "/usr/local/bin/runghc"
echo 'executablename="$exedir/$exeprog"'           >> "/usr/local/bin/runghc"
echo 'datadir="/usr/local/share"'                             >>
"/usr/local/bin/runghc"
echo 'bindir="/usr/local/bin"'                               >>
"/usr/local/bin/runghc"
echo 'topdir="/usr/local/lib/ghc-7.4.1"'
>> "/usr/local/bin/runghc"
cat utils/runghc/runghc.wrapper                         >>
"/usr/local/bin/runghc"
chmod +x                                         "/usr/local/bin/runghc"
"rm" -f "/usr/local/bin/runhaskell"
ln -s runghc "/usr/local/bin/runhaskell"
/usr/bin/install -c -m 755 -d "/usr/local/bin"
"rm" -f                                         "/usr/local/bin/ghc-7.4.1"
create () { touch "$1" && chmod 755 "$1" ; } && create
                          "/usr/local/bin/ghc-7.4.1"
echo '#!/bin/sh'                                       >>
"/usr/local/bin/ghc-7.4.1"
echo 'exedir="/usr/local/lib/ghc-7.4.1"'                        >>
"/usr/local/bin/ghc-7.4.1"
echo 'exeprog="ghc-stage2"'                          >>
"/usr/local/bin/ghc-7.4.1"
echo 'executablename="$exedir/$exeprog"'           >> "/usr/local/bin/ghc-7.4.1"
echo 'datadir="/usr/local/share"'                             >>
"/usr/local/bin/ghc-7.4.1"
echo 'bindir="/usr/local/bin"'                               >>
"/usr/local/bin/ghc-7.4.1"
echo 'topdir="/usr/local/lib/ghc-7.4.1"'
>> "/usr/local/bin/ghc-7.4.1"
echo 'executablename="$exedir/ghc"' >> "/usr/local/bin/ghc-7.4.1"
cat ghc/ghc.wrapper                         >> "/usr/local/bin/ghc-7.4.1"
chmod +x                                         "/usr/local/bin/ghc-7.4.1"
"rm" -f "/usr/local/bin/ghc"
ln -s ghc-7.4.1 "/usr/local/bin/ghc"
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-7.4.1"
for i in driver/ghc-usage.txt driver/ghci-usage.txt
rts/dist/build/libHSrts.a rts/dist/build/libHSrts_p.a
rts/dist/build/libHSrts-ghc7.4.1.so rts/dist/build/libHSrts_l.a
rts/dist/build/libHSrts_debug.a rts/dist/build/libHSrts_thr.a
rts/dist/build/libHSrts_thr_debug.a rts/dist/build/libHSrts_thr_l.a
rts/dist/build/libHSrts_thr_p.a
rts/dist/build/libHSrts_debug-ghc7.4.1.so
rts/dist/build/libHSrts_thr-ghc7.4.1.so
rts/dist/build/libHSrts_thr_debug-ghc7.4.1.so rts/dist/build/libffi.so
rts/dist/build/libffi.so.5 rts/dist/build/libffi.so.5.0.10  settings;
do \
		case $i in \
		  *.a) \
		    /usr/bin/install -c -m 644  $i "/usr/local/lib/ghc-7.4.1"; \
		    true /usr/local/lib/ghc-7.4.1/`basename $i` ;; \
		  *.dll) \
		    /usr/bin/install -c -m 644 -s  $i "/usr/local/lib/ghc-7.4.1" ;; \
		  *.so) \
		    /usr/bin/install -c -m 755  $i "/usr/local/lib/ghc-7.4.1" ;; \
		  *.dylib) \
		    /usr/bin/install -c -m 755  $i "/usr/local/lib/ghc-7.4.1";; \
		  *) \
		    /usr/bin/install -c -m 644  $i "/usr/local/lib/ghc-7.4.1"; \
		esac; \
	done
/usr/bin/gcc -E  -undef -traditional -P -DINSTALLING
-DLIB_DIR='"/usr/local/lib/ghc-7.4.1"'
-DINCLUDE_DIR='"/usr/local/lib/ghc-7.4.1/include"'
-DPAPI_INCLUDE_DIR="" -DPAPI_LIB_DIR="" -x c -Iincludes
rts/package.conf.in -o rts/package.conf.install.raw
grep -v '^#pragma GCC' rts/package.conf.install.raw | sed -e 's/""//g'
-e 's/:[ 	]*,/: /g' >rts/package.conf.install
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-7.4.1"
for i in utils/haddock/dist/build/tmp/haddock
utils/hsc2hs/dist-install/build/tmp/hsc2hs
utils/ghc-pkg/dist-install/build/tmp/ghc-pkg
utils/runghc/dist-install/build/tmp/runghc
ghc/stage2/build/tmp/ghc-stage2; do \
		/usr/bin/install -c -m 755  $i "/usr/local/lib/ghc-7.4.1"; \
	done
"mv" "/usr/local/lib/ghc-7.4.1/ghc-stage2" "/usr/local/lib/ghc-7.4.1/ghc"
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-7.4.1"
"rm" -rf "/usr/local/lib/ghc-7.4.1/package.conf.d"
/usr/bin/install -c -m 755 -d "/usr/local/lib/ghc-7.4.1/package.conf.d"
"/usr/local/lib/ghc-7.4.1/ghc-pkg" --force --global-conf
"/usr/local/lib/ghc-7.4.1/package.conf.d" update
rts/package.conf.install
Reading package info from "rts/package.conf.install" ... done.
"utils/ghc-cabal/dist-install/build/tmp/ghc-cabal" install
"/usr/local/lib/ghc-7.4.1/ghc" "/usr/local/lib/ghc-7.4.1/ghc-pkg"
"strip" "/usr/local/lib/ghc-7.4.1" libraries/ghc-prim dist-install ''
'/usr/local' '/usr/local/lib/ghc-7.4.1'
'/usr/local/share/doc/ghc/html/libraries' NO
Installing library in /usr/local/lib/ghc-7.4.1/ghc-prim-0.2.0.0
ghc-cabal: Bad interface file: dist-install/build/GHC/Classes.hi
magic number mismatch: old/corrupt interface file? (wanted 33214052, got
129742)
make[1]: *** [install_packages] Error 1
make: *** [install] Error 2

-- Johan



More information about the Glasgow-haskell-users mailing list