OpenCV, Ubuntu 11.04 - opencv

I've been trying to install OpenCV 2.2 on Ubuntu 11.04. As far as I can gather from here: linux/videodev.h : no such file or directory - OpenCV on ubuntu 11.04, the installation fails because video4linux is no longer in the kernel. If I follow the guide linked to in the above thread (http://tech.groups.yahoo.com/group/OpenCV/message/79758), the make-command passes the initial error described in the above thread, but fails at a later point. I get the error:
Linking CXX executable ../../bin/opencv_createsamples
../../lib/libopencv_highgui.so.2.2.0: undefined reference to `cvCreateCameraCapture_V4L(int)'
collect2: ld returned 1 exit status
make[2]: *** [bin/opencv_createsamples] Error 1
make[1]: *** [modules/haartraining/CMakeFiles/opencv_createsamples.dir/all] Error 2
make: *** [all] Error 2
This error also seems related to video4linux.
Any suggestions?
Thanks a bunch,
Andreas Møgelmose

You may find this blog post useful:
http://salikscodingblog.wordpress.com/2011/08/05/compiling-opencv-2-on-ubuntu/

Related

When trying to build Halide on Linux system with llvm-10.0 on release/10.x and master branches, facing the below issue

[ 53%] Linking CXX executable test_function_dag
/bin/ld: ../../libHalide.so.10.0.0: undefined reference to `typeinfo for llvm::SectionMemoryManager'
collect2: error: ld returned 1 exit status
make[2]: *** [src/autoschedulers/adams2019/CMakeFiles/test_function_dag.dir/build.make:134: src/autoschedulers/adams2019/test_function_dag] Error 1
make[1]: *** [CMakeFiles/Makefile2:2328: src/autoschedulers/adams2019/CMakeFiles/test_function_dag.dir/all] Error 2
make: *** [Makefile:182: all] Error 2
I'm using pre-built LLVM binaries and below cmake command to configure
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_DIR=/home/harry/llvm/lib/cmake/llvm ../
Any advice and suggestions will be greatly appreciated.
I cloned Halide from release/10.x, and compiled against the LLVM 10.0.0 binaries obtained here. On Ubuntu 20.04 LTS, I had to also apt install libtinfo5 because these binaries are built against old system libraries.
I noticed that the official binaries are not built with RTTI enabled (ugh) and was able to repro and fix. There's a bug in dependencies/llvm/CMakeLists.txt. Find the line that reads:
$<$<COMPILE_LANG_AND_ID:CXX,GCC,Clang,AppleClang>:-fno-rtti>)
and change GCC to GNU. We don't test with non-RTTI LLVM, which is why this wasn't caught.

ImageMagick 7.0.7-34 installation gives "undefined reference to `PNGSetExifProfile'"

