Quantcast

Need help to cross compile opencv on Beagle Board

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Need help to cross compile opencv on Beagle Board

avadhut chaudhari
Hello All,
  I really need help. I have installed Eclipse on Ubuntu 11.10. I am using arm-linux-enuabi-gcc and arm-linux-enuabi-g++ cross compilers.

I am able to cross compile & run arm binary (executable) for the Hello World program on Beagle Board. But When I build opencv program on Eclipse, it creates armel binary.When I copied and run that binary on Beagle Board, I got following error message-

error while loading shared libraries: libopencv_core.so.2.2: cannot open shared object file: No such file or directory

I already have Opencv 2.3.1 running on Ubuntu. But I build Opencv 2.2 for cross compilation on ARM using following link
http://processors.wiki.ti.com/index.php/Building_OpenCV_for_ARM_Cortex-A8. Here I have used Codesourcery arm-none-linux-gnueabi-gcc and  arm-none-linux-gnueabi-g++

Do I need to rebuild Opencv 2.2 using using arm-linux-enuabi-gcc and arm-linux-enuabi-g++ cross compilers ? or Do I need to set arm-none-linux-gnueabi-gcc and  arm-none-linux-gnueabi-g++ in Eclipse. What I am missing ? Please give me pointer.






   Thanks, 
   Avadhut
" The Will of God will never take you where the Grace of God will not protect you."
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Need help to cross compile opencv on Beagle Board

ngoyroe
OpenCV uses cmake to compile, but it is not cross-compile friendly. I (and many others) have the same question as you. When cross compiled, it seems that the runtime searching directory of opencv lib is two level top of current, i.e., ../../lib, a relative directory. It will not search the system lib directory such as /lib /usr/lib or /usr/local/lib. I don't know why.
So my suggestion is as follows:
you can either recompile opencv just on your beagleboard(which is I do, it's easy) or put your programs under /home/XXX/ and put your cross-compiled opencv libs in /lib so that the libs can be searched at runtime.
This link is very useful when you want to compile it on your beagleboard ubuntu. http://www.ozbotz.org/opencv-installation/
Good Luck!

--- In [hidden email], avadhut chaudhari <avadhut_chaudhari@...> wrote:

>
> Hello All,
>   I really need help. I have installed Eclipse on Ubuntu 11.10. I am using arm-linux-enuabi-gcc and arm-linux-enuabi-g++ cross compilers.
>
> I am able to cross compile & run arm binary (executable) for the Hello World program on Beagle Board. But When I build opencv program on Eclipse, it creates armel binary.When I copied and run that binary on Beagle Board, I got following error message-
>
> error while loading shared libraries: libopencv_core.so.2.2: cannot open shared object file: No such file or directory
>
> I already have Opencv 2.3.1 running on Ubuntu. But I build Opencv 2.2 for cross compilation on ARM using following link
> http://processors.wiki.ti.com/index.php/Building_OpenCV_for_ARM_Cortex-A8. Here I have used Codesourcery arm-none-linux-gnueabi-gcc and  arm-none-linux-gnueabi-g++
>
> Do I need to rebuild Opencv 2.2 using using arm-linux-enuabi-gcc and arm-linux-enuabi-g++ cross compilers ? or Do I need to set arm-none-linux-gnueabi-gcc and  arm-none-linux-gnueabi-g++ in Eclipse. What I am missing ? Please give me pointer.
>
>
>
>
>
>
>    Thanks, 
>    Avadhut
> " The Will of God will never take you where the Grace of God will not protect you."
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Need help to cross compile opencv on Beagle Board

gtbustos
In reply to this post by avadhut chaudhari
I'd success cross compiling using scratchbox and arm gnueabi toolchain...
also is possible to compile in beagleboard, but it takes longer
Loading...