Behzad Yahosseini
Behzad Yahosseini

Reputation: 21

Linux Cross compile Library

I try to use Linaro to cross compile "nano-2.5.3" program for my ARM board. my build platform is linux ubuntu 12.04. I use these commands

export PATH=$PATH:/project/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin
export CROSS_COMPILE=arm-linux-gnueabihf-
export ARCH=arm

./configure --host=arm-linux-gnueabihf --prefix=/project/nano

every thing went well then I try to use make

make

after that there is a error :

/usr/include/ncursesw/curses.h:60:34: fatal error: ncursesw/ncurses_dll.h: No such file or directory

so i compile a ncurses library with my cross compiler in path "/project/ncurses" and add the include with:

export  CPPFLAGS=-I/project/ncurses/include/ncurses

and do over again. but no luck I tried everything but the cross compiler keep checking the original path here are the full error text:

make  all-recursive
make[1]: Entering directory `/project/nano-2.5.3'
Making all in doc
make[2]: Entering directory `/project/nano-2.5.3/doc'
Making all in man
make[3]: Entering directory `/project/nano-2.5.3/doc/man'
make  all-recursive
make[4]: Entering directory `/project/nano-2.5.3/doc/man'
Making all in fr
make[5]: Entering directory `/project/nano-2.5.3/doc/man/fr'
make  all-am
make[6]: Entering directory `/project/nano-2.5.3/doc/man/fr'
make[6]: Nothing to be done for `all-am'.
make[6]: Leaving directory `/project/nano-2.5.3/doc/man/fr'
make[5]: Leaving directory `/project/nano-2.5.3/doc/man/fr'
make[5]: Entering directory `/project/nano-2.5.3/doc/man'
make[5]: Nothing to be done for `all-am'.
make[5]: Leaving directory `/project/nano-2.5.3/doc/man'
make[4]: Leaving directory `/project/nano-2.5.3/doc/man'
make[3]: Leaving directory `/project/nano-2.5.3/doc/man'
Making all in texinfo
make[3]: Entering directory `/project/nano-2.5.3/doc/texinfo'
make  all-am
make[4]: Entering directory `/project/nano-2.5.3/doc/texinfo'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/project/nano-2.5.3/doc/texinfo'
make[3]: Leaving directory `/project/nano-2.5.3/doc/texinfo'
Making all in syntax
make[3]: Entering directory `/project/nano-2.5.3/doc/syntax'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/project/nano-2.5.3/doc/syntax'
make[3]: Entering directory `/project/nano-2.5.3/doc'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/project/nano-2.5.3/doc'
make[2]: Leaving directory `/project/nano-2.5.3/doc'
Making all in m4
make[2]: Entering directory `/project/nano-2.5.3/m4'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/project/nano-2.5.3/m4'
Making all in po
make[2]: Entering directory `/project/nano-2.5.3/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/project/nano-2.5.3/po'
Making all in src
make[2]: Entering directory `/project/nano-2.5.3/src'
arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/project/nano/share/locale\" -DSYSCONFDIR=\"/project/nano/etc\" -I/usr/include/ncursesw -I/project/ncurses/include/ncurses  -g -O2 -Wall -MT browser.o -MD -MP -MF .deps/browser.Tpo -c -o browser.o browser.c
In file included from nano.h:93:0,
                 from proto.h:27,
                 from browser.c:25:
/usr/include/ncursesw/curses.h:60:34: fatal error: ncursesw/ncurses_dll.h: No such file or directory
compilation terminated.
make[2]: *** [browser.o] Error 1
make[2]: Leaving directory `/project/nano-2.5.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/project/nano-2.5.3'
make: *** [all] Error 2

Upvotes: 1

Views: 1250

Answers (1)

Behzad Yahosseini
Behzad Yahosseini

Reputation: 21

Found it! the problem was from the library name similarity. I compile "ncurses" library BUT as I search the library name is "ncursesw"! very similar... but yet they are not.

Upvotes: 1

Related Questions