lib_clapack.a(dlasyf.o): could not read symbols: File in wrong format---- 交叉编译opencv2.0遇到的错误解决

原创 2012年08月22日 09:12:19

       首先下载opencv2.0的源码http://www.pudn.com/downloads471/sourcecode/graph/opencv/detail1972436.html,opencv从2.1以后(包括2.1)无论安装到x86还是移植都必须使用cmake,移植的时候用cmake有时候又不能成功。无奈只能用opencv2.0,它还保留着./configure 、make 、make install三部曲安装的模式。安装过程可以参考我以前的博文:http://blog.csdn.net/yanzi1225627/article/details/7524698。这里我再收录一个make的时候出现的错误。下载后的源码解压缩,然后进到解压缩后的目录。注意下面的操作最好切换到root用户,否则有可能搜索不到交叉编译器的路径。

      第一步,cofigure的配置为:

./configure --host=arm-linux --without-gtk --without-carbon --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --enable-shared --disable-apps CXX=arm-linux-g++ CPPFLAGS=-I/usr/local/arm/4.5.1/arm-none-linux-gnueabi/include LDFLAGS=-L/usr/local/arm/4.5.1/arm-none-linux-gnueabi/libc/lib --with-v4l2 --prefix=/usr/local/arm/opencv --libdir=/usr/local/arm/opencv/lib -includedir=/usr/local/arm/opencv/include 

这里关键的是CPPFLAGS、 LDFLAGS的路径,也就是交叉编译器的路径一定要社队。另外,--prefix、--libdir、-includedir是用来设置交叉编译安装的opencv的.so文件和include文件所存放的位置。确保--prefix=/usr/local/arm/opencv 这里的opencv文件夹存在,要提前建好。另外的lib和include不需要提前建。

       第二步,输入make

这里要注意提前将png、jpg、zlib之类的用到的库安装,ubuntu下apt-get install,fedora下yum install。这是make成功的前提。在make的时候,有的机器会报错如下:

../3rdparty/.libs/lib_clapack.a(dlasyf.o): could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[2]: *** [libcxcore.la] 错误 1
make[2]:正在离开目录 `/home/carson/download/OpenCV-2.0.0/src'
make[1]: *** [all-recursive] 错误 1
make[1]:正在离开目录 `/home/carson/download/OpenCV-2.0.0'
make: *** [all] 错误 2
lib_clapack.a(dlasyf.o): could not read symbols: File in wrong format这句是关键,google了一圈无解。经我研究发现,这是linux系统未装libtool导致的,因此一定要安装libtool。重新将opencv的源码解压至一个新的文件夹,进去后重新./configure 之后是make,错误就不见了。

第三步,make install。

细节参考http://blog.csdn.net/yanzi1225627/article/details/7524698这里吧,不重复了。


/usr/lib/libexpat.so: could not read symbols解决方法

编译apache或者apache出品的log4cxx等软件时,有可能报"/usr/lib/libexpat.so: could not read symbols: File in wrong form...
  • cserchen
  • cserchen
  • 2011年08月02日 18:31
  • 12021

Could not read symbols解决方法

Could not read symbols 陈运文Could not read symbols:Linux/UNIX系统下编译时,常见的一类报错信息。  通常情况下,该编译报错信息之前会给出出现错误...
  • cserchen
  • cserchen
  • 2010年04月22日 15:03
  • 47661

解决vsftpd编译时的错误:could not read symbols: File in wrong format

编译vsftpd时,出现could not read symbols: File in wrong format错误提示,后搜寻相关资料,是因为vsftpd的一个安装文件没有考虑到64位平台库文件位置...
  • liuzhenwen
  • liuzhenwen
  • 2011年11月30日 10:46
  • 13045

关于 could not read symbols: File in wrong format 问题的解决方案

最近有个项目需要用到第三方的lib,而在它们的官网上面下载了linux版本的so 于是根据它们提供的文档来调用so里面的函数,用ndk将so编译到我自己的jni lib 中去。但是编译是过了,链接...
  • luowenlong860502
  • luowenlong860502
  • 2012年08月16日 17:01
  • 10228

Could not read symbols:Linux/UNIX系统下编译时,常见的一类报错信息解决方法

----陈运文   通常情况下,该编译报错信息之前会给出出现错误的静态库(.a结尾文件)、或动态库(.so结尾文件),该报错的基本原因是当前编译器无法对库文件进行正确的解析 Could not...
  • edonlii
  • edonlii
  • 2012年12月30日 10:35
  • 8246

could not read symbols: File in wrong format collect2: ld 返回 1 make: *** [all] 错误 1

could not read symbols: File in wrong format collect2: ld 返回 1 make: *** [all] 错误 1
  • u013101173
  • u013101173
  • 2016年09月14日 09:37
  • 1682

【工控机开发】OpenCV compile error /lib/libopencv_highgui.so could not read symbols: File in wrong format

折腾了一天的bug,从http://stackoverflow.com/questions/26902541/opencv-compile-error-linking-cxx-shared-libra...
  • shenhuan1104
  • shenhuan1104
  • 2016年09月09日 17:19
  • 1502

ubuntu14.04 配置opencv249种种问题记录

首先如果你的运气足够好,你完全可以按照 : http://blog.csdn.net/codeforces_sphinx/article/details/8246546 或者opencv中文论坛上...
  • zwlq1314521
  • zwlq1314521
  • 2015年04月10日 16:59
  • 6763

arm-linux-gnueabihf编译器在ubuntu环境下交叉编译opencv2.4.10 排版3(没有跑通例子程序)

http://blog.csdn.net/alpine_climbing/article/details/53086046 arm-linux-gnueabihf编译器在ubuntu环境下交叉编译o...
  • wb4916
  • wb4916
  • 2017年01月11日 19:49
  • 1483

动态库编译时(引用静态库)could not read symbols: Bad value

编译动态库时遇到relocation R_X86_64_32 against `a local symbol'的错误   2 ... ... relocation R_X...
  • scut1135
  • scut1135
  • 2014年08月19日 22:04
  • 4253
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:lib_clapack.a(dlasyf.o): could not read symbols: File in wrong format---- 交叉编译opencv2.0遇到的错误解决
举报原因:
原因补充:

(最多只允许输入30个字)