[GHC] #8378: Cross-compiling from x86_64-unknown-linux-gnu to x86_64-sun-solaris2 with mkGmpConstants workaround fails to build objects for integer-gmp

GHC ghc-devs at haskell.org
Sat Sep 28 18:20:51 CEST 2013


#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 at ns2:.
 ssh root at 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



More information about the ghc-tickets mailing list