2012-06-09 2 views
0

내 팔 기반 보드 용으로 lftp-4.3.5를 컴파일하려고합니다. 구성 파일을 다음과 같이 실행했습니다 :ARM 기반 보드 용 크로스 컴파일 lftp-4.3.5 패키지

"./configure --host = arm-montavista-linux CXX = arm-montavista-linux-gnueabi-g ++ CC = arm-montavista-linux-gnueabi-gcc --with- openssl =/abcd/xxx/yyy/ssl with_included_readline = no "

구성 파일을 약간 수정해야했습니다. 내가

checking for pty.h... yes 
checking for library containing openpty... -lutil 
checking for _getpty... configure: error: in `/home/xxxx/yyyy/lftp-4.3.5': 
checking whether posix_fallocate() works... no 
configure: error: cannot run test program while cross compiling 
See `config.log' for more details 

같은 오류를 얻고 있었다 사촌 나는 이것에 대한 해결책은 내가 이런 식으로 수정이 막힘을 제거있어 얻을 수 없었다 "i_cv_posix_fallocate_works = 예"를 추가했다.

이제는 readline 라이브러리를 요청했고, lib 소스 코드 (readline-6.2)를 다운로드하고 크로스 컴파일했습니다. make file을 실행하는 동안 make 스크립트는 주어진 위치에서 크로스 컴파일 된 libreadline.a 파일을 가져 오지 않았습니다 (configure를 실행하는 동안 --libdir 경로를 추가했습니다). 어쨌든 나는 스크립트를하려면이 lib 디렉토리를 제공 할 수 있었다, 그러나 전대이 lib 디렉토리를 읽을 때, 그것은 많은 오류를 던졌다 : 아무도 나를 여기에 문제를 파악하는 데 도움 수 있다면 1 : 지금

