在ubuntu下搭建arm版本的opencv遇到的常见错误及解决方法

原创 2012年06月20日 17:53:37

错误1.

运行cmake-gui会出现

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named numpy.distutils
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named sphinx
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named numpy.distutils

解决方法

Issue 1. when using cmake, the result always gives:

 "CUDA_TOOLKIT_ROOT_DIR not found or specified", CUDA is a parallel computing platform and programming model that enables dramatic increases in computing performance by harnessing the power of the graphics processing unit (GPU). It is only developed for NVdia GPU. However, it seems that not all PC will be equipped with that kind of GPU, theoretically, it is not necessary to install it and we make the option WITH_CUDA OFF. Also the opencv only support CUDA 4.0 now from the post bellow.

http://tech.groups.yahoo.com/group/OpenCV/message/85791

 From below link, you can install CUDA 4.0 successfully

http://blog.ryant.org/2011/12/installing-cuda-toolkit-on-ubuntu-1110.html

Issue 2. ImportError: No module named sphinx:

Just copy the following line, then this problem disappear.

sudo apt-get install python-sphinx

 

Issue 3. ImportError: No module named numpy.distutils

sudo apt-get install python-numpy

 

Issue 4.  JASPER (JASPER LIBRARY, JASPER_INCLUDE_ADDR)

sudo apt-get install libjasper-dev


在终端界面中,进入目录/usr/local/opencv-arm,运行make编译opencv

编译时发现如下错误:
Linking CXX executable http://www.cnblogs.com/bin/opencv_createsamples
http://www.cnblogs.com/lib/libcxcore.so: undefined reference to `clock_gettime'
http://www.cnblogs.com/lib/libcxcore.so: undefined reference to `pthread_key_create'
http://www.cnblogs.com/lib/libcxcore.so: undefined reference to `pthread_getspecific'
http://www.cnblogs.com/lib/libcxcore.so: undefined reference to `pthread_setspecific'

原因是cmake不认识我定义的arm-linux系统标记,没有加上库pthread和rt的链接选项

5、修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt,重新编译,错误消除

如果还提示下面的错误:

opencv/OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h: In function 'T cvflann::abs(T) [with T = long double]':

OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h:63: error: 'fabsl' was not declared in this scope

make[2]: * [modules/flann/CMakeFiles/opencv_flann.dir/src/precomp.obj] Error 1

make[1]: * [modules/flann/CMakeFiles/opencv_flann.dir/all] Error 2

则修改


Replace fabsl() with fabs() in /OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h 63行

,在/usr/local/opencv-arm目录下$sudo make
(1),80%报错:
。。。。/home/xin/tiaozhansai/OpenCV-2.2.0/modules/ml/src/gbt.cpp:474: error: 'expl' was not declared in this scope

    修改gbt.cpp中14行,16行:注释掉

                    //#if ANDROID

                    #define expl(x) exp(x)
                    //#endif
        错误消除。

,83%报错:
Linking CXX executable ../../bin/opencv_createsamples
../../lib/libopencv_highgui.so: undefined reference to `_TIFFerrorHandler'
../../lib/libopencv_highgui.so: undefined reference to `_TIFFrealloc'
../../lib/libopencv_highgui.so: undefined reference to `_TIFFmalloc'
../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemcpy'
../../lib/libopencv_highgui.so: undefined reference to `TIFFOpen'
../../lib/libopencv_highgui.so: undefined reference to `_TIFFfree'
../../lib/libopencv_highgui.so: undefined reference to `_TIFFwarningHandler'
../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemcmp'
../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemset'
    解决方法:修改CMakeCache.txt,WITH_TIFF:BOOL=ON,改成OFF(不再对TIFF图像格式支持。这里我前面已经装过libtiff4-dev,但是编译报错,我不明白是为什么),重新编译,错误消除。

