OpenCV 3.0 beta cannot compile with IPP on 32 bit (Bug #4070)


Added by Vincent Rabaud about 10 years ago. Updated almost 10 years ago.


Status:Done Start date:2014-12-17
Priority:Normal Due date:
Assignee:Maksim Shabunin % Done:

0%

Category:-
Target version:3.0
Affected version:branch 'master' (3.0-dev) Operating System:Linux
Difficulty: HW Platform:x86
Pull request:

Description

It works fine on 64 but not 32. All logs (including compile flags) here:
http://jenkins.ros.org/job/ros-indigo-opencv3_binarydeb_trusty_i386/10/

From the logs:

cd /tmp/buildd/ros-indigo-opencv3-2.9.2-1trusty-20141217-1243/obj-i686-linux-gnu/modules/imgproc && /usr/bin/cmake -E cmake_link_script CMakeFiles/opencv_imgproc.dir/link.txt --verbose=1
/usr/lib/ccache/i686-linux-gnu-g++ -fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -mfpmath=sse -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -DNDEBUG -shared -Wl,-soname,libopencv_imgproc.so.3.0 -o ../../lib/libopencv_imgproc.so.3.0.0 CMakeFiles/opencv_imgproc.dir/src/geometry.cpp.o CMakeFiles/opencv_imgproc.dir/src/canny.cpp.o CMakeFiles/opencv_imgproc.dir/src/matchcontours.cpp.o CMakeFiles/opencv_imgproc.dir/src/drawing.cpp.o CMakeFiles/opencv_imgproc.dir/src/segmentation.cpp.o CMakeFiles/opencv_imgproc.dir/src/morph.cpp.o CMakeFiles/opencv_imgproc.dir/src/utils.cpp.o CMakeFiles/opencv_imgproc.dir/src/phasecorr.cpp.o CMakeFiles/opencv_imgproc.dir/src/smooth.cpp.o CMakeFiles/opencv_imgproc.dir/src/emd.cpp.o CMakeFiles/opencv_imgproc.dir/src/floodfill.cpp.o CMakeFiles/opencv_imgproc.dir/src/hough.cpp.o CMakeFiles/opencv_imgproc.dir/src/generalized_hough.cpp.o CMakeFiles/opencv_imgproc.dir/src/linefit.cpp.o CMakeFiles/opencv_imgproc.dir/src/lsd.cpp.o CMakeFiles/opencv_imgproc.dir/src/thresh.cpp.o CMakeFiles/opencv_imgproc.dir/src/clahe.cpp.o CMakeFiles/opencv_imgproc.dir/src/samplers.cpp.o CMakeFiles/opencv_imgproc.dir/src/subdivision2d.cpp.o CMakeFiles/opencv_imgproc.dir/src/gabor.cpp.o CMakeFiles/opencv_imgproc.dir/src/rotcalipers.cpp.o CMakeFiles/opencv_imgproc.dir/src/demosaicing.cpp.o CMakeFiles/opencv_imgproc.dir/src/grabcut.cpp.o CMakeFiles/opencv_imgproc.dir/src/contours.cpp.o CMakeFiles/opencv_imgproc.dir/src/intersection.cpp.o CMakeFiles/opencv_imgproc.dir/src/imgwarp.cpp.o CMakeFiles/opencv_imgproc.dir/src/hershey_fonts.cpp.o CMakeFiles/opencv_imgproc.dir/src/accum.cpp.o CMakeFiles/opencv_imgproc.dir/src/connectedcomponents.cpp.o CMakeFiles/opencv_imgproc.dir/src/min_enclosing_triangle.cpp.o CMakeFiles/opencv_imgproc.dir/src/undistort.cpp.o CMakeFiles/opencv_imgproc.dir/src/deriv.cpp.o CMakeFiles/opencv_imgproc.dir/src/shapedescr.cpp.o CMakeFiles/opencv_imgproc.dir/src/tables.cpp.o CMakeFiles/opencv_imgproc.dir/src/moments.cpp.o CMakeFiles/opencv_imgproc.dir/src/filter.cpp.o CMakeFiles/opencv_imgproc.dir/src/featureselect.cpp.o CMakeFiles/opencv_imgproc.dir/src/color.cpp.o CMakeFiles/opencv_imgproc.dir/src/blend.cpp.o CMakeFiles/opencv_imgproc.dir/src/convhull.cpp.o CMakeFiles/opencv_imgproc.dir/src/distransform.cpp.o CMakeFiles/opencv_imgproc.dir/src/colormap.cpp.o CMakeFiles/opencv_imgproc.dir/src/sumpixels.cpp.o CMakeFiles/opencv_imgproc.dir/src/cornersubpix.cpp.o CMakeFiles/opencv_imgproc.dir/src/pyramids.cpp.o CMakeFiles/opencv_imgproc.dir/src/templmatch.cpp.o CMakeFiles/opencv_imgproc.dir/src/approx.cpp.o CMakeFiles/opencv_imgproc.dir/src/corner.cpp.o CMakeFiles/opencv_imgproc.dir/src/histogram.cpp.o CMakeFiles/opencv_imgproc.dir/opencl_kernels_imgproc.cpp.o ../../lib/libopencv_core.so.3.0.0 -ldl -lm -lpthread -lrt ../../../3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32/libippicv.a -Wl,-rpath,/tmp/buildd/ros-indigo-opencv3-2.9.2-1trusty-20141217-1243/obj-i686-linux-gnu/lib:
/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
make4: *** [lib/libopencv_imgproc.so.3.0.0] Error 1


Associated revisions

Revision 8b8fc9e6
Added by Vadim Pisarevsky almost 10 years ago

Merge pull request #4070 from techfort:fixpythonsample

History

Updated by Ilya Lavrenov about 10 years ago

  • Assignee set to Alexander Alekhin

Updated by Vadim Pisarevsky about 10 years ago

Maksim, could you try to reproduce the problem?

  • Assignee changed from Alexander Alekhin to Maksim Shabunin

Updated by Vadim Pisarevsky almost 10 years ago

Hi Vincent,

I can not reproduce the bug on Ubuntu 14.04 and the fresh snapshot from master. Looking at the log I suspect that some older version of OpenCV is used, because the OpenCV is clearly build as shared libs and yet IPPICV is linked to it. In the current master IPP is disabled when you build OpenCV as shared libs on 32-bit Linux. Is it possible to supply the output of CMake command that generated makefiles?

Updated by Vincent Rabaud almost 10 years ago

ok, you can close: we are not cross-compiling on the build farm so there is actually no proper CMake way for us to check the architecture and that's what's failing.

Updated by Cyd L almost 10 years ago

Hi guys,

I don't know if it's here I have to write.
I have the same problem when im installing opencv3.0.0-beta

mkdir release
cd release/

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_ZLIB=ON -D WITH_V4L=ON -D WITH_GSTREAMER=ON -D WITH_OPENEXR=ON -D WITH_UNICAP=ON -D BUILD_PYTHON_SUPPORT=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON ..

make ( my problem comes here.. )

[ 28%] Building CXX object modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/connectedcomponents.cpp.o
[ 28%] Building CXX object modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/accum.cpp.o
[ 28%] Building CXX object modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/emd.cpp.o
[ 28%] Building CXX object modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/deriv.cpp.o
[ 28%] Building CXX object modules/imgproc/CMakeFiles/opencv_imgproc.dir/opencl_kernels_imgproc.cpp.o
Linking CXX shared library ../../lib/libopencv_imgproc.so
/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
make2: * [lib/libopencv_imgproc.so.3.0.0] Erreur 1
make1:
[modules/imgproc/CMakeFiles/opencv_imgproc.dir/all] Erreur 2
make: *
* [all] Erreur 2

Ubuntu LTS 14.04 (desktop) and Kali Linux 3.18.0-kali3-686-pae (eEe-pc)
Python 2.7

I just want to report this bug.

Cya
Have a nice day

Updated by Vadim Pisarevsky almost 10 years ago

fixed in https://github.com/Itseez/opencv/pull/3794 (IPP is disabled in certain configurations)

  • Status changed from New to Done

Also available in: Atom PDF