jmccormac / pySceneNetRGBD

Scripts showing how to work with the SceneNetRGBD dataset
GNU General Public License v3.0
178 stars 46 forks source link

Errors when building SceneNet RGB-D #16

Closed arjunds closed 6 years ago

arjunds commented 6 years ago

When I tried building SceneNet RGB-D, I got multiple errors when building both the components and the dependencies. So far, it seems like I have been able to compile the dependencies correctly after a lot of debugging. I also managed to get the camera trajectory to build properly, by adding -std=c++14 to flags.make. However, I still get errors when running make on renderer and scene generator. For renderer, everything compiles fine with no errors until the part where it says "Linking CXX executable scenenet_render" I am confident that the error is on this line in build.make in renderer/build/CMakeFiles/scenenet_render.dir $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/scenenet_render.dir/link.txt --verbose=$(VERBOSE) Because the error message was so long I copy+pasted it into a new file and uploaded it here. rendererError.txt

For the scene_generator it seems that I am missing a file from Chrono, but when I look through the chrono github, the specified file does not exist. The full error is below: [ 50%] Building CXX object CMakeFiles/scenenet_room_generator.dir/scenenet_room_generator.cpp.o /home/arjun/Desktop/SceneNetRGBD/source/scene_generator/scenenet_room_generator.cpp:23:10: fatal error: chrono/physics/ChContactContainerDEM.h: No such file or directory

include "chrono/physics/ChContactContainerDEM.h"

      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compilation terminated. CMakeFiles/scenenet_room_generator.dir/build.make:62: recipe for target 'CMakeFiles/scenenet_room_generator.dir/scenenet_room_generator.cpp.o' failed make[2]: [CMakeFiles/scenenet_room_generator.dir/scenenet_room_generator.cpp.o] Error 1 CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/scenenet_room_generator.dir/all' failed make[1]: [CMakeFiles/scenenet_room_generator.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2

Other information about my system is that I am running Ubuntu 18.04 and if there was a recommended version for the dependencies, I made sure to use that. I also have gcc and g++ versions 4-8 installed and had to use varying versions of the compilers for different dependencies, but for the components as a whole I have used version 7

Hope someone has gotten this error or knows what I might be doing wrong Thanks!

jmccormac commented 6 years ago

For CVD did you compile with CMake? That is a new feature not available in the older version I was using and when I just tried the latest version of CVD (commit 19291867b041a10e968ed8cce0053049a4233ce0) using the CMake compilation, it caused an identical error to the one you have. I fixed it by building with ./configure && make instead. Importantly it should link to libcvd.so, not libCVD.a - so when running CMake for the renderer you should see something like this:

-- Found CVD: /usr/lib/libcvd.so

For the second error, do you have the right branch and commit for Project Chrono as stated in the README? I just remove the reference to a version number in the README as it is the commit hash which is more descriptive.

arjunds commented 6 years ago

Yes, for CVD I compiled with CMake so I'll try doing it with ./configure and make instead. And I'm pretty sure I am on the right branch and commit version for Project Chrono. I did git clone https://github.com/projectchrono/chrono.git and then git fetch origin b5af3f50c39cf2f40e4b05b3115ebb23a69ec8c9 but that might be wrong

UPDATE: Using ./configure && make allowed me to build renderer with no errors. I just checked and looks like using git fetch didn't work as intended so it never reverted to the older version of the repository, therefore causing the error. Thanks a lot!