我们有 centos6 6.5 64 位服务器。它已设置为 32 位开发。我们的项目是静态链接的。团队成员安装了最新的 openssl、openssl-devel 和 openssl-static 64 位和 32 位 i686 库。我们的设置中没有其他任何修改。现在,在编译时,我们得到类似于
/usr/lib/libcrypt.a(md5-crypt.o): In function `__md5_crypt_r':
(.text+0x99): undefined reference to `NSSLOW_Init'
/usr/lib/libcrypt.a(md5-crypt.o): In function `__md5_crypt_r':
(.text+0xb4): undefined reference to `NSSLOWHASH_NewContext'
我们尝试恢复 openssl 包,但错误仍然存在,谢谢
答案1
显然 libcrypt.a 在过程中的某个地方被替换了。我们不得不使用
http://blog.gmane.org/gmane.linux.distributions.gobo.general/month=20100601
配置
配置 --prefix=glibc-2.12-1.47. el6_2.9.src/glibc-2.12-2-gc4ccff1/binary --host=i686-redhat-linux --build=i686-redhat-linux --enable-static --disable-nss-crypt CC='gcc -Wa,--32 -m32' CXX='g++ -Wa,--32 -m32' CFLAGS='-O2 -march=i686' CXXFLAGS='-O2 -march=i686' LDFLAGS=-m32