Pergunta

I am compiling my own library which is linked to libjpeg. I have this compiling on two computers but this does not work on one of them. The error is as follows: Wrong JPEG library version: library is 62, caller expects 80 However ONLY libjpeg8 is installed:

/usr/lib/i386-linux-gnu/libjpeg.so.8
/usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
/usr/lib/x86_64-linux-gnu/libjpeg.a
/usr/lib/x86_64-linux-gnu/libjpeg.so
/usr/lib/x86_64-linux-gnu/libjpeg.so.8
/usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2
/usr/local/cuda-5.0/jre/lib/amd64/libjpeg.so

And my cmake links to the correct SO file:

-- Found libjpeg:
--  - Includes: /usr/include
--  - Libraries: /usr/lib/x86_64-linux-gnu/libjpeg.so

I honestly have no idea what is going on... Any ideas ? Thanks in advance !

There is something stanger. If I don't link my program to any kind of jpeg libraries, my code compiles, and I can execute it and I also get the same message error. BUT, if I do a ldd on my executable, there is no trace of libjpeg. How is that possible ?

linux-vdso.so.1 =>  (0x00007fff83bfe000)
libopencv_calib3d.so.2.4 => /usr/local/lib/libopencv_calib3d.so.2.4 (0x00007fa79670c000)
libopencv_contrib.so.2.4 => /usr/local/lib/libopencv_contrib.so.2.4 (0x00007fa796423000)
libopencv_core.so.2.4 => /usr/local/lib/libopencv_core.so.2.4 (0x00007fa795dca000)
libopencv_highgui.so.2.4 => /usr/local/lib/libopencv_highgui.so.2.4 (0x00007fa795999000)
libopencv_imgproc.so.2.4 => /usr/local/lib/libopencv_imgproc.so.2.4 (0x00007fa7954ed000)
libopencv_ml.so.2.4 => /usr/local/lib/libopencv_ml.so.2.4 (0x00007fa79526e000)
libvitals.so.0.2 => /home/jean/Lib/libvitals.so.0.2 (0x00007fa794f7b000)
librobbie.so.0.1 => /home/jean/Lib/librobbie.so.0.1 (0x00007fa794d32000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa794a11000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa79470c000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa7944f6000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa79412d000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa793f10000)
libopencv_flann.so.2.4 => /usr/local/lib/libopencv_flann.so.2.4 (0x00007fa793ca1000)
libopencv_features2d.so.2.4 => /usr/local/lib/libopencv_features2d.so.2.4 (0x00007fa7939f8000)
libopencv_video.so.2.4 => /usr/local/lib/libopencv_video.so.2.4 (0x00007fa7937a1000)
libopencv_objdetect.so.2.4 => /usr/local/lib/libopencv_objdetect.so.2.4 (0x00007fa793522000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fa79330a000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa793102000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007fa792dd4000)
libcudart.so.5.0 => /usr/local/cuda/lib64/libcudart.so.5.0 (0x00007fa792b79000)
libnpp.so.5.0 => /usr/local/cuda/lib64/libnpp.so.5.0 (0x00007fa78d08c000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fa78ce66000)
libgtk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 (0x00007fa78c82c000)
libgdk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 (0x00007fa78c57a000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007fa78c32b000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fa78c02e000)
libgtkglext-x11-1.0.so.0 => /usr/lib/libgtkglext-x11-1.0.so.0 (0x00007fa78be2a000)
libgdkglext-x11-1.0.so.0 => /usr/lib/libgdkglext-x11-1.0.so.0 (0x00007fa78bbc6000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa78b9c1000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fa78b7bc000)
libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007fa78b596000)
libxml++-2.6.so.2 => /usr/lib/libxml++-2.6.so.2 (0x00007fa78b372000)
libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007fa78b00f000)
libglibmm-2.4.so.1 => /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1 (0x00007fa78ada5000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa7969ae000)
libnvidia-tls.so.319.23 => /usr/lib/tls/libnvidia-tls.so.319.23 (0x00007fa78aba1000)
libnvidia-glcore.so.319.23 => /usr/lib/libnvidia-glcore.so.319.23 (0x00007fa78864b000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fa788310000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fa7880fe000)
libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007fa787ef9000)
libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007fa787cec000)
libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fa787ae6000)
libatk-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007fa7878c3000)
libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007fa7875bf000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007fa78739f000)
libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007fa787044000)
libpangoft2-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007fa786e30000)
libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007fa786be5000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fa7869aa000)
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fa7867a0000)
libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007fa78659d000)
libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007fa78638c000)
libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007fa786182000)
libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007fa785f77000)
libXcomposite.so.1 => /usr/lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007fa785d73000)
libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007fa785b70000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fa785967000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fa785728000)
libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007fa7854a9000)
libXmu.so.6 => /usr/lib/x86_64-linux-gnu/libXmu.so.6 (0x00007fa785290000)
libpangox-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangox-1.0.so.0 (0x00007fa785082000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fa784e60000)
libsigc-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0 (0x00007fa784c5a000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fa784a3c000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fa78479e000)
libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007fa784507000)
libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007fa784304000)
libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007fa7840f9000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fa783eda000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fa783cbf000)
libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007fa783a28000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fa7837fe000)
libXt.so.6 => /usr/lib/x86_64-linux-gnu/libXt.so.6 (0x00007fa783598000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fa783393000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fa78318d000)
libicule.so.48 => /usr/lib/x86_64-linux-gnu/libicule.so.48 (0x00007fa782f57000)
libicuuc.so.48 => /usr/lib/x86_64-linux-gnu/libicuuc.so.48 (0x00007fa782bec000)
libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007fa7829e4000)
libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007fa7827c7000)
libicudata.so.48 => /usr/lib/x86_64-linux-gnu/libicudata.so.48 (0x00007fa781457000)
Foi útil?

Solução

Usefull comment Joe Z ! I remember that I installed a new software on my machine last night "Kingsoft Office" which installed an embedded version of libjpeg (the version 62). But I also uninstalled it last night and I made sure that only the version 8 was still present. But must have messed up my libs. Note that I also have OpenCV installed which was built long time ago with the libjpeg support. So by taking your comment in account, I just rebuilt OpenCV without the libjpeg support and everything works fine now.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top