CentOS 5.5에서 Android 커널 컴파일 하다 아래와 같은 오류가 생길 때가 있다.
host C: sqlite3 <= external/sqlite/dist/shell.c
external/sqlite/dist/shell.c: In function ‘callback’:
external/sqlite/dist/shell.c:540: warning: comparison between signed and unsigned
external/sqlite/dist/shell.c:551: warning: comparison between signed and unsigned
external/sqlite/dist/shell.c:561: warning: comparison between signed and unsigned
external/sqlite/dist/shell.c:575: warning: comparison between signed and unsigned
external/sqlite/dist/shell.c:580: warning: comparison between signed and unsigned
external/sqlite/dist/shell.c: In function ‘do_meta_command’:
external/sqlite/dist/shell.c:1051: warning: comparison between signed and unsigned
external/sqlite/dist/shell.c:1603: warning: comparison between signed and unsigned
host Executable: sqlite3 (out/host/linux-x86/obj/EXECUTABLES/sqlite3_intermediates/sqlite3)
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `PC'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgetflag'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgetent'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `UP'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tputs'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgoto'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgetnum'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `BC'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgetstr'
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/sqlite3_intermediates/sqlite3] 오류 1
[studioego@localhost cupcake]$
위와 같은 문제가 일어날 경우 아래와 같이 작업을 해준다.
[studioego@localhost cupcake]$ yum install -y readline*
[studioego@localhost cupcake]$ vi ./external/sqlite/dist/Android.mk
ifneq ($(strip $(have_readline)),)
-LOCAL_LDLIBS += -lreadline
endif
위의 대용 대신 대신 아래와 같이 -lncurses 를 추가한다.
+LOCAL_LDLIBS += -lreadline -lncurses
ifneq ($(strip $(have_readline)),)
-LOCAL_LDLIBS += -lreadline -lncurses
endif