I'm trying to install ImageMagick 7.0.7-34 on a ubuntu 16.04,
I'm using wget to download the latest version (7.0.7-34) from here http://www.imagemagick.org/download/ImageMagick.tar.gz, then after extracting the tar, I'm running the following inside the extracted folder:
sudo ./configure --with-pango
sudo make
which gives the following error:
make all-am
make[1]: Entering directory '/usr/local/sources/ImageMagick-7.0.7-34'
CCLD utilities/magick
MagickCore/.libs/libMagickCore-7.Q16HDRI.so: undefined reference to `PNGSetExifProfile'
collect2: error: ld returned 1 exit status
Makefile:7042: recipe for target 'utilities/magick' failed
make[1]: *** [utilities/magick] Error 1
make[1]: Leaving directory '/usr/local/sources/ImageMagick-7.0.7-34'
Makefile:5178: recipe for target 'all' failed
make: *** [all] Error 2
I've searched but found nothing concerning this error!, anyone knows how to fix this?
--Update--
A similar issue was opened on ImageMagick's github repo, just an hour ago
This was a mistake we made when adding support for the PNG eXIf chunk. This will be resolved in ImageMagick 7.0.7-35. If you upgrade your libpng library you can also fix the build. You will need a version of libpng that has PNG_READ_eXIf_SUPPORTED defined.
p.s. Next time it will be better to create an issue here: https://github.com/ImageMagick/ImageMagick/issues. You will get a much faster response.

Compiling ROS Kinetec from source fails when building opencv

I'm using an Arch machine and trying to compile ROS desktop full from source. The build fails when image_proc is trying to link executable.
Here is the error log:
[ 23%] Built target image_proc_gencfg
[ 84%] Built target image_proc
[ 92%] Linking CXX executable /home/alphayed/ROS/ros_catkin_ws/devel_isolated/image_proc/lib/image_proc/image_proc
/home/alphayed/ROS/ros_catkin_ws/install_isolated/lib/libopencv_viz3.so.3.1.0: undefined reference to `vtkSTLReader::New()'
/home/alphayed/ROS/ros_catkin_ws/install_isolated/lib/libopencv_viz3.so.3.1.0: undefined reference to `vtkOBJReader::New()'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/image_proc_exe.dir/build.make:219: /home/alphayed/ROS/ros_catkin_ws/devel_isolated/image_proc/lib/image_proc/image_proc] Error 1
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/image_proc_exe.dir/all] Error 2
make: *** [Makefile:139: all] Error 2
I think the problem is related to opencv3. I removed it from the system and recompiled it from source but that didn't solve the issue. Can you please help?
I have found a fix as per this thread. You need to modify opencv3/cmake/OpenCVDetectVTK.cmake, for every find_package(VTK QUIET COMPONENTS ... add an entry vtkIOGeometry

Wireshark make error: undefined reference to symbol 'g_module_name'

I'm trying to compile wireshark-P2P-1.7.0 but it fails showing the following error:
/usr/bin/ld: gtk/libui.a(libui_a-plugins_dlg.o): undefined reference to symbol 'g_module_name'
//usr/lib/i386-linux-gnu/libgmodule-2.0.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [wireshark] Error 1
make[2]: Leaving directory `/home/sniffer/Desktop/P2P_install/Sigma_Sniffer-P2P-Ubuntu_v8.1.0/wireshark-P2P-1.7.0'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sniffer/Desktop/P2P_install/Sigma_Sniffer-P2P-Ubuntu_v8.1.0/wireshark-P2P-1.7.0'
make: *** [all] Error 2
I'm not sure if it requires special libraries to run on a 64bit processor since this version of wireshark is 32 bit.
I cannot use a standard version of wireshark or download it from anywhere else. I have to use this one because is specially configure to make WFA tests.
Thank you!!
Oscar.
The only way a source code version of Wireshark would "[be] 32 bit" would be if somebody had added code to it that assumed that long or pointer data types were 32-bit; no code in the Wireshark source from wireshark.org is "32 bit" or "64 bit", it's all portable (and the Wireshark build infrastructure builds and tests both 32-bit and 64-bit versions).
What it does need is a version of GLib that includes g_module_name(), and you need to be linking with GLib (Wireshark uses it).

Error installing opencv-3.0.0-beta on Ubuntu 14.04

I am new to opencv and i am trying to install opencv-3.0.0-beta on ubuntu 14.04. When running make command, I get an error at 54%.I followed the same steps mentioned in http://docs.opencv.org/trunk/doc/tutorials/introduction/linux_install/linux_install.html. but I still get an error.
Below is the error message I'm getting.
/usr/bin/ld:
../../../3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32/libippicv.a(jmp_ippiResizeGetBufferSize_16s_as.s.o):
relocation R_386_GOTOFF against undefined symbol
`ippicvJumpIndexForMergedLibs' can not be used when making a shared
object /usr/bin/ld: final link failed: Bad value collect2: error: ld
returned 1 exit status make[2]: * [lib/libopencv_imgproc.so.3.0.0]
Error 1 make1: [modules/imgproc/CMakeFiles/opencv_imgproc.dir/all]
Error 2 make: ** [all] Error 2
Please help in solving it.
Thanks
It looks like your IPP configuration bugs. If you don't need IPP, you might want to rerun the cmake command with this option WITH_IPP=OFF.
Further reading here about deactivate IPP and here to properly configure IPP.

Resources