编译出错Relocations in generic ELF (EM: 62)

今天在交叉编译libnl的时候,出错了,信息如下:

编译出错

aarch64-linux-gnu-gcc -L/mnt/nfsroot/frank.yu/android-O/factorytest/wifi/out/lib --static  -o wpa_supplicant config.o notify.o bss.o eap_register.o ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/wpabuf.o wmm_ac.o ../src/utils/os_unix.o ../src/utils/eloop.o config_file.o ../src/rsn_supp/wpa.o ../src/rsn_supp/preauth.o ../src/rsn_supp/pmksa_cache.o ../src/rsn_supp/peerkey.o ../src/rsn_supp/wpa_ie.o ../src/common/wpa_common.o ../src/eap_peer/eap_tls.o ../src/eap_peer/eap_peap.o ../src/eap_common/eap_peap_common.o ../src/eap_peer/eap_ttls.o ../src/eap_peer/eap_md5.o ../src/eap_peer/eap_mschapv2.o ../src/eap_peer/mschapv2.o ../src/eap_peer/eap_gtc.o ../src/eap_peer/eap_otp.o ../src/eap_peer/eap_leap.o ../src/eapol_supp/eapol_supp_sm.o ../src/eap_peer/eap.o ../src/eap_peer/eap_methods.o ../src/crypto/ms_funcs.o ../src/eap_common/chap.o ../src/eap_peer/eap_tls_common.o ../src/crypto/tls_openssl.o ../src/crypto/tls_openssl_ocsp.o ../src/crypto/crypto_openssl.o    ../src/crypto/sha256-prf.o ../src/crypto/sha256-tlsprf.o ../src/crypto/random.o ../src/common/ctrl_iface_common.o ctrl_iface.o ctrl_iface_unix.o  ../src/utils/base64.o sme.o ../src/common/ieee802_11_common.o ../src/common/hw_features_common.o ../src/eap_common/eap_common.o ../src/crypto/sha1-prf.o ../src/crypto/sha1-tlsprf.o  ../src/drivers/driver_common.o wpa_supplicant.o events.o blacklist.o wpas_glue.o scan.o main.o  ../src/drivers/driver_wext.o  ../src/drivers/driver_wired.o ../src/drivers/driver_nl80211.o ../src/drivers/driver_nl80211_capa.o ../src/drivers/driver_nl80211_event.o ../src/drivers/driver_nl80211_monitor.o ../src/drivers/driver_nl80211_scan.o ../src/drivers/netlink.o ../src/drivers/linux_ioctl.o ../src/drivers/rfkill.o ../src/utils/radiotap.o ../src/drivers/drivers.o ../src/l2_packet/l2_packet_linux.o -L/mnt/nfsroot/frank.yu/android-O/factorytest/wifi/out/lib -lrt   -lnl -lssl -lcrypto -ldl  
/opt/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/../lib/gcc/aarch64-linux-gnu/4.9.2/../../../../aarch64-linux-gnu/bin/ld: /mnt/nfsroot/frank.yu/android-O/factorytest/wifi/out/lib/libnl.a(family.o): Relocations in generic ELF (EM: 62)
/opt/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/../lib/gcc/aarch64-linux-gnu/4.9.2/../../../../aarch64-linux-gnu/bin/ld: /mnt/nfsroot/frank.yu/android-O/factorytest/wifi/out/lib/libnl.a(family.o): Relocations in generic ELF (EM: 62)
/opt/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/../lib/gcc/aarch64-linux-gnu/4.9.2/../../../../aarch64-linux-gnu/bin/ld: /mnt/nfsroot/frank.yu/android-O/factorytest/wifi/out/lib/libnl.a(family.o): Relocations in generic ELF (EM: 62)
/opt/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/../lib/gcc/aarch64-linux-gnu/4.9.2/../../../../aarch64-linux-gnu/bin/ld: /mnt/nfsroot/frank.yu/android-O/factorytest/wifi/out/lib/libnl.a(family.o): Relocations in generic ELF (EM: 62)
/opt/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/../lib/gcc/aarch64-linux-gnu/4.9.2/../../../../aarch64-linux-gnu/bin/ld: /mnt/nfsroot/frankyu/android-O/factorytest/wifi/out/lib/libnl.a(family.o): Relocations in generic ELF (EM: 62)
/opt/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/../lib/gcc/aarch64-linux-gnu/4.9.2/../../../../aarch64-linux-gnu/bin/ld: /mnt/nfsroot/frank.yu/android-O/factorytest/wifi/out/lib/libnl.a(family.o): Relocations in generic ELF (EM: 62)
/opt/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/../lib/gcc/aarch64-linux-gnu/4.9.2/../../../../aarch64-linux-gnu/bin/ld: /mnt/nfsroot/frank.yu/android-O/factorytest/wifi/out/lib/libnl.a(family.o): Relocations in generic ELF (EM: 62)
/mnt/nfsroot/frank.yu/android-mbr-p212/factorytest/wifi/out/lib/libnl.a: error adding symbols: File in wrong format

错误信息是:libnl.a(family.o): Relocations in generic ELF (EM: 62)
通过查看静态库libnl.a中的文件 family.o, 发现elf64-x86-64,这个真是奇怪了

objdump -a libnl.a

cache.o:     file format elf64-little
rw-r--r-- 9150/8000  79640 Apr 14 12:01 2018 cache.o

family.o:     file format elf64-little
rw-r--r-- 9150/8000  14912 Apr 14 12:01 2018 family.o

family.o:     file format elf64-x86-64
rw-rw-r-- 1000/1000  42176 Dec 20 19:33 2012 family.o

nl.o:     file format elf64-little
rw-r--r-- 9150/8000  51840 Apr 14 12:01 2018 nl.o

重新解压了一个libnl-1.1.4.tar.gz,发现没有任何编译,lib目录竟然存在libnl.a, 原来是源码的上传者,使用的是x86-64的交叉编译器编译生成的libnl.a, 然后上传了。这样导致我这边出错了,然后把libnl.a删除了,重新编译就没有报错了。
rm lib/libnl.a

猜你喜欢

转载自blog.csdn.net/csdn66_2016/article/details/80368932
EM
62