(4),96%报错:
CMakeFiles/opencv_test.dir/src/highguitest.obj: In function `CV_HighGuiTest::run(int)':
highguitest.cpp:(.text._ZN14CV_HighGuiTest3runEi+0x18): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
../../lib/libopencv_features2d.so: undefined reference to `cv::SIFT::SIFT(double, bool, bool, int, int, int, int)'
    解决方法:在OpenCV2.2.0/modules/features2d/src/sift.cpp下
            #ifdef __arm__
            #define ARM_NO_SIFT
            #endif   
        注释掉#define ARM_NO_SIFT.错误消除,
成功!

使用VB.NET遇到的若干问题及解决方案

目的:提高使用VB.NET操作excel的运行效率 方式:尽可能减少与excel交互的次数 问题1:如何把Worksheet中的Range对象整体赋值给数组,减少循环读入的次数? 这个问...
  • u011021024
  • u011021024
  • 2016年11月02日 23:38
  • 491

ubuntu中 opencv版本查看

命令如下: [plain] view plaincopy pkg-config --modversion opencv   库文件一般放在:   /usr/local/...
  • ppp2006
  • ppp2006
  • 2015年08月12日 16:02
  • 5030

项目中遇到的 问题及解决方案

1.Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA 解决方案:1).android设备网络连接没打开,例如...
  • Dreamfree3
  • Dreamfree3
  • 2016年03月01日 15:47
  • 1623

初学ASP.NET开发web应用时遇到的一些常见问题和解决方法

第一个问题:在安装Microsoft Visual Studio .NET2003时,没有安装IIS,而是后安装的IIS,这种情况下,创建web应用时会报错解决方法:在命令提示窗口中运行如下命令即可:...
  • Improving
  • Improving
  • 2006年05月17日 13:39
  • 780

Ubuntu16.04交叉编译OpenCV并移植

宿主机:Ubuntu 16.04 64bit 开发板:tq2440 OpenCV: 2.4.3 其他: arm-linux-g++ 4.4.3 / arm-linux-gcc 4.4.3 C...
  • lell3538
  • lell3538
  • 2016年09月18日 09:32
  • 1462

开发过程中遇到问题解决方法

自定义cell 时获取到的width 总是320: https://my.oschina.net/ioslighter/blog/390880 dyld: Library not load...
  • u013410274
  • u013410274
  • 2017年04月25日 09:46
  • 227

WEB开发过程中遇到的各种问题及解决方法总结

Q:The user specified as a definer ('root'@'%') does not exist A:只要给root用户再添加一个对全部host都有可以访问的权限  ...
  • happyflyingave
  • happyflyingave
  • 2014年05月06日 08:59
  • 3506

项目交付中遇到的问题及解决方案

遇到的紧急事件: Q:  1. 突然需要交付单元测试用例和单元测试报告; 2. 需要交付接口测试用例和接口测试报告; 3. 平时测试没有维护过用例,造成交付时时间紧急,不能及时交付; 4. ...
  • jerrygirl
  • jerrygirl
  • 2017年08月24日 15:10
  • 217

ADO.NET数据操作常见错误总结

1-数据库服务器无法连接问题凡是出现以上问题时,使用如下方法。1检查SQLServer服务是否打开:2检查连接字符串中的Server对应的服务器名称是否正确(注意默认实例,命名实例的名称)3如果示连接...
  • qq_36482772
  • qq_36482772
  • 2017年05月02日 05:57
  • 582

html中一些常见问题的解决方法

扯扯淡:第一次写博客,最近在学习html5,把遇到的坑记录下来,一是能加深一下印象,二能帮助一下遇到相同坑的童鞋,三能锻炼自己的表达能力,一举三得,哈哈,如有错误欢迎批评指正......... ...
  • qq289223562
  • qq289223562
  • 2016年10月13日 22:47
  • 581
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在ubuntu下搭建arm版本的opencv遇到的常见错误及解决方法
举报原因:
原因补充:

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