私はx86_64
マシン上RHEL 5.8
の午前:i386
互換性があるようにソースをコンパイルクロスへRHELリンカエラー
$ uname -r
2.6.18-308.1.1.el5
$ uname -m
x86_64
$
試してみてください。
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
または他の選択肢はありますか?
あなたはまた 'libuuid.so持っていますか - に/ libに> libuuid.so.1.2'シンボリックリンク? – rwos
私はリンクを作成し、バイナリをコンパイルしました。答えを投稿してください。私はそれを受け入れる。 –