I tried to cross-copy from linux i386 to arm-linux-gnueabihf, but I cannot do this because it gives me this strange error when running make:
checking ncurses.h usability... yes
checking ncurses.h presence... yes
checking for ncurses.h... yes
checking for setupterm in -ltinfo... no
checking for setupterm in -lncursesw... no
checking for setupterm in -lncurses... no
checking for setupterm in -lcurses... no
configure: error: in '/home/edi/ghc_cross/ghc/libraries/terminfo':
configure: error: curses library not found, so this package cannot be built
See 'config.log' for more details
make[2]: *** [libraries/terminfo/dist-install/package-data.mk] Error 1
make[1]: *** [all_libraries/terminfo] Error 2
make[1]: Leave Directory '/home/edi/ghc_cross/ghc'
make: *** [all] Error 2
What I've done:
-) Compiled 7.8.0 from github (the log says: “It should have been 7.8.0”, I chose 7.8 because I thought it would be more stable for cross-compilation) for my i386 (normal download, setup , make install). It worked great
-) a new llvm from svn is installed (LLVM version 3.5svn)
-) replaced libffi-3.0.11.tar.gz in ghc / libffi-tarballs with libffi-3.0.13
-) added this version of mk / build.mk:
SRC_HC_OPTS = -H32m _o -fasm -Rghc-timing
GhcStage1HcOpts = -O -fasm
GhcStage2HcOpts = -O0 -DDEBUG -Wall
GhcLibHcOpts = -O -fasm -XGenerics
GhcLibWays = v dyn
SplitObjs = NO
Stage1Only = YES
-) ncurses ftp.de.debian.org/debian/pool/main/n/ncurses/ncurses_5.9.orig.tar.gz .. /configure arm-linux -gnueabihf --with-gcc = arm-linux-gnueabihf-gcc --target = arm-linux-gnueabihf --prefix =/usr/arm-linux-gnueabihf
"+" make ", $PATH
-) "perl boot", "./configure --target = arm-linux-gnueabihf --with-gcc = arm-linux-gnueabihf-gcc -prefix =/usr/arm-linux-gnueabihf" ".
. /configure , make .
ncurses library/terminfo, . , - , , .
libncurses5-dev.deb libtinfo-dev pi "apt-get download libncurses5-dev" "apt-get libncurses5-dev" i386, $PATH
- , ?
PS: , , ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Linux ghc.haskell.org/trac/ghc/wiki/Building/CrossCompiling
: config.log:
`
configure:3400: checking for setupterm in -lcurses
configure:3425: arm-linux-gnueabihf-gcc -o conftest -fno-stack-protector conftest.c -lcurses >&5
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/lib/../lib/libcurses.a when searching for -lcurses
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/lib/libcurses.a when searching for -lcurses
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lcurses
collect2: error: ld returned 1 exit status
configure:3425: $? = 1
configure: failed program was:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| extern "C"
|
| char setupterm ();
| int
| main ()
| {
| return setupterm ();
| ;
| return 0;
| }
configure:3434: result: no
configure:3450: error: in `/home/edi/ghc_cross/ghc/libraries/terminfo':
configure:3452: error: curses library not found, so this package cannot be built See "config.log" for more details
`
,