编译tielra平台的busybox时报这个错误.必须手动添加 -lc-lnss_files -lnss_dns -lresolv(-Wl,--start-group -lc -lnss_files -lnss_dns -lresolv -Wl,--end-group)作为链接参数..
这个貌似是glibc编译时的一个bug.
不过在网上找到问题的一个灵巧解决方法, 可以避免手动添加链接参数问题.. :)
将原来的libc.a静态库修改为libc_ns.a
重新创建libc.a, 不过是创建一个链接脚本, 将libnss_files.a, libnss_dns.a, libresolv.a都加入
重新编译链接即可.
原文地址: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=76451
还有1种方法是给glibc打补丁.
http://crosstool-ng.net/hg/crosstool-ng/diff/7657175fcb8c/patches/glibc/ports-2.12.1/250-fix-pr631.patch
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/glibc/2.5/1090_all_glibc-2.3.6-fix-pr631.patch?view=diff&r1=text&tr1=1.1&r2=text&tr2=1.1&diff_format=s
貌似也能解决, 不过就没去试啦..
分享到:
相关推荐
【转】undefined reference to错误的解决方法.doc
解决 INFO: /usr/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14',将文件替换到/usr/lib64就可解决问题(源文件记得备份)
### 解决usr/lib64/libstdc++.so.6 和 lib64/libc.so.6 版本过低的问题 在进行系统环境搭建时,尤其是安装像 MySQL 这样的大型软件包时,可能会遇到库文件版本不兼容的问题。本文将详细介绍如何解决 CentOS 7.0 下 ...
# 解压 ...sudo mv /lib/x86_64-linux-gnu/libstdc++.so.6 /lib/x86_64-linux-gnu/libstdc++.so.6.old sudo ln -s /lib/x86_64-linux-gnu/libstdc++.so.6.0.29 /lib/x86_64-linux-gnu/libstdc++.so.6
//usr/lib64/libstdc++.so.5:对‘memcpy@GLIBC_2.14’未定义的引用 glibc-static-2.17-55.el7.x86_64.rpm (网上解决),我提供的是glibc-static-2.17-55.el6.x86_64.rpm相关包解决
《深入理解Linux动态链接库:以libc.so.6为例》 在Linux系统中,`libc.so.6`是一个至关重要的动态链接库,全称为“GNU C Library”,它提供了大量用于程序开发的基础函数,如字符串处理、内存管理、I/O操作等。这个...
项目在高版本linux版本编译,可执行文件放在低版本的服务器上跑,报错 undefined reference to `__isoc99_sscanf' 原因是我们的程序中使用的某个库,如xxx.a, xxx.so是在高版本的glibc环境里面进行编译的。 有...
初始化mysql报错: ./bin/mysqld: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15..../bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./bin/mysqld) libstdc++6_4.7.2-5_amd64.7z
6. **动态链接**:glibc支持动态链接,使得程序可以在运行时加载和卸载共享库,有利于代码的复用和更新。 在glibc-2.2.5这个特定版本中,开发者可能关注的改进和修复包括性能优化、安全性增强、错误修复以及对新...
centos 升级 glibc 2.14 教程: tar -xvf glibc-2.14....# 查看 /lib64/libc.so.6 软链接 ll /lib64/libc.so.6 /lib64/libc.so.6 -> /lib64/libc-2.14.so # 查看 glibc 版本 strings /lib64/libc.so.6 |grep GLIBC_
这包括但不限于正确的GCC编译器、必要的开发库(如GLIBC、PAM等),以及系统的其他依赖。你可以通过执行以下命令来检查并安装缺失的依赖: ```bash sudo apt-get update sudo apt-get install build-essential ...
2. 安装32位库:即使在64位系统上,也要确保安装了所需的32位库,这可以通过`yum install glibc.i686 libstdc++.i686`来完成。 3. 安装libstdc++:使用RPM包管理器安装解压后的RPM文件,如`rpm -ivh libstdc++-...
因此,当你尝试在C或C++代码中使用这两个函数时,编译器会报出“undefined reference”错误。 为了解决这个问题,你可以采取以下几种方法: 1. **静态链接libresolv库**:在Android.mk或者CMakeLists.txt中,确保...
nodejs 18在centos7上安装时, 报错需要...node: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /lib64/libstdc++.so.6) 参见解决办法 https://blog.csdn.net/gs80140/article/details/142141913
INFO: /usr/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14' collect2: error: ld returned 1 exit status 版本高了,换32位的版本也是不行的,按资源中的处理一下,就OK了,
安装此资源,可以解决/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14' 这个问题 包里有glibc-static-2.17-55.el7.x86_64.rpm及其相关依赖包
3. 安装必要的库文件,如"compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm",以及其他可能的依赖,如"binutils"、"glibc"、"libaio"等。 4. 设置用户权限和组,Oracle通常建议创建一个专门的Oracle用户和组,以增强...
在Linux系统中,遇到“/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found”的错误提示通常意味着系统中的`libstdc++.so.6`库版本过低,无法满足某些应用程序运行所需的C++ ABI(Application Binary ...
把libstdc++.so.6.0.13这个资源放到/usr/lib文件夹下。删除/usr/lib/libstdc++.so.6。 在输入命令ln -s /usr/lib/libstdc++.so....可以输入strings /usr/lib/libstdc++.so.6 | grep GLIBC查看GLIBCXX_XXX是否在其中