[GHC] #8746: Crosscompiling

GHC ghc-devs at haskell.org
Thu Feb 13 15:38:52 UTC 2014


#8746: Crosscompiling
-------------------------------------+-------------------------------------
        Reporter:  Visionstar        |            Owner:
            Type:  bug               |           Status:  new
        Priority:  high              |        Milestone:  7.8.2
       Component:  Compiler          |          Version:  7.8.1-rc1
      Resolution:                    |         Keywords:  Crosscompile
Operating System:  Linux             |  cross compile failed ncurses
 Type of failure:  Building GHC      |  setupterm not found
  failed                             |     Architecture:  Unknown/Multiple
       Test Case:                    |       Difficulty:  Unknown
        Blocking:                    |       Blocked By:
                                     |  Related Tickets:
-------------------------------------+-------------------------------------

Comment (by Visionstar):

 Thank you very much for your response!

 i somehow managed to go past this 'bug' by doing the following:

 I configured the ncurses library like this:

 {{{
 ./configure arm-linux-gnueabihf --with-gcc=arm-linux-gnueabihf-gcc
 --target=arm-linux-gnueabihf --prefix=/usr/arm-linux-gnueabihf --with-
 shared --host=arm-linux-gnueabihf --with-build-cpp=arm-linux-gnueabihf-g++
 }}}

 Afterwards i did the "make" and added it to the path

 Then i used the ./configure with an "sysroot" command command for GHC like
 this:

 {{{
 --target=arm-linux-gnueabihf --with-gcc=arm-linux-gnueabihf-gcc --with-
 shared --enable-unregisterised
 }}}

 Which probably didn't change anything, but it got me past that problem
 with ncurses.



 '''''But''''' i have now another problem: i get the following error when i
 try to 'make' the application:


 {{{

 when making flags consistent: Warning:
     Compiler unregisterised, so compiling via C
 <<ghc: 1727251296 bytes, 1559 GCs, 5132689/17335628 avg/max bytes
 residency (7 samples), 37M in use, 0.00 INIT (0.00 elapsed), 2.86 MUT
 (7.22 elapsed), 0.30 GC (0.30 elapsed) :ghc>>
 echo "compiler_stage2_depfile_haskell_EXISTS = YES" >>
 compiler/stage2/build/.depend-v-dyn.haskell.tmp
 for dir in compiler/stage2/build/./ compiler/stage2/build/CodeGen/
 compiler/stage2/build/CodeGen/Platform/ compiler/stage2/build/Hoopl/
 compiler/stage2/build/Llvm/ compiler/stage2/build/LlvmCodeGen/
 compiler/stage2/build/PPC/ compiler/stage2/build/RegAlloc/
 compiler/stage2/build/RegAlloc/Graph/
 compiler/stage2/build/RegAlloc/Linear/
 compiler/stage2/build/RegAlloc/Linear/PPC/
 compiler/stage2/build/RegAlloc/Linear/SPARC/
 compiler/stage2/build/RegAlloc/Linear/X86/
 compiler/stage2/build/RegAlloc/Linear/X86_64/ compiler/stage2/build/SPARC/
 compiler/stage2/build/SPARC/CodeGen/ compiler/stage2/build/Vectorise/
 compiler/stage2/build/Vectorise/Builtins/
 compiler/stage2/build/Vectorise/Generic/
 compiler/stage2/build/Vectorise/Monad/
 compiler/stage2/build/Vectorise/Type/
 compiler/stage2/build/Vectorise/Utils/ compiler/stage2/build/X86/; do if
 test ! -d $dir; then mkdir -p $dir; fi done
 grep -v ' : [a-zA-Z]:/' compiler/stage2/build/.depend-v-dyn.haskell.tmp >
 compiler/stage2/build/.depend-v-dyn.haskell.tmp2
 sed '/hs$/ p                                      ; /hs$/ s/o /hi /g
 ; /hs$/ s/:/ : %hi: %o /                       ; /hs$/ s/^/$(eval $(call
 hi-rule,/      ; /hs$/ s/$/))/                             ; /hs-boot$/ p
 ; /hs-boot$/ s/o-boot /hi-boot /g              ; /hs-boot$/ s/:/ : %hi-
 boot: %o-boot /        ; /hs-boot$/ s/^/$(eval $(call hi-rule,/ ; /hs-
 boot$/ s/$/))/' compiler/stage2/build/.depend-v-dyn.haskell.tmp2 >
 compiler/stage2/build/.depend-v-dyn.haskell
 "rm" -f utils/haddock/dist/build/.depend.c_asm.tmp
 "rm" -f utils/haddock/dist/build/.depend.c_asm.bit
 echo "utils/haddock_dist_depfile_c_asm_EXISTS = YES" >>
 utils/haddock/dist/build/.depend.c_asm.tmp
 mv utils/haddock/dist/build/.depend.c_asm.tmp
 utils/haddock/dist/build/.depend.c_asm
 "rm" -f utils/haddock/dist/build/.depend.haskell.tmp
 "inplace/bin/ghc-stage1" -M -static  -H32m -O -fasm -Rghc-timing    -hide-
 all-packages -i -iutils/haddock/driver -iutils/haddock/src
 -iutils/haddock/vendor/attoparsec-0.10.4.0 -iutils/haddock/dist/build
 -iutils/haddock/dist/build/autogen -Iutils/haddock/dist/build
 -Iutils/haddock/dist/build/autogen    -optP-DIN_GHC_TREE -optP-include
 -optPutils/haddock/dist/build/autogen/cabal_macros.h -package
 Cabal-1.18.1.3 -package array-0.5.0.0 -package base-4.7.0.0 -package
 bytestring-0.10.4.0 -package containers-0.5.4.0 -package deepseq-1.3.0.2
 -package directory-1.2.0.2 -package filepath-1.3.0.2 -package
 ghc-7.8.0.20140204 -package xhtml-3000.2.1 -funbox-strict-fields -Wall
 -fwarn-tabs -O2 -XHaskell2010  -no-user-package-db -rtsopts      -odir
 utils/haddock/dist/build -hidir utils/haddock/dist/build -stubdir
 utils/haddock/dist/build -dep-makefile
 utils/haddock/dist/build/.depend.haskell.tmp -dep-suffix "" -include-pkg-
 deps  utils/haddock/driver/Main.hs
 utils/haddock/src/Documentation/Haddock.hs
 utils/haddock/vendor/attoparsec-0.10.4.0/Data/Attoparsec.hs
 utils/haddock/vendor/attoparsec-0.10.4.0/Data/Attoparsec/ByteString.hs
 utils/haddock/vendor/attoparsec-0.10.4.0/Data/Attoparsec/ByteString/Char8.hs
 utils/haddock/vendor/attoparsec-0.10.4.0/Data/Attoparsec/Combinator.hs
 utils/haddock/vendor/attoparsec-0.10.4.0/Data/Attoparsec/Number.hs
 utils/haddock/vendor/attoparsec-0.10.4.0/Data/Attoparsec/ByteString/FastSet.hs
 utils/haddock/vendor/attoparsec-0.10.4.0/Data/Attoparsec/ByteString/Internal.hs
 utils/haddock/vendor/attoparsec-0.10.4.0/Data/Attoparsec/Internal.hs
 utils/haddock/vendor/attoparsec-0.10.4.0/Data/Attoparsec/Internal/Types.hs
 utils/haddock/src/Haddock.hs  utils/haddock/src/Haddock/Interface.hs
 utils/haddock/src/Haddock/Interface/Rename.hs
 utils/haddock/src/Haddock/Interface/Create.hs
 utils/haddock/src/Haddock/Interface/AttachInstances.hs
 utils/haddock/src/Haddock/Interface/LexParseRn.hs
 utils/haddock/src/Haddock/Interface/ParseModuleHeader.hs
 utils/haddock/src/Haddock/Parser.hs
 utils/haddock/src/Haddock/Parser/Util.hs
 utils/haddock/src/Haddock/Utf8.hs  utils/haddock/src/Haddock/Utils.hs
 utils/haddock/src/Haddock/Backends/Xhtml.hs
 utils/haddock/src/Haddock/Backends/Xhtml/Decl.hs
 utils/haddock/src/Haddock/Backends/Xhtml/DocMarkup.hs
 utils/haddock/src/Haddock/Backends/Xhtml/Layout.hs
 utils/haddock/src/Haddock/Backends/Xhtml/Names.hs
 utils/haddock/src/Haddock/Backends/Xhtml/Themes.hs
 utils/haddock/src/Haddock/Backends/Xhtml/Types.hs
 utils/haddock/src/Haddock/Backends/Xhtml/Utils.hs
 utils/haddock/src/Haddock/Backends/LaTeX.hs
 utils/haddock/src/Haddock/Backends/HaddockDB.hs
 utils/haddock/src/Haddock/Backends/Hoogle.hs
 utils/haddock/src/Haddock/ModuleTree.hs
 utils/haddock/src/Haddock/Types.hs  utils/haddock/src/Haddock/Doc.hs
 utils/haddock/src/Haddock/Version.hs
 utils/haddock/src/Haddock/InterfaceFile.hs
 utils/haddock/src/Haddock/Options.hs
 utils/haddock/src/Haddock/GhcUtils.hs
 utils/haddock/src/Haddock/Convert.hs

 when making flags consistent: Warning:
     Compiler unregisterised, so compiling via C

 utils/haddock/src/Haddock/InterfaceFile.hs:85:2:
      error: #error Unsupported GHC version
      #error Unsupported GHC version
       ^
 <<ghc: 45331480 bytes, 13 GCs, 658070/1679640 avg/max bytes residency (3
 samples), 31M in use, 0.00 INIT (0.00 elapsed), 0.08 MUT (0.15 elapsed),
 0.03 GC (0.03 elapsed) :ghc>>
 make[1]: *** [utils/haddock/dist/build/.depend.haskell] Fehler 1
 make: *** [all] Fehler 2

 }}}


 I don't really know what to do with this error, because i thought that
 7.8.0 is supported for crosscompiling, but now i get an  unsupported ghc
 version error?

 Could you tell me how to come over this error or how to bypass/workaround
 it?

 Greetings,
 Edi

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8746#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list