【问题标题】:Android build failureAndroid 构建失败
【发布时间】:2011-03-12 22:00:41
【问题描述】:

我遵循了here 的指示。在$ repo sync 之后,我尝试用$ make 构建它,但得到了这个错误:

host SharedLib: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so) 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libz.so when searching for -lz 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libz.a when searching for -lz 
/usr/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz 
/usr/bin/ld: skipping incompatible /usr/lib/libz.a when searching for -lz 
/usr/bin/ld: cannot find -lz 
collect2: ld returned 1 exit status 
make: *** [out/host/linux-x86/obj/lib/libneo_cgi.so] Error 1 

使用 Ubuntu 10.04 LTS。任何帮助表示赞赏。

UPD:我找到了一个 discussion,声称该问题可能是我的 32 位系统上有 64 位库。

$ ls -l /usr/lib/libz.so 
lrwxrwxrwx 1 root root 20 2010-07-07 17:08 /usr/lib/libz.so -> /lib/libz.so.1.2.3.3

$ file /lib/libz.so.1.2.3.3
/lib/libz.so.1.2.3.3: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped

我如何确定 libz.so.1.2.3.3 是否是正确的库,如果我必须用正确的库替换它,我该怎么做?

另外,$ arch 说,我有一个 i686 架构。机器,我用的是Lenovo ThinkPad SL500 with Core 2 DUO CPU。

【问题讨论】:

标签: android ubuntu makefile compilation


【解决方案1】:

现在一切正常,解决方案是安装 lib64z1-dev:

sudo apt-get install lib64z1-dev

编辑:现在还有另一个问题,ClearSilver,描述为here最终解决了here

【讨论】:

    【解决方案2】:

    您需要安装 libz。

    sudo apt-get install libz-dev
    

    【讨论】:

      【解决方案3】:

      libz 库在不同发行版中具有不同的名称

      lib32z1 在 debian 系统上

      【讨论】:

        猜你喜欢
        • 2018-06-09
        • 2018-10-15
        • 2016-10-17
        • 2017-06-08
        • 2018-10-07
        • 2018-01-16
        • 2019-05-17
        相关资源
        最近更新 更多