Perl编译,libgdbm不兼容

时间:2016-12-15 19:44:26

标签: linux perl compilation

我试图在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的版本已经过时了。

1 个答案:

答案 0 :(得分:0)

这是我第一次注意到我的库列表同时包含64位和32(未标记)版本。我消除了非64位的东西,现在正在编译。不知道这是否是我所有的问题,但是对于这个特定的细节就是这样。 –克里夫·沃伦