我试图在Linux RHEL 6.8系统上编译Perl(任何版本)。无论是手动编译还是使用perlbrew,结果都是一样的。它在遇到libgdbm.so.2.0.0文件时死亡。
以下是成绩单的尾部:
检查您选择的C编译器和标志的一致性...... 我试图编译并运行以下简单程序:
#include <stdio.h>
int main() { printf("Ok\n"); return(0); }
I used the command:
cc -o try -O2 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -fstack-protector -L/usr/local/lib try.c -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lut
il -lc
./try
and I got the following output:
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../libgdbm.so when searching for -lgdbm
/usr/bin/ld: skipping incompatible /usr/lib/libgdbm.so when searching for -lgdbm
/usr/bin/ld: cannot find -lgdbm
collect2: ld returned 1 exit status
I can't compile the test program.
(The supplied flags or libraries might be incorrect.)
You have a BIG problem. Shall I abort Configure [y]
Ok. Stopping Configure.
有什么想法吗?我不认为libgdbm的版本已经过时了。
答案 0 :(得分:0)
这是我第一次注意到我的库列表同时包含64位和32(未标记)版本。我消除了非64位的东西,现在正在编译。不知道这是否是我所有的问题,但是对于这个特定的细节就是这样。 –克里夫·沃伦