godel
godel copied to clipboard
Duplicated libsocket ...
There might be an easy solution to this one. I am just new to C++/Make.
So in Ubuntu 16.04, when building Gobel, I got the following error. It appears that I have two copies of libsocket in the system: one from (indirectly) source download from Gobel and the other from Perl installation. I could not uninstall Perl because that will also uninstall many ROS packages. When I tried to delete libsocket from my src directory, the build also fails (because of missing files).
What should I do now? Thank you very much for helping out.
Errors << keyence_experimental:make /home/User/workspace/demos/godel/logs/keyence_experimental/build.make.000.log
make[2]: *** No rule to make target '/home/User/workspace/demos/godel/build/libsocket/C++/libsocket++.so', needed by '/home/User/workspace/demos/godel/devel/.private/keyence_experimental/lib/libkeyence_impl.so'. Stop.
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [keyence_library/CMakeFiles/keyence_impl.dir/all] Error 2
make: *** [all] Error 2
cd /home/User/workspace/demos/godel/build/keyence_experimental; catkin build --get-env keyence_experimental | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd -
Since there are no activities in this project for a while. I will just leave my half baked solution here. This is not definitive solution yet. But somehow it seems work occassionally.
After downloading the keyence_experimental, I manually did the following before "catkin build"
inside src/keyence_experimental/CMakeLists.txt file, change the line:
find_package(libsocket REQUIRED)
to
find_package(libsocket CONFIG REQUIRED).
With CONFIG, the second build seems successful - even though the first build will still fail. :)