humanoid-path-planner / hpp-doc

Documentation for project Humanoid Path Planner
https://humanoid-path-planner.github.io/hpp-doc
ISC License
29 stars 23 forks source link

Stable version of HPP fails to install #45

Closed florent-lamiraux closed 5 years ago

florent-lamiraux commented 5 years ago

Following the instruction installations provided by github.io, the installation (under ubutntu-16.04 64bits) fails for the following reasons:

florent-lamiraux commented 5 years ago

When setting USE_QT4 to TRUE by hand, the precompiler cannot find QtGui/qopengl.h. This file is provided by qt5 and not by qt4.

florent-lamiraux commented 5 years ago

Removing those includes from fwd.hh, the compiler fails to link executable gepetto-gui:

[ 65%] Linking CXX executable gepetto-gui
cd /home/florent/devel/demo/src/gepetto-viewer-corba/build-rel/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/gepetto-gui.dir/link.txt --verbose=1
/usr/lib/ccache/g++    -pedantic -Wno-long-long -Wall -Wextra -Wcast-align -Wcast-qual -Wformat -Wwrite-strings -Wconversion  -O3 -DNDEBUG   -L/home/florent/devel/demo/install/lib /usr/lib/x86_64-linux-gnu/libX11.so /usr/lib/x86_64-linux-gnu/libGLU.so -lgepetto-viewer -losg -losgDB -losgFX -losgGA -losgParticle -losgSim -losgText -losgUtil -losgTerrain -losgManipulator -losgViewer -losgWidget -losgShadow -losgAnimation -losgVolume -lOpenThreads -lurdfdom_sensor -lurdfdom_model_state -lurdfdom_model -lurdfdom_world -lconsole_bridge -losg -losgDB -losgFX -losgGA -losgParticle -losgSim -losgText -losgUtil -losgTerrain -losgManipulator -losgViewer -losgWidget -losgShadow -losgAnimation -losgVolume -lOpenThreads -lOpenThreads -losgQt -losgWidget -losgViewer -losgText -losgGA -losgDB -losgUtil -losg -lOpenThreads -lomniORB4 -lomnithread CMakeFiles/gepetto-gui.dir/graphical-interface.impl.cpp.o CMakeFiles/gepetto-gui.dir/server.cc.o CMakeFiles/gepetto-gui.dir/server-private.cc.o CMakeFiles/gepetto-gui.dir/gepetto/viewer/corba/graphical-interfaceSK.cc.o CMakeFiles/gepetto-gui.dir/gui/main.cc.o CMakeFiles/gepetto-gui.dir/gui/settings.cc.o CMakeFiles/gepetto-gui.dir/gui/windows-manager.cc.o CMakeFiles/gepetto-gui.dir/gui/safeapplication.cc.o CMakeFiles/gepetto-gui.dir/gui/mainwindow.cc.o CMakeFiles/gepetto-gui.dir/gui/osgwidget.cc.o CMakeFiles/gepetto-gui.dir/gui/pick-handler.cc.o CMakeFiles/gepetto-gui.dir/gui/tree-item.cc.o CMakeFiles/gepetto-gui.dir/gui/omniorbthread.cc.o CMakeFiles/gepetto-gui.dir/gui/bodytreewidget.cc.o CMakeFiles/gepetto-gui.dir/gui/ledindicator.cc.o CMakeFiles/gepetto-gui.dir/gui/dialog/dialogloadrobot.cc.o CMakeFiles/gepetto-gui.dir/gui/dialog/dialogloadenvironment.cc.o CMakeFiles/gepetto-gui.dir/gui/dialog/pluginmanagerdialog.cc.o CMakeFiles/gepetto-gui.dir/gui/shortcut-factory.cc.o CMakeFiles/gepetto-gui.dir/gui/selection-handler.cc.o CMakeFiles/gepetto-gui.dir/gui/selection-event.cc.o CMakeFiles/gepetto-gui.dir/gui/action-search-bar.cc.o CMakeFiles/gepetto-gui.dir/gui/node-action.cc.o CMakeFiles/gepetto-gui.dir/gui/pythonwidget.cc.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_mainwindow.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_safeapplication.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_osgwidget.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_tree-item.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_bodytreewidget.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_ledindicator.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/omniorb/moc_omniorbthread.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/dialog/moc_dialogloadrobot.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/dialog/moc_dialogloadenvironment.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/dialog/moc_pluginmanagerdialog.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_shortcut-factory.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_selection-handler.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_selection-event.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_windows-manager.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_action-search-bar.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_node-action.cxx.o CMakeFiles/gepetto-gui.dir/__/include/gepetto/gui/moc_pythonwidget.cxx.o CMakeFiles/gepetto-gui.dir/gui/moc_python-decorator.cxx.o CMakeFiles/gepetto-gui.dir/qrc_images.cxx.o  -o gepetto-gui -rdynamic -lQtOpenGL -lQtGui -lQtNetwork -lQtCore -lboost_system -lboost_regex -L/home/florent/devel/demo/install/lib -lX11 -lGLU -lgepetto-viewer -losg -losgDB -losgFX -losgGA -losgParticle -losgSim -losgText -losgUtil -losgTerrain -losgManipulator -losgViewer -losgWidget -losgShadow -losgAnimation -losgVolume -lOpenThreads -lurdfdom_sensor -lurdfdom_model_state -lurdfdom_model -lurdfdom_world -lconsole_bridge -lX11 -lGLU -losg -losgDB -losgFX -losgGA -losgParticle -losgSim -losgText -losgUtil -losgTerrain -losgManipulator -losgViewer -losgWidget -losgShadow -losgAnimation -losgVolume -lOpenThreads -lOpenThreads -losgQt -losgWidget -losgViewer -losgText -losgGA -losgDB -losgUtil -losg -lOpenThreads -lomniORB4 -lomnithread /home/florent/devel/demo/install/lib/libPythonQt.so /home/florent/devel/demo/install/lib/libPythonQt_QtAll.so -lX11 -lGLU -lgepetto-viewer -losgFX -losgParticle -losgSim -losgTerrain -losgManipulator -losgShadow -losgAnimation -losgVolume -lurdfdom_sensor -lurdfdom_model_state -lurdfdom_model -lurdfdom_world -lconsole_bridge -losgQt -lomniORB4 -lomnithread /home/florent/devel/demo/install/lib/libPythonQt.so /home/florent/devel/demo/install/lib/libPythonQt_QtAll.so -Wl,-rpath,/home/florent/devel/demo/install/lib: 
CMakeFiles/gepetto-gui.dir/gui/windows-manager.cc.o: In function `gepetto::gui::WindowsManager::createWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, gepetto::gui::OSGWidget*, osgViewer::Viewer*, osg::GraphicsContext*)':
windows-manager.cc:(.text+0xa0f): undefined reference to `graphics::WindowsManager::addWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<graphics::WindowManager>)'
CMakeFiles/gepetto-gui.dir/gui/windows-manager.cc.o: In function `gepetto::gui::WindowsManager::addNode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<graphics::Node>, std::shared_ptr<graphics::GroupNode>)':
windows-manager.cc:(.text+0x1bec): undefined reference to `graphics::WindowsManager::addNode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<graphics::Node>, std::shared_ptr<graphics::GroupNode>)'
CMakeFiles/gepetto-gui.dir/gui/windows-manager.cc.o: In function `gepetto::gui::WindowsManager::addGroup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<graphics::GroupNode>, std::shared_ptr<graphics::GroupNode>)':
windows-manager.cc:(.text+0x2019): undefined reference to `graphics::WindowsManager::addGroup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<graphics::GroupNode>, std::shared_ptr<graphics::GroupNode>)'
CMakeFiles/gepetto-gui.dir/gui/node-action.cc.o: In function `gepetto::gui::NodeAction::act(bool)':
node-action.cc:(.text+0x848): undefined reference to `graphics::WindowManager::attachCameraToNode(std::shared_ptr<graphics::Node>)'
collect2: error: ld returned 1 exit status
src/CMakeFiles/gepetto-gui.dir/build.make:1333: recipe for target 'src/gepetto-gui' failed
make[3]: *** [src/gepetto-gui] Error 1
make[3]: Leaving directory '/home/florent/devel/demo/src/gepetto-viewer-corba/build-rel'
CMakeFiles/Makefile2:611: recipe for target 'src/CMakeFiles/gepetto-gui.dir/all' failed
make[2]: *** [src/CMakeFiles/gepetto-gui.dir/all] Error 2
make[2]: Leaving directory '/home/florent/devel/demo/src/gepetto-viewer-corba/build-rel'
Makefile:141: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/florent/devel/demo/src/gepetto-viewer-corba/build-rel'
Makefile:366: recipe for target 'gepetto-viewer-corba.install' failed
make: *** [gepetto-viewer-corba.install] Error 2
florent-lamiraux commented 5 years ago

In hpp-constraints/CMakeLists.txt:92, variable USE_QPOASES is set to false by default, but qpoases is not a dependency in the Makefile.

jmirabel commented 5 years ago

When setting USE_QT4 to TRUE by hand, the precompiler cannot find QtGui/qopengl.h. This file is provided by qt5 and not by qt4.

In the Makefile, gepetto-viewer _branch should be a tag, not a branch. Same for gepetto-viewer-corba_branch.

in gepetto-viewer-corba/CMakeLists.txt:36, USE_QT4 is set to false by default and in Makefile:190, the following lines set USE_QT4 to false in any case.

Corrected by https://github.com/humanoid-path-planner/hpp-doc/commit/3863556ae7d669a6100675badb6d2ec070816f5a, which should be in the master branch.

In hpp-constraints/CMakeLists.txt:92, variable USE_QPOASES is set to false by default, but qpoases is not a dependency in the Makefile.

qpoases is installed via robotpkg.

florent-lamiraux commented 5 years ago

graphviz-dev could also be added to the list of package dependencies. This would enable users to install hpp-gui and hpp-plot right away.