gtri/scrimmage

Initial setup Issue (cmake .. / cmake generate step)

Closed this issue · 6 comments

Answer the following questions:

  • what are you trying to do?
    First time user of SCRIMMAGE, currently running on Ubuntu 20.04.3 LTS
    Followed all steps, got stuck on step "cmake .." and had to manually install the following (as suggested by terminal):
    librapidxml-dev libeigen3-dev libgeographic-dev libboost-thread-dev libboost-date-time-dev libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev libboost-regex-dev libboost-filesystem-dev libboost-system-dev autoconf automake libtool curl unzip ccache parallel libbullet-dev graphviz doxygen libopencv-dev libvtk6-dev tcl-vtk7 python python-setuptools python-numpy python-dev python-pip python-wxmpl python-matplotlib python-pandas python-wxtools python3 python3-setuptools python3-numpy python3-dev python3-pip python3-venv python3-matplotlib python3-pandas

All were able to be installed except for:
python-pip (which says it is replaced by python3-pip)
python-matplotlib (which I was able to install through git clone https://github.com/matplotlib/matplotlib.git)
python-wxmpl (was not able to find a way for the file to be found)

  • what is the problem and how can it be recreated?
    I was able to solve the initial problem of lacking a large amount of the files by manually installing, however I get this error now when running "cmake .." (error shown below)

**-- The imported target "pvtk" references the file
"/usr/bin/pvtk"
but this file does not exist. Possible reasons include:

  • The file was deleted, renamed, or moved to another location.
  • An install or uninstall procedure did not complete successfully.
  • The installation package was faulty and contained
    "/usr/lib/cmake/vtk-7.1/VTKTargets.cmake"
    but not all the files it references.

-- Found VTK Version: 7.1.1
-- Configuring done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
GRPCPP_LIBRARY
linked by target "scrimmage-protos" in directory /home/taaren/scrimmage/scrimmage/src/proto

-- Generating done
CMake Generate step failed. Build files cannot be regenerated correctly.**

  • what scrimmage commit are you on? You can see this with git rev-parse HEAD
    566ef92

  • describe any changes you made to scrimmage.

  • None (just manually installed listed files)

  • If you can recreate the issue using only plugins in the scrimmage repository, what mission file are you running?
    Issue regarding setup, cannot figure out how to have GRPCPP_LIBRARY set to FOUND

On Ubuntu 20.04, you should only be installing python3 packages. For example: python3-matplotlib. You don't need "wxmpl".

The CMake error you are getting is about your system not having GRPC. Did you install scrimmage-grpc and scrimmage-dependencies?

I installed the scrimmage dependencies using sudo apt-get install scrimmage-dependencies scrimmage-jsbsim and got the following:

scrimmage-dependencies is already the newest version (0.2.2.8-8-focalppa0).
The following packages were automatically installed and are no longer required:
cuda-nvrtc-11-3 cuda-nvrtc-dev-11-3 cython3 docutils-common docutils-doc
fltk1.3-doc fluid gazebo11 gazebo11-common gazebo11-plugin-base
gir1.2-mutter-2 google-mock googletest ignition-tools lib32asan4
lib32cilkrts5 lib32gcc1 lib32mpx2 lib32ubsan0 libapr1-dev libaprutil1-dev
libargon2-0 libarmadillo8 libassimp-dev libassimp5 libassuan-dev
libavdevice-dev libavfilter-dev libavresample3 libavutil55 libb64-0d
libbind9-160 libbondcpp1d libboost-all-dev libboost-atomic-dev
libboost-chrono-dev libboost-container-dev libboost-context-dev
libboost-coroutine-dev libboost-date-time1.65.1 libboost-exception-dev
libboost-fiber-dev libboost-filesystem1.65.1 libboost-graph-parallel-dev
libboost-iostreams1.65.1 libboost-locale-dev libboost-log-dev
libboost-math-dev libboost-mpi-dev libboost-mpi-python-dev
libboost-numpy-dev libboost-python-dev libboost-random-dev
libboost-serialization-dev libboost-stacktrace-dev libboost-system1.65.1
libboost-test-dev libboost-thread1.65.1 libboost-timer-dev
libboost-tools-dev libboost-type-erasure-dev libboost-wave-dev libbz2-dev
libcapnp-0.6.1 libccd-dev libccd2 libcdio17 libcharls1 libclass-loader0d
libclass-loader1d libconsole-bridge-dev libconsole-bridge0.4 libcpp-common0d
libdart-collision-bullet-dev libdart-collision-ode-dev libdart-dev
libdart-external-ikfast-dev libdart-external-odelcpsolver-dev
libdart-utils-dev libdart-utils-urdf-dev libdart6 libdart6-collision-bullet
libdart6-collision-ode libdart6-external-odelcpsolver libdart6-utils
libdart6-utils-urdf libdns-export1100 libdns1100 libdouble-conversion1
libdrm-dev libdynamic-reconfigure-config-init-mutex0d libevent-2.1-6
libfcl-dev libfcl0.5 libflann-dev libflann1.9 libfltk-cairo1.3
libfltk-forms1.3 libfltk-gl1.3 libfltk-images1.3 libfltk1.3 libfltk1.3-dev
libfreeimage-dev libfreeimage3 libgazebo11 libgazebo11-dev libgdbm5
libgdcm2.8 libgeos-3.6.2 libgeotiff2 libgles2-mesa libglew2.0
libglvnd-core-dev libgmime-3.0-0 libgnome-desktop-3-17 libgpg-error-dev
libgpgme-dev libgspell-1-1 libgtest-dev libgts-dev libhwloc5
libignition-cmake2-dev libignition-common3 libignition-common3-av
libignition-common3-av-dev libignition-common3-core-dev
libignition-common3-dev libignition-common3-events
libignition-common3-events-dev libignition-common3-graphics
libignition-common3-graphics-dev libignition-common3-profiler
libignition-common3-profiler-dev libignition-fuel-tools4
libignition-fuel-tools4-dev libignition-math6 libignition-math6-dev
libignition-msgs5 libignition-msgs5-dev libignition-tools-dev
libignition-transport8 libignition-transport8-core-dev
libignition-transport8-dev libignition-transport8-log
libignition-transport8-log-dev libimage-transport0d libip4tc0 libip6tc0
libiptc0 libisc-export169 libisc169 libisccc160 libisccfg160 libisl19
libjs-sphinxdoc libjs-underscore libjson-c3 libjxr0 libllvm11 liblog4cxx-dev
liblog4cxx10v5 liblouis14 liblouisutdml8 liblwres160 liblz4-dev
libmessage-filters1d libmozjs-52-0 libmutter-2-0 libmysofa0 libmysqlclient20
libnorm-dev libnss-myhostname libnvidia-common-495 liboctomap-dev
liboctomap1.9 libode-dev libode8 libogre-1.9-dev libogre-1.9.0v5
libopenblas-base libopencv-core3.2 libopencv-flann3.2 libopencv-imgproc3.2
libopencv-ml3.2 libopencv-photo3.2 libopencv-shape3.2 libopencv-video3.2
libopenni-dev libopenni-sensor-pointclouds0 libopenni0 libopenni2-0
libopenni2-dev liborcus-0.13-0 liborocos-kdl-dev liborocos-kdl1.4
libpcl-apps1.10 libpcl-common1.10 libpcl-features1.10 libpcl-filters1.10
libpcl-io1.10 libpcl-kdtree1.10 libpcl-keypoints1.10 libpcl-ml1.10
libpcl-octree1.10 libpcl-outofcore1.10 libpcl-people1.10
libpcl-recognition1.10 libpcl-registration1.10 libpcl-sample-consensus1.10
libpcl-search1.10 libpcl-segmentation1.10 libpcl-stereo1.10
libpcl-surface1.10 libpcl-tracking1.10 libpcl-visualization1.10 libpgm-dev
libpoco-dev libpococrypto62 libpocodata62 libpocodatamysql62
libpocodataodbc62 libpocodatasqlite62 libpocoencodings62 libpocofoundation50
libpocofoundation62 libpocojson62 libpocomongodb62 libpoconet62
libpoconetssl62 libpocoredis62 libpocoutil62 libpocoxml62 libpocozip62
libpoppler73 libpostproc-dev libpostproc54 libpotrace0 libprocps6 libproj12
libprotobuf-lite10 libprotobuf10 libprotoc-dev libpyside2-dev
libpyside2-py3-5.14 libpython-all-dev libpython3.6 libpython3.6-dev
libpython3.6-minimal libpython3.6-stdlib libqpdf21 libqt5concurrent5
libqt5designercomponents5 libqt5opengl5-dev libqt5quickparticles5
libqt5quickshapes5 libqt5quickwidgets5 libqt5webkit5-dev libqwt-qt5-6
libqwt-qt5-dev libraw16 libreadline7 librosconsole3d
libroscpp-serialization0d libroscpp2d libroslib0d librospack0d librostime0d
libsctp-dev libsctp1 libsdformat9 libsdformat9-dev libsdl1.2debian
libshiboken2-dev libshiboken2-py3-5.14 libsimbody-dev libsimbody3.6
libsodium-dev libspnav0 libswresample2 libswscale4 libsynctex1 libtar-dev
libtar0 libtexlua52 libtinyxml-dev libtinyxml2-6a libtinyxml2-dev
libtinyxml2.6.2v5 liburdfdom-dev liburdfdom-headers-dev liburdfdom-model
liburdfdom-model-state liburdfdom-sensor liburdfdom-world libvpx5
libvtk7-dev libvtk7-java libvtk7-jni libvtk7-qt-dev libvulkan-dev
libx11-xcb-dev libx264-152 libx32asan4 libx32cilkrts5 libx32gcc1
libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-randr0-dev
libxcb-shape0-dev libxcb-sync-dev libxmlrpcpp2d libxshmfence-dev
libxxf86vm-dev libyaml-cpp-dev libyaml-cpp0.6 libyaml-dev libzip-dev libzip5
libzmq3-dev node-ansi node-block-stream node-cookie-jar node-fstream
node-node-uuid nplan openni-utils pyqt5-dev python-all python-all-dev
python-asn1crypto python-backports-shutil-get-terminal-size
python-cffi-backend python-concurrent.futures python-configobj
python-configparser python-cryptography python-dbus python-decorator
python-docutils python-entrypoints python-enum34 python-gi python-gobject-2
python-idna python-ipaddress python-ipython-genutils python-keyring
python-lazr.uri python-nose python-oauth python-olefile python-osrf-pycommon
python-paramiko python-pathlib2 python-pexpect python-pickleshare python-pil
python-prompt-toolkit python-ptyprocess python-pyasn1 python-pyparsing
python-roman python-scandir python-secretstorage python-simplegeneric
python-simplejson python-trollius python-wcwidth python-wheel python-xdg
python3-asn1crypto python3-autobahn python3-automat python3-catkin-pkg
python3-catkin-pkg-modules python3-cbor python3-constantly
python3-defusedxml python3-docutils python3-empy python3-gnupg
python3-hamcrest python3-hyperlink python3-incremental python3-lz4
python3-mpi4py python3-oauth python3-opencv python3-opengl python3-png
python3-psutil python3-pyasn1-modules python3-pycryptodome python3-pydot
python3-pygments python3-pykdl python3-pyqrcode python3-pyqt5.qtopengl
python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-pyside2.qtcore
python3-pyside2.qtgui python3-pyside2.qtsvg python3-pyside2.qtwidgets
python3-roman python3-rosdep-modules python3-rosdistro
python3-rosdistro-modules python3-rospkg python3-rospkg-modules
python3-service-identity python3-sip-dev python3-snappy python3-trie
python3-twisted python3-twisted-bin python3-txaio python3-u-msgpack
python3-ubjson python3-vtk7 python3-wsaccel python3-zope.interface python3.6
python3.6-minimal qdoc-qt5 qhelpgenerator-qt5 qt5-assistant qt5-qmake
qt5-qmake-bin qtattributionsscanner-qt5 qtbase5-dev qtbase5-dev-tools
qtdeclarative5-dev qttools5-dev qttools5-dev-tools qttools5-private-dev
ros-noetic-actionlib ros-noetic-actionlib-msgs
ros-noetic-actionlib-tutorials ros-noetic-angles ros-noetic-bond
ros-noetic-bond-core ros-noetic-bondcpp ros-noetic-bondpy
ros-noetic-camera-calibration ros-noetic-camera-calibration-parsers
ros-noetic-camera-info-manager ros-noetic-catkin ros-noetic-class-loader
ros-noetic-cmake-modules ros-noetic-common-msgs ros-noetic-common-tutorials
ros-noetic-compressed-depth-image-transport
ros-noetic-compressed-image-transport ros-noetic-control-msgs
ros-noetic-control-toolbox ros-noetic-controller-interface
ros-noetic-controller-manager ros-noetic-controller-manager-msgs
ros-noetic-cpp-common ros-noetic-cv-bridge ros-noetic-depth-image-proc
ros-noetic-desktop ros-noetic-diagnostic-aggregator
ros-noetic-diagnostic-analysis ros-noetic-diagnostic-common-diagnostics
ros-noetic-diagnostic-msgs ros-noetic-diagnostic-updater
ros-noetic-diagnostics ros-noetic-diff-drive-controller
ros-noetic-dynamic-reconfigure ros-noetic-eigen-conversions
ros-noetic-executive-smach ros-noetic-filters
ros-noetic-forward-command-controller ros-noetic-gazebo-dev
ros-noetic-gazebo-msgs ros-noetic-gazebo-plugins ros-noetic-gazebo-ros
ros-noetic-gazebo-ros-control ros-noetic-gazebo-ros-pkgs ros-noetic-gencpp
ros-noetic-geneus ros-noetic-genlisp ros-noetic-genmsg ros-noetic-gennodejs
ros-noetic-genpy ros-noetic-geometry ros-noetic-geometry-msgs
ros-noetic-geometry-tutorials ros-noetic-gl-dependency
ros-noetic-hardware-interface ros-noetic-image-common
ros-noetic-image-geometry ros-noetic-image-pipeline ros-noetic-image-proc
ros-noetic-image-publisher ros-noetic-image-rotate
ros-noetic-image-transport ros-noetic-image-transport-plugins
ros-noetic-image-view ros-noetic-interactive-marker-tutorials
ros-noetic-interactive-markers ros-noetic-joint-limits-interface
ros-noetic-joint-state-controller ros-noetic-joint-state-publisher
ros-noetic-joint-state-publisher-gui ros-noetic-kdl-conversions
ros-noetic-kdl-parser ros-noetic-laser-assembler ros-noetic-laser-filters
ros-noetic-laser-geometry ros-noetic-laser-pipeline
ros-noetic-librviz-tutorial ros-noetic-map-msgs ros-noetic-media-export
ros-noetic-message-filters ros-noetic-message-generation
ros-noetic-message-runtime ros-noetic-mk ros-noetic-nav-msgs
ros-noetic-nodelet ros-noetic-nodelet-core ros-noetic-nodelet-topic-tools
ros-noetic-nodelet-tutorial-math ros-noetic-pcl-msgs ros-noetic-pluginlib
ros-noetic-pluginlib-tutorials ros-noetic-polled-camera
ros-noetic-position-controllers ros-noetic-python-qt-binding
ros-noetic-qt-dotgraph ros-noetic-qt-gui ros-noetic-qt-gui-cpp
ros-noetic-qt-gui-py-common ros-noetic-qwt-dependency
ros-noetic-realtime-tools ros-noetic-resource-retriever ros-noetic-robot
ros-noetic-robot-state-publisher ros-noetic-ros ros-noetic-ros-base
ros-noetic-ros-comm ros-noetic-ros-core ros-noetic-ros-environment
ros-noetic-ros-tutorials ros-noetic-rosbag ros-noetic-rosbag-migration-rule
ros-noetic-rosbag-storage ros-noetic-rosbash ros-noetic-rosboost-cfg
ros-noetic-rosbuild ros-noetic-rosclean ros-noetic-rosconsole
ros-noetic-rosconsole-bridge ros-noetic-roscpp ros-noetic-roscpp-core
ros-noetic-roscpp-serialization ros-noetic-roscpp-traits
ros-noetic-roscpp-tutorials ros-noetic-roscreate ros-noetic-rosgraph
ros-noetic-rosgraph-msgs ros-noetic-roslang ros-noetic-roslaunch
ros-noetic-roslib ros-noetic-roslint ros-noetic-roslisp ros-noetic-roslz4
ros-noetic-rosmake ros-noetic-rosmaster ros-noetic-rosmsg ros-noetic-rosnode
ros-noetic-rosout ros-noetic-rospack ros-noetic-rosparam ros-noetic-rospy
ros-noetic-rospy-tutorials ros-noetic-rosservice ros-noetic-rostest
ros-noetic-rostime ros-noetic-rostopic ros-noetic-rosunit ros-noetic-roswtf
ros-noetic-rqt-action ros-noetic-rqt-bag ros-noetic-rqt-bag-plugins
ros-noetic-rqt-common-plugins ros-noetic-rqt-console ros-noetic-rqt-dep
ros-noetic-rqt-graph ros-noetic-rqt-gui ros-noetic-rqt-gui-cpp
ros-noetic-rqt-gui-py ros-noetic-rqt-image-view ros-noetic-rqt-launch
ros-noetic-rqt-logger-level ros-noetic-rqt-moveit ros-noetic-rqt-msg
ros-noetic-rqt-nav-view ros-noetic-rqt-plot ros-noetic-rqt-pose-view
ros-noetic-rqt-publisher ros-noetic-rqt-py-common ros-noetic-rqt-py-console
ros-noetic-rqt-reconfigure ros-noetic-rqt-robot-dashboard
ros-noetic-rqt-robot-monitor ros-noetic-rqt-robot-plugins
ros-noetic-rqt-robot-steering ros-noetic-rqt-runtime-monitor
ros-noetic-rqt-rviz ros-noetic-rqt-service-caller ros-noetic-rqt-shell
ros-noetic-rqt-srv ros-noetic-rqt-tf-tree ros-noetic-rqt-top
ros-noetic-rqt-topic ros-noetic-rqt-web ros-noetic-rviz
ros-noetic-rviz-plugin-tutorials ros-noetic-rviz-python-tutorial
ros-noetic-self-test ros-noetic-sensor-msgs ros-noetic-shape-msgs
ros-noetic-simulators ros-noetic-smach ros-noetic-smach-msgs
ros-noetic-smach-ros ros-noetic-smclib ros-noetic-stage ros-noetic-stage-ros
ros-noetic-std-msgs ros-noetic-std-srvs ros-noetic-stereo-image-proc
ros-noetic-stereo-msgs ros-noetic-tf ros-noetic-tf-conversions
ros-noetic-tf2 ros-noetic-tf2-eigen ros-noetic-tf2-geometry-msgs
ros-noetic-tf2-kdl ros-noetic-tf2-msgs ros-noetic-tf2-py ros-noetic-tf2-ros
ros-noetic-theora-image-transport ros-noetic-topic-tools
ros-noetic-trajectory-msgs ros-noetic-transmission-interface
ros-noetic-turtle-actionlib ros-noetic-turtle-tf ros-noetic-turtle-tf2
ros-noetic-turtlesim ros-noetic-urdf ros-noetic-urdf-parser-plugin
ros-noetic-urdf-sim-tutorial ros-noetic-urdf-tutorial
ros-noetic-vision-opencv ros-noetic-visualization-marker-tutorials
ros-noetic-visualization-msgs ros-noetic-visualization-tutorials
ros-noetic-viz ros-noetic-webkit-dependency ros-noetic-xacro
ros-noetic-xmlrpcpp sbcl sdformat9-sdf shiboken2 shim sip-dev tcl-dev
tcl8.6-dev tk-dev tk8.6-dev ttf-dejavu-core vtk7 x11proto-composite-dev
x11proto-damage-dev x11proto-fixes-dev x11proto-kb-dev
x11proto-xf86vidmode-dev

I don't see scrimmage-grpc in the list, is there any way to install it? (sudo get-apt install didn't work)

Update:
when trying sudo apt-get install scrimmage-grpc , I get the following:

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package scrimmage-grpc

No clue why it is not working, but I checked https://launchpad.net/~kevin-demarco/+archive/ubuntu/scrimmage?field.series_filter=focal and see the package available. I tried the in-terminal ppa method and manually adding it to my system's source codes, still no luck. Is there any way to make it possible to access the scrimmage-grpc package?

I forgot that on 20.04, Ubuntu provides a version of grpc through their own package manager, so we didn't have to provide a custom grpc package through Launchpad. Try installing grpc on Ubuntu 20.04 with the command: sudo apt-get install libgrpc-dev

Just tried it, unfortunately I got the same result, is there possibly any way to go into the scripts and change what scrimmage is looking for as FOUND? Below is the error I keep getting:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
GRPCPP_LIBRARY
linked by target "scrimmage-protos" in directory /home/taaren/scrimmage/scrimmage/src/proto

-- Generating done
CMake Generate step failed. Build files cannot be regenerated correctly.

The libgrpc++-dev package is what is needed fro focal install. I have updated the install dependencies script. mainly you should be able to sudo apt-get install libgrpc-dev libgrpc++-dev