“/usr/bin/ld:找不到 -lz”

2024-10-17 08:47:00
admin
原创
229
摘要:问题描述:我正在尝试在 Ubuntu 10.04 下编译 Android 源代码。我收到一条错误消息,/usr/bin/ld:找不到 -lz你能告诉我如何修复它吗?这是什么cannot find -lz意思?以下是完整的错误消息:external/qemu/Makefile.android:1101: war...

问题描述:

我正在尝试在 Ubuntu 10.04 下编译 Android 源代码。我收到一条错误消息,

/usr/bin/ld:找不到 -lz

你能告诉我如何修复它吗?这是什么cannot find -lz意思?以下是完整的错误消息:

external/qemu/Makefile.android:1101: warning: overriding commands for target `external/qemu/android/avd/hw-config-defs.h'
external/qemu/Makefile.android:933: warning: ignoring old commands for target `external/qemu/android/avd/hw-config-defs.h'
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

我的 GCC 版本输出:

scheung@scheung-virtual-box:/media/EXTDIV/mydroid$ gcc --version
gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

我已经zlib1g-dev安装了该库:

$ sudo apt-get install zlib1g-dev 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
zlib1g-dev is already the newest version.

(我从这个链接获得这个信息。)


解决方案 1:

我遇到了完全相同的错误,和您一样,安装 zlib1g-dev 也没有解决问题。安装 lib32z1-dev 让我解决了这个问题。我有一个 64 位系统,它似乎需要 32 位库。

解决方案 2:

对于 x64 安装zlib1g-dev

sudo apt-get install zlib1g-dev

我不需要所有的 x86 库;)

解决方案 3:

sudo apt-get install libz-dev在 ubuntu 中。

解决方案 4:

我刚刚遇到这个问题,与公认的解决方案“你的 make 文件坏了”和“主机包含永远不应该包含在交叉编译中”相反

android 构建包括 SDK 用于构建 android 应用的许多主机可执行文件。在我的例子中,make 在构建 zipalign 时停止,zipalign 用于在 android 设备上安装之前优化 apk。

安装 lib32z1-dev 解决了我的问题,在 Ubuntu 下您可以使用以下命令安装它:

sudo apt-get install lib32z1-dev

解决方案 5:

我遇到了完全相同的错误,安装 zlib-devel 解决了我的问题,键入命令并安装 zlib 包。

在 Linux 上:

sudo apt-get install zlib*

在 Centos 上:

sudo yum install zlib*

解决方案 6:

这意味着您要求它包含包含压缩包的库“libz.a”或“libz.so”,尽管编译器找到了一些文件,但没有一个适合您正在使用的构建。

您要么需要更改构建参数,要么需要安装正确的库,或者需要使用-L/where/it/is/lib类型选项在链接命令行上指定正确的库的位置。

解决方案 7:

另一个可能的原因:您已将 --static 传递给链接器,但您只有 libz 的动态版本 (libz.so),而没有可以静态链接的版本 (libz.a)。

解决方案 8:

尝试这三种解决方案之一。它一定有效 :) :

  1. sudo apt-get 安装 zlib1g-dev

  2. sudo apt-get 安装 libz-dev

  3. sudo apt-get 安装 lib32z1-dev

实际上缺少的不是命令lz,而是库的开发文件。因此zlib您应该安装zlib1g-devex 的 lib 来获取它。

对于 rhel7 之类的系统,该软件包是 zlib-devel

解决方案 9:

这将向您显示有关链接器不需要安装的库的原因的线索:

LD_DEBUG=all make ...

我在不同的环境中遇到了同样的问题:因为我试图在不同版本的操作系统上重新链接,所以我的系统 /lib/libz.so.1 对 libc 的依赖性未得到满足。

解决方案 10:

对于 opensuse 12.3 (Dartmouth) (i586) sudo zypper install zlib-devel zlib-devel-static

解决方案 11:

其他人提到 lib32z-dev 解决了这个问题,但一般来说,所需的软件包可以在这里找到:

http://source.android.com/source/initializing.html
请参阅“安装所需的软件包”

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   2278  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1491  
  产品生命周期管理(PLM)在现代企业运营中扮演着至关重要的角色,它涵盖了产品从概念设计到退役处理的整个生命周期。随着全球市场的不断发展和法规环境的日益复杂,PLM合规性管理成为企业必须重视的关键领域。在2025年,深入理解并遵循相关行业标准对于企业的可持续发展和市场竞争力提升具有深远意义。接下来,我们将对三大重要的行业...
plm项目管理系统是什么   3  
  PLM(产品生命周期管理)系统在企业产品研发、生产与管理过程中发挥着至关重要的作用。它整合了产品从概念设计到退役的全流程信息,帮助企业提高效率、降低成本、提升产品质量。然而,对于新用户而言,快速掌握并熟练运用PLM系统并非易事。为了助力用户迅速上手PLM系统,设计一套科学合理的三阶段课程十分必要。基础认知阶段在基础认知...
国内plm系统排名   2  
  PLM(产品生命周期管理)系统在现代企业项目管理中扮演着至关重要的角色。它涵盖了产品从概念设计到退役的整个生命周期,通过整合各种数据和流程,助力企业提升效率、降低成本、提高产品质量。而项目健康检查是确保项目顺利推进、达成目标的关键环节。借助PLM系统实现项目健康检查,能够为企业提供全面、准确的项目状态信息,及时发现潜在...
plm主要包含哪四个模块   3  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用