/bin/sh ../libtool --silent --tag=CXX --mode=link arm-montavista-linux-gnueabi-g++ -O2 -Wall -Wwrite-strings -Woverloaded-virtual -fno-exceptions -fno-rtti -fno-implement-inlines -s -o lftp lftp.o complete.o lftp_rl.o attach.o liblftp-jobs.la -lreadline -lutil -ldl 
/home/dev/montavista/tools/arm-gnueabi/bin/../lib/gcc/arm-montavista-linux-gnueabi/4.4.1/../../../../arm-montavista-linux-gnueabi/bin/ld: warning: library search path "/usr/local/lib/lftp/4.3.7" is unsafe for cross-compilation 
/usr/local/lib/lftp/4.3.7/libreadline.a(display.o): In function `cr': 
/home/dev/workspace/readline-6.2/display.c:2465: undefined reference to `tputs' 
/usr/local/lib/lftp/4.3.7/libreadline.a(display.o): In function `_rl_clear_screen': 
/home/dev/workspace/readline-6.2/display.c:2345: undefined reference to `tputs' 
/usr/local/lib/lftp/4.3.7/libreadline.a(display.o): In function `_rl_clear_to_eol': 
/home/dev/workspace/readline-6.2/display.c:2322: undefined reference to `tputs' 
/usr/local/lib/lftp/4.3.7/libreadline.a(display.o): In function `_rl_move_vert': 
/home/dev/workspace/readline-6.2/display.c:2053: undefined reference to `tputs' 
/home/dev/workspace/readline-6.2/display.c:2061: undefined reference to `tputs' 
/usr/local/lib/lftp/4.3.7/libreadline.a(display.o):/home/dev/workspace/readline-6.2/display.c:1981: more undefined references to `tputs' follow 
/usr/local/lib/lftp/4.3.7/libreadline.a(display.o): In function `insert_some_chars': 
/home/dev/workspace/readline-6.2/display.c:2369: undefined reference to `tgoto' 
/home/dev/workspace/readline-6.2/display.c:2370: undefined reference to `tputs' 
/home/dev/workspace/readline-6.2/display.c:2379: undefined reference to `tputs' 
/home/dev/workspace/readline-6.2/display.c:2386: undefined reference to `tputs' 
/home/dev/workspace/readline-6.2/display.c:2395: undefined reference to `tputs' 
/usr/local/lib/lftp/4.3.7/libreadline.a(display.o): In function `delete_chars': 
/home/dev/workspace/readline-6.2/display.c:2412: undefined reference to `tgoto' 
/home/dev/workspace/readline-6.2/display.c:2413: undefined reference to `tputs' 
/home/dev/workspace/readline-6.2/display.c:2419: undefined reference to `tputs' 
/usr/local/lib/lftp/4.3.7/libreadline.a(display.o): In function `rl_redisplay': 
/home/dev/workspace/readline-6.2/display.c:1083: undefined reference to `tputs' 
/usr/local/lib/lftp/4.3.7/libreadline.a(terminal.o): In function `_rl_set_cursor': 
/home/dev/workspace/readline-6.2/terminal.c:728: undefined reference to `tputs' 
/usr/local/lib/lftp/4.3.7/libreadline.a(terminal.o): In function `_rl_control_keypad': 
/home/dev/workspace/readline-6.2/terminal.c:701: undefined reference to `tputs' 
/usr/local/lib/lftp/4.3.7/libreadline.a(terminal.o):/home/dev/workspace/readline-6.2/terminal.c:703: more undefined references to `tputs' follow 
/usr/local/lib/lftp/4.3.7/libreadline.a(terminal.o): In function `_rl_get_screen_size': 
/home/dev/workspace/readline-6.2/terminal.c:269: undefined reference to `tgetnum' 
/home/dev/workspace/readline-6.2/terminal.c:285: undefined reference to `tgetnum' 
/usr/local/lib/lftp/4.3.7/libreadline.a(terminal.o): In function `_rl_init_terminal_io': 
/home/dev/workspace/readline-6.2/terminal.c:452: undefined reference to `tgetent' 
/usr/local/lib/lftp/4.3.7/libreadline.a(terminal.o): In function `get_term_capabilities': 
/home/dev/workspace/readline-6.2/terminal.c:415: undefined reference to `tgetstr' 
/usr/local/lib/lftp/4.3.7/libreadline.a(terminal.o): In function `_rl_init_terminal_io': 
/home/dev/workspace/readline-6.2/terminal.c:516: undefined reference to `tgetflag' 
/home/dev/workspace/readline-6.2/terminal.c:516: undefined reference to `tgetflag' 
/home/dev/workspace/readline-6.2/terminal.c:531: undefined reference to `tgetflag' 
/home/dev/workspace/readline-6.2/terminal.c:546: undefined reference to `PC' 
/home/dev/workspace/readline-6.2/terminal.c:546: undefined reference to `BC' 
/home/dev/workspace/readline-6.2/terminal.c:546: undefined reference to `UP' 
collect2: ld returned 1 exit status 
make[1]: *** [lftp] Error 1 
make[1]: Leaving directory `/home/dev/workspace/sslftp/lftp-4.3.7/src' 
make: *** [all-recursive] Error 1 

? 2. 또는 어떤 의미로이 readline 라이브러리를 건너 뛸 수 있습니까? ('--with-readline = no'옵션은 설정 파일에 구성되지 않았습니다.)

나는 4-5 일 동안 크로스 컴파일을 시도하고 있지만 아직은 매달려있다. 아무도 내가 pls 도움이 될 것입니다. 같은 tputs (http://linux.die.net/man/3/tputs)로 정의되지 않은 참조를 고려

감사합니다, 라훌

답변

1

, 그들이 ncurses를 라이브러리 (http://www.gnu.org/software/ncurses/)의 일부 것으로 보인다. 당신은 ncurses와 컴파일하고 링크해야합니다.

+0

감사합니다 deepak .. 나는 ncurses 소스 코드를 컴파일하고 lftp configure 파일을 수정하여 libncurses.a를 포함 시켰습니다. 위의 문제가 해결되었습니다. – RPS

관련 문제