could not read symbols: File format not recognized
2016-12-03 13:29
1331 查看
arm-linux-gnueabi-readelf工具解决问题
编译一个32位平台的内核时,出现如下错误提示:libschw.a: could not read symbols: File format not recognized
于是进入相应的目录发现,libschw.a这个文件是存在的,但是为啥编译不过呢,同样的编译在另外一个64位平台却没有这个报错。
思路:是否与32位64位平台有关?
使用readelf来查看一下这个库,
$ arm-linux-gnueabi-readelf -h modules/aw_schw/libschwFile: modules/aw_schw/libschw(aw_schw_lib.o)
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: REL (Relocatable file)
Machine: <unknown>: 0xb7
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 (bytes into file)
Start of section headers: 161192 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 64 (bytes)
Number of section headers: 29
Section header string table index: 24果然,这个库显示是64位的,为了兼容32位的,只能修改Makefile,判断到32位时,使用32位的库。
+ifeq ($(LICHEE_ARCH),arm64) cp libschw libschw.a +else + cp libschw32 libschw.a +endif重新弄一份新32位的libschw32库后,重新编译,问题解决。
相关文章推荐
- lib64SDL_intermediates/lib64SDL.a: could not read symbols: File format not recognized
- 解决vsftpd编译时的错误:could not read symbols: File in wrong format
- /libexpat.so: could not read symbols: File in wrong format
- /libexpat.so: could not read symbols: File in wrong format
- could not read symbols: File in wrong format
- [linux+openscada+qt]could not read symbols: File in wrong format
- Apache 安装过程中出错/usr/lib/libexpat.so: could not read symbols: File in wrong format的解决办法
- 关于 could not read symbols: File in wrong format 问题的解决方案
- lib_clapack.a(dlasyf.o): could not read symbols: File in wrong format---- 交叉编译opencv2.0遇到的错误解决
- could not read symbols: File format not recognized
- could not read symbols: File in wrong format
- GCC 源码编译 mpc mprf gmp 不用make(否则会有lib/libgmp.so: could not read symbols: File in wrong format等错误)
- 解决vsftpd编译时的错误:could not read symbols: File in wrong format
- Apache编译安装:/usr/lib/libexpat.so: could not read symbols解决方法
- kafka集群 log4j:ERROR Could not read configuration file from URL
- Could not read symbols解决方法
- org.eclipse.core.internal.resources.ResourceException: Could not write to read-only file: '/。。。/bin/
- could not read data from 'Configurat'/Info.plist': The file “plist” couldn’t be opened because there
- centos yum安装 Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puias
- Could not read symbols解决方法