5

My link line to gcc includes the following two entries in succession:

-lrt
-lpam

And this appears expanded as:

/usr/lib64/librt.so /usr/lib/libpam.so

Why is rt resolved to lib64 whereas pam is resolved to lib and consequently fails:

/usr/lib/libpam.so: could not read symbols: File in wrong format

Since it is only 32 bit ELF. There is a /usr/lib64/libpam.so with is 64 bit ELF, why isn't it taken?

4

1 回答 1

1

尝试使用 -m32 强制 32 位。还要检查您正在编译的 .bashrc 或 .bash_profile 设置的任何环境变量,以确定是否有任何交叉连接。

于 2010-11-08T00:21:25.633 回答