Hello,
I am very new to this. I was asked to install ROOT but I wasn’t given any more instructions. I used the CMAKE method. When I ran the command
cmake --build .
I got the following error:
[ 88%] Linking CXX shared library ../../lib/libASImage.so
/usr/bin/ld: cannot find -l/usr/lib/x86_64-linux-gnu/libjpeg.so
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libASImage.so] Error 1
make[1]: *** [graf2d/asimage/CMakeFiles/ASImage.dir/all] Error 2
make: *** [all] Error 2
Does anyone know why this happened? What can I do about it?
Thank you for your help.
libjpeg “devel” package missing.
That’s what I thought, but when I tried installing it I got the error
libjpeg-dev is already the newest version.
it can be that you need something like “libjpeg-turbo8-dev” or “libjpeg-turbo-devel”.
According to Software Manager I have all of those packages installed.
check that you have the “devel” package versions for the “amd64” / “x86_64” architecture, and not for “i[3456]86”.
I think I have the “i[3456]86”, how do I install the other one? I can’t find it.
What do you get from “uname -a” … is there “x86_64” or “i[3456]86”?
I would try “sudo yum install some-package-name” or “sudo apt-get install some-package-name” and this should install the appropriate version of “some-package-name”.
I get x86_64
That’s what I tried initially when I got “libjpeg-dev is already the newest version.”
Try to install “libjpeg8-dev” or “libjpeg-turbo8-dev” or “libjpeg-turbo-devel”.
And maybe try tu “purge” the “libjpeg-dev” first.
I tried it but I’m still getting the same error when I use cmake.
I don’t know if anyone had solved this already, but I encountered this same error buiding 6.08.06 on a BunsenLabs (Debian) machine. I was able to fix it, though I don’t know how the error arose.
In two files in my root_build directory, I had to make the same edit. In
graf2d/asimage/CMakeFiles/ASImageGui.dir/link.txt
graf2d/asimage/CMakeFiles/ASImage.dir/link.txt
There was a random -l in front of
/usr/lib/x86_64-linux-gnu/libjpeg.so
in those files, but not in front of any of the other listings of the shared libraries. Once I deleted that -l, things compiled and linked.
FWIW, here’s my cmake configure command.
cmake …/root/
-DCMAKE_INSTALL_PREFIX=/usr/local/
-DPYTHON_INCLUDE_DIR=/opt/anaconda3/include/python3.6m
-DPYTHON_LIBRARY=/opt/anaconda3/lib/libpython3.6m.so
-Dgnuinstall=ON
I have no idea how that -l got in there. Hope this helps someone!
Matt
1 Like
@mattbellis thanks a lot! I had the exact same issue and your workaround helped me as well. However, I am using a slightly different setup:
ROOT 6.10.08
Ubuntu 17.10
Looks like a ROOT bug then?
Jonas