
#8378: Cross-compiling from x86_64-unknown-linux-gnu to x86_64-sun-solaris2 with mkGmpConstants workaround fails to build objects for integer-gmp -------------------------------------+------------------------------------- Reporter: AlainODea | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: Keywords: solaris,integer- | Operating System: Unknown/Multiple gmp | Type of failure: Building GHC Architecture: Unknown/Multiple | failed Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 8373,8366,8361 | -------------------------------------+------------------------------------- Here is the script I used to get build dependencies: {{{ sudo apt-get update sudo apt-get install --assume-yes ghc libncurses5-dev \ mesa-common-dev freeglut3-dev libedit-dev cabal install happy alex haddock }}} Here is the build bootstrap script I am using on a clean Ubuntu 13.04 install: {{{ #!/bin/bash export TARGET=x86_64-sun-solaris2.11 export PREFIX=$HOME/Documents/gcc/cross/$TARGET export SYSROOT=$PREFIX/sysroot export PATH=$PATH:$PREFIX/bin export GCC=$PREFIX/bin/$TARGET-gcc export LD=$PREFIX/bin/$TARGET-ld export NM=$PREFIX/bin/$TARGET-nm export OBJDUMP=$PREFIX/bin/$TARGET-objdump git clone git://github.com/ghc/ghc pushd ghc echo "Stage1Only = YES" >> mk/build.mk cp mk/build.mk{.sample,} ./sync-all --no-dph get perl boot patch -d libraries/haskeline/ -p1 < \ ../ghc-patches/0001-Include-termios.h-for- solaris2-host.-Fixes-8366.patch cp $SYSROOT/opt/local/include/gmp.h libraries/integer-gmp/gmp/ ./configure \ --host=x86_64-unknown-linux-gnu \ --build=x86_64-unknown-linux-gnu \ --target=x86_64-sun-solaris2 \ --with-gcc=$GCC \ --with-ld=$LD \ --with-nm=$NM \ --with-objdump=$OBJDUMP make # will fail with failure to run mkGmpDerivedConstants scp inplace/lib/bin/mkGmpDerivedConstants root@ns2:. ssh root@ns2 "./mkGmpDerivedConstants" > \ libraries/integer-gmp/mkGmpDerivedConstants/dist/GmpDerivedConstants.h make cat << __EOF__ >> libraries/base/include/HsBaseConfig.h #define HTYPE_DOUBLE Double #define HTYPE_FLOAT Float __EOF__ make #make -j $(nproc) popd }}} The log of the run is attached. It is too large for the ticket body and apparently too large for Gist as well. Somewhere along the way the build forgets integer-gmp and no objects are built for it. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8378 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler