Open k-maheshkumar opened 7 years ago
Can you provide more information? What system are you compiling on? What version of OSG do you have installed? Can you copy/paste the output from cmake?
Im using ubuntu 14.04, $ osgversion OpenSceneGraph Library 3.4.2 $ cmake .. -DGUROBI_LIBRARY=/opt/gurobi751/linux64/lib/libgurobi75.so
cmake .. -DGUROBI_LIBRARY=/opt/gurobi751/linux64/lib/libgurobi75.so
-- The C compiler identification is GNU 4.9.4
-- The CXX compiler identification is GNU 4.9.4
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to 'Release' as none was specified.
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26")
-- checking for module 'eigen3'
-- found eigen3, version 3.2.0
-- Found Eigen: /usr/include/eigen3
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- system
-- python
-- thread
-- program_options
adding test with path /home/user/trajopt/python_examples/arm_to_joint_target.py
python exc
adding test with path /home/user/trajopt/python_examples/arm_to_cart_target.py
python exc
adding test with path /home/user/trajopt/python_examples/fullbody_plan.py
python exc
adding test with path /home/user/trajopt/python_examples/position_base.py
python exc
adding test with path /home/user/trajopt/python_examples/this_side_up.py
python exc
-- Found PythonInterp: /usr/bin/python (found version "2.7.6")
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found GUROBI: /opt/gurobi751/linux64/lib/libgurobi75.so
Gurobi found
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found suitable version "2.7.6", minimum required is "2")
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- python
-- Found OpenThreads: /usr/local/lib64/libOpenThreads.so
-- Found osg: /usr/local/lib64/libosg.so
-- Found osgDB: /usr/local/lib64/libosgDB.so
-- Found osgUtil: /usr/local/lib64/libosgUtil.so
-- Found osgViewer: /usr/local/lib64/libosgViewer.so
-- Found osgGA: /usr/local/lib64/libosgGA.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/trajopt/build
Looks like an issue with OpenSceneGraph 3.4.2, EventHandler handler was ether moved or removed. It should compile with OpenSceneGraph 3.4.0
I am getting the exact same error. Installing OpenSceneGrasp 3.4.0 from source didn't help it.
Try with cmake .. -DOSG_DIR=/usr/local/lib64
Can you also try to compile OSG 3.4.1 from source and then compile trajopt?
I've compiled without OSG (compiled the openrave without OSG as well) and it worked fine.
PS. I was compiling with cmake .. -DOSG_DIR=/usr/local/lib64
.
Only problem is thatOpenRAVE is throwing a warning:
2018-03-30 19:01:49,624 openrave [WARN] [plugindatabase.h:929 RaveDatabase::_SysLoadLibrary] /usr/local/lib/openrave0.9-plugins/libqtosgrave.so: libosgDB.so.130: cannot open shared object file: No such file or directory
Can you post all the commands you ran to install/compile OSG, OpenRave, and TrajOpt? Including every apt-get install
command.
Initially, I followed this to install OpenRAVE: https://scaron.info/teaching/installing-openrave-on-ubuntu-16.04.html
The only different thing I did was to compile latest_stable
branch.
After installing openrave, I cloned trajopt and
mkdir build; cd build
cmake .. -DOSG_DIR=/usr/local/lib64 -DGUROBI_LIBRARY=/opt/gurobi752/linux64/lib/libgurobi75.so
make -j4
Since this didn't work, I did the following:
cd OpenSceneGraph/build
sudo make uninstall
cd openrave/build;
sudo make uninstall
cd ..; rm -r build; mkdir build; cd build
cmake ..
make -j4
sudo make install
cd trajopt; rm -r build; mkdir build; cd build
cmake .. -DGUROBI_LIBRARY=/opt/gurobi752/linux64/lib/libgurobi75.so
make -j4
I have just tried installing OSG 3.4.1 but the openrave is not even compiling now.
Why don't you start fresh, make uninstall
everything and delete the repos.
git clone https://github.com/openscenegraph/openscenegraph.git -b OpenSceneGraph-3.4.1
Build and install OSG 3.4.1 from source.
git clone https://github.com/flexible-collision-library/fcl.git -b 0.5.0
Build and install FCL 0.5.0 from source (needed for OpenRAVE).
Past the commands you ran to build and the resulting errors.
Okay, so I've uninstalled and installed everything from scratch. Here is what I did after uninstalling:
cd OpenSceneGraph; mkdir build; cd build
(OSG branch is 3.4.1)cmake .. -DDESIRED_QT_VERSION=4
make -j5
sudo make install
cd openrave; mkdir build; cd build
(OR branch is latest_stable)mkdir build; cd build
cmake .. -DOSG_DIR=/usr/local/lib64/
make -j5
sudo make install
sudo apt-get install libopenscenegraph-dev cmake libboost-all-dev libeigen3-dev python-numpy
(trajopt dependencies)cd trajopt
mkdir build; cd build
cmake .. -DOSG_DIR=/usr/local/lib64 -DGUROBI_LIBRARY=/opt/gurobi752/linux64/lib/libgurobi75.so
And I get the exact same errors. I think the problem is related to libopenscenegraph-dev package. I've checked ubuntu packages and it is installing version 3.2 where source installation of OpenSceneGraph is 3.4.x.
I am able to build the trajopt without osgviewer
. I've commented out every entry in CMakeLists.txt for osgviewer
. I am not sure if this is gonna affect the trajopt functionality but it seems to me that osgviewer is used for visualisation without openrave since I'm gonna use C++ API in another openrave code this should be ok.
Yeah, don't install libopenscenegraph-dev
via apt-get
.
Uninstall the apt-get version and reinstalled the one from source by running:
1) sudo apt-get remove libopenscenegraph-dev
2) make uninstall
from OpenSceneGraph/build
3) make install
from OpenSceneGraph/build
However, you're right about OSG being needed only for visualization, so there's no need to build with it.
If I don't have libopenscenegraph-dev
is installed via apt-get
, trajopt is throwing an error when I compile with osgviewer. I am not sure if source installation of OSG is not installing dev files or I'm point it wrong.
Whats the version of your OS?
It's Ubuntu 16.04. I've ended up compiling openrave by disabling OSG. I uninstalled OSG 3.4.x that I installed from source and installed libopenscenegraph-dev
via apt-get. Finally, I was able to compile trajopt with OSG. I am using qtcoin
for openrave.
I installed libopenscegraph-dev for trajopt but it doesnt work with openrave.When I use openscenegraph same as trajopt , openrave gives an error that it doesnt load the environment. I am a beginner using two together, can you give instructions on how to use qtcoin with openrave?
I am using ubuntu 16.04 , I sloved above error by libopenscengraph-dev. Due to some reasons I did compiling again and I come across this error still
[ 96%] Linking CXX executable ../../../bin/collision-checker-unit
../../../lib/libosgviewer.so: undefined reference to osg::Callback::traverse(osg::Object*, osg::Object*)' ../../../lib/libosgviewer.so: undefined reference to
osg::Group::removeChild(osg::Node)'
../../../lib/libosgviewer.so: undefined reference to VTT for osgGA::EventHandler' ../../../lib/libosgviewer.so: undefined reference to
non-virtual thunk to osgGA::EventHandler::event(osg::NodeVisitor, osg::Drawable)'
../../../lib/libosgviewer.so: undefined reference to vtable for osgGA::EventHandler' ../../../lib/libosgviewer.so: undefined reference to
osgGA::GUIEventHandler::handle(osgGA::Event, osg::Object, osg::NodeVisitor)'
../../../lib/libosgviewer.so: undefined reference to osg::Group::getNumChildren() const' ../../../lib/libosgviewer.so: undefined reference to
osg::NodeVisitor::apply(osg::Drawable&)'
../../../lib/libosgviewer.so: undefined reference to osgGA::EventHandler::operator()(osg::Node*, osg::NodeVisitor*)' ../../../lib/libosgviewer.so: undefined reference to
typeinfo for osgGA::EventHandler'
../../../lib/libosgviewer.so: undefined reference to osgGA::EventHandler::event(osg::NodeVisitor*, osg::Drawable*)' ../../../lib/libosgviewer.so: undefined reference to
virtual thunk to osg::Drawable::EventCallback::run(osg::Object, osg::Object)'
../../../lib/libosgviewer.so: undefined reference to osgGA::EventHandler::handle(osgGA::Event*, osg::Object*, osg::NodeVisitor*)' ../../../lib/libosgviewer.so: undefined reference to
osg::Drawable::EventCallback::run(osg::Object, osg::Object)'
../../../lib/libosgviewer.so: undefined reference to osg::NodeVisitor::NodeVisitor(osg::NodeVisitor const&, osg::CopyOp const&)' ../../../lib/libosgviewer.so: undefined reference to
virtual thunk to osg::NodeCallback::run(osg::Object, osg::Object)'
../../../lib/libosgviewer.so: undefined reference to osg::NodeVisitor::apply(osg::Geometry&)' ../../../lib/libosgviewer.so: undefined reference to
osg::NodeCallback::run(osg::Object, osg::Object)'
collect2: error: ld returned 1 exit status
src/trajopt/test/CMakeFiles/collision-checker-unit.dir/build.make:106: recipe for target 'bin/collision-checker-unit' failed
make[2]: [bin/collision-checker-unit] Error 1
CMakeFiles/Makefile2:635: recipe for target 'src/trajopt/test/CMakeFiles/collision-checker-unit.dir/all' failed
make[1]: [src/trajopt/test/CMakeFiles/collision-checker-unit.dir/all] Error 2
make[1]: Waiting for unfinished jobs....
../../../lib/libosgviewer.so: undefined reference to `osg::Callback::traverse(osg::Object, osg::Object)'
../../../lib/libosgviewer.so: undefined reference to `osg::Group::removeChild(osg::Node)'
../../../lib/libosgviewer.so: undefined reference to VTT for osgGA::EventHandler' ../../../lib/libosgviewer.so: undefined reference to
non-virtual thunk to osgGA::EventHandler::event(osg::NodeVisitor, osg::Drawable)'
../../../lib/libosgviewer.so: undefined reference to vtable for osgGA::EventHandler' ../../../lib/libosgviewer.so: undefined reference to
osgGA::GUIEventHandler::handle(osgGA::Event, osg::Object, osg::NodeVisitor)'
../../../lib/libosgviewer.so: undefined reference to osg::Group::getNumChildren() const' ../../../lib/libosgviewer.so: undefined reference to
osg::NodeVisitor::apply(osg::Drawable&)'
../../../lib/libosgviewer.so: undefined reference to `osgGA::EventHandler::operator()(osg::Node, osg::NodeVisitor)'
../../../lib/libosgviewer.so: undefined reference to typeinfo for osgGA::EventHandler' ../../../lib/libosgviewer.so: undefined reference to
osgGA::EventHandler::event(osg::NodeVisitor, osg::Drawable)'
../../../lib/libosgviewer.so: undefined reference to `virtual thunk to osg::Drawable::EventCallback::run(osg::Object, osg::Object)'
../../../lib/libosgviewer.so: undefined reference to `osgGA::EventHandler::handle(osgGA::Event, osg::Object, osg::NodeVisitor)'
../../../lib/libosgviewer.so: undefined reference to osg::Drawable::EventCallback::run(osg::Object*, osg::Object*)' ../../../lib/libosgviewer.so: undefined reference to
osg::NodeVisitor::NodeVisitor(osg::NodeVisitor const&, osg::CopyOp const&)'
../../../lib/libosgviewer.so: undefined reference to virtual thunk to osg::NodeCallback::run(osg::Object*, osg::Object*)' ../../../lib/libosgviewer.so: undefined reference to
osg::NodeVisitor::apply(osg::Geometry&)'
../../../lib/libosgviewer.so: undefined reference to `osg::NodeCallback::run(osg::Object, osg::Object)'
collect2: error: ld returned 1 exit status
src/trajopt/test/CMakeFiles/cast-cost-unit.dir/build.make:107: recipe for target 'bin/cast-cost-unit' failed
make[2]: ** [bin/cast-cost-unit] Error 1
CMakeFiles/Makefile2:678: recipe for target 'src/trajopt/test/CMakeFiles/cast-cost-unit.dir/all' failed
make[1]: [src/trajopt/test/CMakeFiles/cast-cost-unit.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2
Any idea how I can solve it.
my sudo apt-get install libopenscenegraph-dev doesnt install libopenscegraph-dev.so and results in .md5sums,.lists files . while try to remove libopenscenegraph100v5 it also removes libopenscengraph-dev. So kindly please let how I can solve this without the above error.
I sloved this problem by uninstalling and reinstalling with the following steps git clone https://github.com/openscenegraph/openscenegraph.git -b OpenSceneGraph-3.4.1 mkdir build && cd build cmake .. -DDESIRED_QT_VERSION=4 make -j5 sudo make install
and the setting ENV_VAR in .bashrc export LD_LIBRARY_PATH="/usr/local/lib64:/usr/local/lib:$(openrave-config --python-dir)/openravepy/openravepy:$LD_LIBRARY_PATH" export OPENTHREADS_INC_DIR="/usr/local/include" export OPENTHREADS_LIB_DIR="/usr/local/lib64:/usr/local/lib" export PATH="$OPENTHREADS_LIB_DIR:$PATH"
My solution:
sudo apt-get install libopenscenegraph-dev
sudo cp /usr/include/osg/CameraNode usr/local/include/osg/
sudo apt-get remove libopenscenegraph-dev
thanks for this post. I almost tried every method mentioned above by everyone and finally successfully build. and ctest
has a result of 100% passed. so thank everyone for giving instruction
My final solution :
Environment: Ubuntu 16
Step 1: Install OpenRAVE. Ref: https://gitcode.net/mirrors/crigroup/openrave-installation?utm_source=csdn_github_accelerator. PS: We need OpenRAVE>=0.8, so Ubuntu 16 (or 14) is required with above method.
Step 2: Install CMake, boost, and Eigen using your package manager (Don't install OpenSceneGraph as we have install it at step 1. This is important). Command: sudo apt-get install cmake libboost-all-dev libeigen3-dev python-numpy
Step 3: Install trajopt. Command as follows: git clone https://github.com/joschu/trajopt.git cd trajopt mkdir build cd build cmake .. -DOSG_DIR=/usr/local/lib64 make -j
An error I meet: trajopt/src/osgviewer/osgviewer.cpp:17:10: fatal error: osg/CameraNode: No such file or directory Solution: Modify trajopt/src/osgviewer/osgviewer.cpp so that CameraNode is replaced by Camera.
Step 4: For testing, refer to https://rll.berkeley.edu/trajopt/doc/sphinx_build/html/install.html
I couldn't build the package successfully. I get the following error, ../../../lib/libosgviewer.so: undefined reference to
osgGA::EventHandler::event(osg::NodeVisitor*, osg::Drawable*)' ../../../lib/libosgviewer.so: undefined reference to
typeinfo for osgGA::EventHandler' ../../../lib/libosgviewer.so: undefined reference tovirtual thunk to osg::Drawable::EventCallback::run(osg::Object*, osg::Object*)' ../../../lib/libosgviewer.so: undefined reference to
osgGA::EventHandler::handle(osgGA::Event, osg::Object, osg::NodeVisitor)' ../../../lib/libosgviewer.so: undefined reference to `osg::Callback::traverse(osg::Object, osg::Object)' ../../../lib/libosgviewer.so: undefined reference toosg::NodeVisitor::NodeVisitor(osg::NodeVisitor const&, osg::CopyOp const&)' ../../../lib/libosgviewer.so: undefined reference to
osg::Drawable::EventCallback::run(osg::Object, osg::Object)' ../../../lib/libosgviewer.so: undefined reference to `osgGA::GUIEventHandler::handle(osgGA::Event, osg::Object, osg::NodeVisitor)' ../../../lib/libosgviewer.so: undefined reference tovirtual thunk to osg::NodeCallback::run(osg::Object*, osg::Object*)' ../../../lib/libosgviewer.so: undefined reference to
osg::Group::removeChild(osg::Node)' ../../../lib/libosgviewer.so: undefined reference toosg::NodeVisitor::apply(osg::Geometry&)' ../../../lib/libosgviewer.so: undefined reference to
VTT for osgGA::EventHandler' ../../../lib/libosgviewer.so: undefined reference to `non-virtual thunk to osgGA::EventHandler::event(osg::NodeVisitor, osg::Drawable)' ../../../lib/libosgviewer.so: undefined reference tovtable for osgGA::EventHandler' ../../../lib/libosgviewer.so: undefined reference to
osg::Group::getNumChildren() const' ../../../lib/libosgviewer.so: undefined reference toosg::NodeVisitor::apply(osg::Drawable&)' ../../../lib/libosgviewer.so: undefined reference to
osg::NodeCallback::run(osg::Object, osg::Object)' ../../../lib/libosgviewer.so: undefined reference to `osgGA::EventHandler::operator()(osg::Node, osg::NodeVisitor*)' collect2: error: ld returned 1 exit status make[2]: [bin/cast-cost-unit] Error 1 make[1]: [src/trajopt/test/CMakeFiles/cast-cost-unit.dir/all] Error 2 make: *** [all] Error 2 18:35:30: The process "/usr/bin/cmake" exited with code 2. Error while building/deploying project trajopt (kit: Desktop) When executing step "Make"i cloned the package and created build directory. So cd build && cmake .. -DGUROBI_LIBRARY=/opt/gurobi751/linux64/lib/libgurobi75.so && make gave me above error. Please help me to build it.