libzdb移植到ARM上

ARM 334浏览

1 说明

    移植libzdb-2.11.3依赖的库和工具有flex和sqlite3。首先编译ARM版本的sqlite3数据库,把安装目录指定为/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr。把flex编译成X86和ARM版本两个版本,把生成的X86版本的可执行文件flex移动到/usr/local/bin下,把生成的ARM版本的库文件移动到/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/lib/下。

注:flex选用的是flex-2.5.35版本,sqlite3选用的是sqlite-3.7.17

2 配置

./configure  --host=arm-linux --prefix=/root/softwares/libzdb 

 

 

配置过程中会出现configure: error: cannot run test programwhile cross compiling

解决方法:删掉或注释掉configure文件中13305—13375的内容,它主要是在编译自带的示例。这里不让它编译。

 

3 编译

配置成功后,就可执行make进行编译,这时会出现下面的错误:

./tools/bin/filterh < src/zdb.h> zdb/zdb.h || exit 1

/bin/bash: ./tools/bin/filterh无法执行二进制文件

make: *** [zdb/zdb.h]错误 1

    原因是由于 fileterh为ARM版本的,在X86上运行不了。

    解决方法:先配置X86版本的,生成X86版本的fileterh,把这个fileterh移到ARM版本的./tools/bin/,即可解决。

   

4 安装

   make install