我RHEL 5.8
在x86_64
机器上:
$ uname -r
2.6.18-308.1.1.el5
$ uname -m
x86_64
$
尝试交叉编译源代码以使其i386
兼容:
CFLAGS += -m32
LDFLAGS += -L/lib -lpthread -luuid
但链接阶段失败并出现错误:
/usr/bin/ld: skipping incompatible /usr/lib64/libuuid.so when searching for -luuid
/usr/bin/ld: skipping incompatible /usr/lib64/libuuid.a when searching for -luuid
/usr/bin/ld: cannot find -luuid
collect2: ld returned 1 exit status
实际上,主机具有/lib/libuuid.so.1.2
:
$ readelf -h /lib/libuuid.so.1.2
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0xf90
Start of program headers: 52 (bytes into file)
Start of section headers: 13352 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 6
Size of section headers: 40 (bytes)
Number of section headers: 28
Section header string table index: 27
$
是否有任何ld
或其他选项来解决此链接问题?