Menu

Problem while unpacking 3dtk-build-deps and installing dependencies

Help
2018-03-20
2018-03-27
  • Unver Akmandor

    Unver Akmandor - 2018-03-20

    Hi,

    I am trying to install the 3DTK on my laptop in which Ubuntu 16.04 is
    operating. I went through the steps that were provided in INSTALL.MD file as follows:

    $ echo deb http://archive.ubuntu.com/ubuntu trusty main universe |
    sudo tee -a /etc/apt/sources.list > /dev/null
    $ sudo apt-get update
    $ sudo apt-get install --no-install-recommends equivs subversion
    $ svn checkout svn://svn.code.sf.net/p/slam6d/code/trunk slam6d-code
    $ cd slam6d-code
    $ equivs-build doc/equivs/control
    $ sudo dpkg -i 3dtk-build-deps_1.0_all.deb
    $ sudo apt-get -f install --no-install-recommends
    $ make
    $ bin/slam6D dat
    $ bin/show dat

    At the step where I ran the code:

    sudo dpkg -i 3dtk-build-deps_1.0_all.deb

    it gives me such error:

    (Reading database ... 482572 files and directories currently installed.)
    Preparing to unpack 3dtk-build-deps_1.0_all.deb ...
    Unpacking 3dtk-build-deps (1.0) ...
    dpkg: dependency problems prevent configuration of 3dtk-build-deps:
    3dtk-build-deps depends on catkin; however:
    Package catkin is not installed.
    3dtk-build-deps depends on cmake-curses-gui; however:
    Package cmake-curses-gui is not installed.
    3dtk-build-deps depends on libann-dev; however:
    Package libann-dev is not installed.
    3dtk-build-deps depends on libcgal-dev; however:
    Package libcgal-dev is not installed.
    3dtk-build-deps depends on libcgal-qt5-dev; however:
    Package libcgal-qt5-dev is not installed.
    3dtk-build-deps depends on libconfig-dev; however:
    Package libconfig-dev is not installed.
    3dtk-build-deps depends on libftgl-dev; however:
    Package libftgl-dev is not installed.
    3dtk-build-deps depends on libglfw3-dev; however:
    Package libglfw3-dev is not installed.
    3dtk-build-deps depends on liblaser-geometry-dev; however:
    Package liblaser-geometry-dev is not installed.
    3dtk-build-deps depends on libnav-msgs-dev; however:
    Package libnav-msgs-dev is not installed.
    3dtk-build-deps depe
    dpkg: error processing package 3dtk-build-deps (--install):
    dependency problems - leaving unconfigured
    Errors were encountered while processing:
    3dtk-build-deps

    Since I don't have much experience and knowledge on Ubuntu systems, I
    tried to install these dependencies for example by:

    sudo apt-get install catkin

    but then I got these output:

    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    You might want to run 'apt-get -f install' to correct these:
    The following packages have unmet dependencies:
    3dtk-build-deps : Depends: cmake-curses-gui but it is not going to be
    installed
    Depends: libann-dev but it is not going to be installed
    Depends: libcgal-dev but it is not going to be installed
    Depends: libcgal-qt5-dev but it is not going to be
    installed
    Depends: libconfig-dev but it is not going to be
    installed
    Depends: libftgl-dev but it is not going to be installed
    Depends: libglfw3-dev but it is not going to be installed
    Depends: liblaser-geometry-dev but it is not going to be
    installed
    Depends: libnav-msgs-dev but it is not going to be
    installed
    Depends: libnewmat10-dev but it is not going to be
    installed
    Depends: libopencv-calib3d-dev but it is not going to be
    installed
    Depends: libopencv-dev but it is not going to be
    installed
    Depends: liborocos-bfl-dev but it is not installable
    Depends: libpcl-conversions-dev but it is not going to
    be installed
    Depends: librosbag-dev but it is not going to be
    installed
    Depends: libroscpp-dev but it is not going to be
    installed
    Depends: libsuitesparse-dev but it is not going to be
    installed
    Depends: libtf-conversions-dev but it is not going to be
    installed
    Depends: libtf-dev but it is not going to be installed
    Depends: libtf2-sensor-msgs-dev but it is not going to
    be installed
    Depends: libwxgtk3.0-dev but it is not going to be
    installed
    Depends: libxmlrpc-c++8-dev but it is not going to be
    installed
    Depends: libzip-dev but it is not going to be installed
    Depends: python3-dev but it is not going to be installed
    Depends: wx3.0-headers but it is not going to be
    installed
    python-catkin-pkg : Conflicts: catkin but 0.6.16-4 is to be installed
    python-catkin-pkg-modules : Conflicts: catkin but 0.6.16-4 is to be
    installed
    E: Unmet dependencies. Try 'apt-get -f install' with no packages (or
    specify a solution).

    so I think it is not the proper way to install these packages. Could you
    explain me (for a beginner level Ubuntu user) what should I do to install
    these packages and at the end make run the 3DTK software on my computer.

    Best,

    Unver Akmandor

     

    Last edit: Unver Akmandor 2018-03-20
    • JoSch

      JoSch - 2018-03-21

      Hi Unver,

      Quoting Unver Akmandor (2018-03-20 22:24:55)

      I am trying to install the 3DTK on my laptop in which Ubuntu 16.04 is
      operating. I went through the steps that were provided in INSTALL.MD
      http://INSTALL.MD file as follows:

      there were some issues with the content of INSTALL.md which I fixed now.

      $ echo deb http://archive.ubuntu.com/ubuntu trusty main universe |
      sudo tee -a /etc/apt/sources.list > /dev/null

      If you are really using Ubuntu 16.04, then you should not add the package
      repositories for Ubuntu Trusty. Ubuntu Trusty is 14.04. For 16.04 you need
      Xenial.

      $ sudo apt-get update
      $ sudo apt-get install --no-install-recommends equivs subversion
      $ svn checkout svn://svn.code.sf.net/p/slam6d/code/trunk slam6d-code
      $ cd slam6d-code
      $ equivs-build doc/equivs/control

      The right control file for you would be:

      doc/equivs/control.ubuntu.xenial

      $ sudo dpkg -i 3dtk-build-deps_1.0_all.deb
      $ sudo apt-get -f install --no-install-recommends
      $ make
      $ bin/slam6D dat
      $ bin/show dat

      At the step where I ran the code:

      sudo dpkg -i 3dtk-build-deps_1.0_all.deb

      it gives me such error:

      [...]

      so I think it is not the proper way to install these packages. Could you
      explain me (for a beginner level Ubuntu user) what should I do to install
      these packages and at the end make run the 3DTK software on my computer.

      Another problem was, that the package repositories were missing the
      "multiverse" repository. This is why it couldn't find some packages. But this
      is also fixed in the INSTALL.md file now.

      Just redo the steps with what it currently says in INSTALL.md.

      Thanks!

      cheers, josch

       
  • Unver Akmandor

    Unver Akmandor - 2018-03-21

    Thanks Josch.

    Now there is a progress but unfortunately cannot fully run the 3DTK yet. Could you help me again in further issues that I tried to explain below.

    I did the updated steps up to "make" part. But when I run the "make", it gives me such output:

    cmake -H. -B.build
    -- Boost version: 1.58.0
    -- Found the following Boost libraries:
    --   serialization
    --   graph
    --   regex
    --   filesystem
    --   system
    --   thread
    --   date_time
    --   program_options
    --   system
    --   chrono
    --   atomic
    -- With cvblob
    -- Without CUDA accelerated collision detection
    -- Do NOT compile a scan IO for RXP
    -- Without addons.
    -- With OpenMP 
    -- gl.h not found
    -- Not using opengl extensions
    -- Not using compact octreees: Warning uses more memory
    -- Without metrics in slam6d.
    -- Without metrics.
    -- Not using compact octreees: Warning uses more memory
    -- Not using opengl extensions
    -- Without metrics.
    -- Boost version: 1.58.0
    -- Not using non-free OpenCV functionality
    -- Boost version: 1.58.0
    -- version: 3.6.3
    -- version: 3.6
    -- version: 36
    CMake Error at /usr/share/cmake-3.5/Modules/FindBoost.cmake:1677 (message):
      Unable to find the requested Boost libraries.
    
      Boost version: 1.58.0
    
      Boost include path: /usr/include
    
      Could not find the following Boost libraries:
    
              boost_python-py36
    
      No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
      directory containing Boost libraries or BOOST_ROOT to the location of
      Boost.
    Call Stack (most recent call first):
      bindings/CMakeLists.txt:11 (find_package)
    
    -- Boost version: 1.58.0
    -- Found the following Boost libraries:
    --   system
    --   filesystem
    --   unit_test_framework
    -- Build environment is set up!
    -- Configuring incomplete, errors occurred!
    See also "/home/akmandor/slam6d-code/.build/CMakeFiles/CMakeOutput.log".
    See also "/home/akmandor/slam6d-code/.build/CMakeFiles/CMakeError.log".
    Makefile:20: recipe for target '.configured' failed
    make: *** [.configured] Error 1
    

    As I understand, since I have multiple python compilers (2.7, 3, 3.5 etc.), there might be a confliction on the default boost library that the program needs.

    I also searched from the internet how I can fix this issue and tried to reinstall boost libraries for python with this command:
    sudo apt install libboost-program-options-dev libboost-python-dev

    But for the output I get they are already newest versions as in here:

    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    libboost-program-options-dev is already the newest version (1.58.0.1ubuntu1).
    libboost-program-options-dev set to manually installed.
    libboost-python-dev is already the newest version (1.58.0.1ubuntu1).
    libboost-python-dev set to manually installed.
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    

    Also there might be a problem caused by the name of the boost library that 3DTK configuration seeks since it wants boost_python-py36 but all of my boosts starting withlibboost.

    Also I tried to look for how to set "BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.", but I could not find how to do it.

    Since I think my configuration is not fully set, even as the output says "Build environment is set up!", I could not go further and run

    $ bin/slam6D dat
    $ bin/show dat
    

    since slam6D gives slam6D: command not found error.

     
    • JoSch

      JoSch - 2018-03-21

      Hi,

      Quoting Unver Akmandor (2018-03-21 18:04:43)

      As I understand, since I have multiple python compilers (2.7, 3, 3.5 etc.),
      there might be a confliction on the default boost library that the program
      needs.

      I also searched from the internet how I can fix this issue and tried to reinstall boost libraries for python with this command:
      sudo apt install libboost-program-options-dev libboost-python-dev

      But for the output I get they are already newest versions as in here:
      ~~~
      Reading package lists... Done
      Building dependency tree
      Reading state information... Done
      libboost-program-options-dev is already the newest version (1.58.0.1ubuntu1).
      libboost-program-options-dev set to manually installed.
      libboost-python-dev is already the newest version (1.58.0.1ubuntu1).
      libboost-python-dev set to manually installed.
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      ~~~

      Yes, this is the expected output because libboost-python-dev got installed
      together with the meta package you created.

      Also there might be a problem caused by the name of the boost library that
      3DTK configuration seeks since it wants boost_python-py36 but all of my
      boosts starting withlibboost.

      Also I tried to look for how to set "BOOST_LIBRARYDIR to the directory
      containing Boost libraries or BOOST_ROOT to the location of Boost.", but I
      could not find how to do it.

      I'm surprised that you are running into problems because our Ubuntu 16.04
      Xenial Docker image can build 3DTK with the python bindings without problems.

      Do you really need the bindings?

      If not, just compile with WITH_PYTHON=OFF

      If you need them, we could further investigate the issue.

      Thanks!

      cheers, josch

       
  • Unver Akmandor

    Unver Akmandor - 2018-03-25

    Hi josch,

    I cannot compile it by even using your suggestion:
    ~/slam6d-code$ make WITH_PYTHON=OFF

    It still gives me such error output:

    cmake -H. -B.build
    -- Boost version: 1.58.0
    -- Found the following Boost libraries:
    --   serialization
    --   graph
    --   regex
    --   filesystem
    --   system
    --   thread
    --   date_time
    --   program_options
    --   system
    --   chrono
    --   atomic
    -- With cvblob
    -- Without CUDA accelerated collision detection
    -- Do NOT compile a scan IO for RXP
    -- Without addons.
    -- With OpenMP 
    -- gl.h not found
    -- Not using opengl extensions
    -- Not using compact octreees: Warning uses more memory
    -- Without metrics in slam6d.
    -- Without metrics.
    -- Not using compact octreees: Warning uses more memory
    -- Not using opengl extensions
    -- Without metrics.
    -- Boost version: 1.58.0
    -- Not using non-free OpenCV functionality
    -- Boost version: 1.58.0
    -- version: 3.6.3
    -- version: 3.6
    -- version: 36
    CMake Error at /usr/share/cmake-3.5/Modules/FindBoost.cmake:1677 (message):
      Unable to find the requested Boost libraries.
    
      Boost version: 1.58.0
    
      Boost include path: /usr/include
    
      Could not find the following Boost libraries:
    
              boost_python-py36
    
      No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
      directory containing Boost libraries or BOOST_ROOT to the location of
      Boost.
    Call Stack (most recent call first):
      bindings/CMakeLists.txt:11 (find_package)
    
    -- Boost version: 1.58.0
    -- Found the following Boost libraries:
    --   system
    --   filesystem
    --   unit_test_framework
    -- Build environment is set up!
    -- Configuring incomplete, errors occurred!
    See also "/home/akmandor/slam6d-code/.build/CMakeFiles/CMakeOutput.log".
    See also "/home/akmandor/slam6d-code/.build/CMakeFiles/CMakeError.log".
    Makefile:20: recipe for target '.configured' failed
    make: *** [.configured] Error 1
    
     
    • JoSch

      JoSch - 2018-03-26

      Hi Unver,

      Quoting Unver Akmandor (2018-03-26 00:18:17)

      I cannot compile it by even using your suggestion:
      ~/slam6d-code$ make WITH_PYTHON=OFF

      3DTK uses CMake to configure the project and WITH_PYTHON is a CMake
      configuration switch. So you should either use a graphical program like ccmake
      to configure 3DTK and set WITH_PYTHON to OFF or you run:

      cmake -DWITH_PYTHON=OFF

      After having done that you can just run make without any arguments because by
      that time, your project is configured and knows that you don't want to compile
      Python.

      Thanks!

      cheers, josch

       
  • Unver Akmandor

    Unver Akmandor - 2018-03-27

    Thanks Josch for all your help and patience =) Now I can run the toolbox with given dat.

     

Log in to post a comment.