sqlite-autoconf-3071401.tar.gz
2、解压
#
tar xvf sqlite-autoconf-3071401.tar.gz
3、运行配置文件
./configure --host=arm-linux
--prefix=/work/src_packages/sqlite-autoconf-3071401/dist-sqlite3
4、编译
# make
# make install
可能会出现./libtool: line 6619: arm-linux-ranlib: command not
found错误
原因:原因:root权限的时候没有设置arm-linux
的PATH
解决办法:
切换到root用户;
# su root
在/root/.bashrc中的末尾加上export
PATH=$PATH:/usr/local/arm/4.2.2-eabi/usr/bin:/usr/apps/pgsql/include:/usr/apps/pgsql/bin:/usr/local/arm-gdb/bin;
#source .bashrc
# make install
5、如果编译通过会在/work/src_packages/sqlite-autoconf-3071401/dist-sqlite3目录中生成三个目录
bin 内有可执行文件 sqlite3 ,可以放在开发板上运行 include 内有
sqlite3.h 与 sqlite3ext.h 两个头文件,是我们要得到的文件 lib 内有 libsqlite3.a 静态库文件和 libsqlite3.so.0.8.6 动态库文件,也是我们需要的文件
6、剥离调试信息
# cd dist-sqlite3/lib
# file
libsqlite3.so.0.8.6
libsqlite3.so.0.8.6: ELF 32-bit LSB shared object, ARM, version 1
(SYSV), dynamically linked, not
stripped
# ls -l
libsqlite3.so.0.8.6
-rwxr-xr-x 1 root root 1781344 2012-10-09 15:37
libsqlite3.so.0.8.6
# arm-linux-strip
libsqlite3.so.0.8.6
# file libsqlite3.so.0.8.6
libsqlite3.so.0.8.6: ELF 32-bit LSB shared object, ARM, version 1
(SYSV), dynamically linked, stripped
# ls -l
libsqlite3.so.0.8.6
-rwxr-xr-x 1 root root 578464 2012-10-09 15:57
libsqlite3.so.0.8.6
7、通过ftp 或nfs把bin目录中的sqlite3下载的开发板的bin目录中
把lib目录中的 libsqlite3.so.0 libsqlite3.so.0.8.6下载到开发板中的lib目录中
8、在开发板上运行:
#sqlite3
出现错误: sqlite3: error while loading
shared libraries: libncurses.so.5: cannot open shared
object file: No such file or directory
解决方法:
#cd /lib
# ln -l libsqlite3.so.0.8.6 libncurses.so.5