Coder Social home page Coder Social logo

facebookresearch / habitat-sim Goto Github PK

View Code? Open in Web Editor NEW
2.4K 78.0 394.0 105.48 MB

A flexible, high-performance 3D simulator for Embodied AI research.

Home Page: https://aihabitat.org/

License: MIT License

Shell 0.43% Python 9.60% CMake 5.24% C 0.02% C++ 81.18% GLSL 2.17% HTML 0.09% JavaScript 1.04% CSS 0.03% Cuda 0.17% Dockerfile 0.03%
ai computer-vision robotics simulator sim2real cplusplus

habitat-sim's Introduction

CircleCI codecov GitHub license Conda Version Badge Conda Platforms support Badge Documentation pre-commit Python 3.9 Supports Bullet Twitter Follow

Habitat-Sim

A high-performance physics-enabled 3D simulator with support for:

The design philosophy of Habitat is to prioritize simulation speed over the breadth of simulation capabilities. When rendering a scene from the Matterport3D dataset, Habitat-Sim achieves several thousand frames per second (FPS) running single-threaded and reaches over 10,000 FPS multi-process on a single GPU. Habitat-Sim simulates a Fetch robot interacting in ReplicaCAD scenes at over 8,000 steps per second (SPS), where each ‘step’ involves rendering 1 RGBD observation (128×128 pixels) and rigid-body dynamics for 1/30sec.

Habitat-Sim is typically used with Habitat-Lab, a modular high-level library for end-to-end experiments in embodied AI -- defining embodied AI tasks (e.g. navigation, instruction following, question answering), training agents (via imitation or reinforcement learning, or no learning at all as in classical SensePlanAct pipelines), and benchmarking their performance on the defined tasks using standard metrics.

Habitat Demo

habitat2_small.mp4

Table of contents

  1. Citing Habitat
  2. Installation
  3. Testing
  4. Documentation
  5. Datasets
  6. External Contributions
  7. License

Citing Habitat

If you use the Habitat platform in your research, please cite the Habitat 1.0, Habitat 2.0, and Habitat 3.0 papers:

@misc{puig2023habitat3,
      title  = {Habitat 3.0: A Co-Habitat for Humans, Avatars and Robots},
      author = {Xavi Puig and Eric Undersander and Andrew Szot and Mikael Dallaire Cote and Ruslan Partsey and Jimmy Yang and Ruta Desai and Alexander William Clegg and Michal Hlavac and Tiffany Min and Theo Gervet and Vladimír Vondruš and Vincent-Pierre Berges and John Turner and Oleksandr Maksymets and Zsolt Kira and Mrinal Kalakrishnan and Jitendra Malik and Devendra Singh Chaplot and Unnat Jain and Dhruv Batra and Akshara Rai and Roozbeh Mottaghi},
      year={2023},
      archivePrefix={arXiv},
}

@inproceedings{szot2021habitat,
  title     =     {Habitat 2.0: Training Home Assistants to Rearrange their Habitat},
  author    =     {Andrew Szot and Alex Clegg and Eric Undersander and Erik Wijmans and Yili Zhao and John Turner and Noah Maestre and Mustafa Mukadam and Devendra Chaplot and Oleksandr Maksymets and Aaron Gokaslan and Vladimir Vondrus and Sameer Dharur and Franziska Meier and Wojciech Galuba and Angel Chang and Zsolt Kira and Vladlen Koltun and Jitendra Malik and Manolis Savva and Dhruv Batra},
  booktitle =     {Advances in Neural Information Processing Systems (NeurIPS)},
  year      =     {2021}
}

@inproceedings{habitat19iccv,
  title     =     {Habitat: {A} {P}latform for {E}mbodied {AI} {R}esearch},
  author    =     {Manolis Savva and Abhishek Kadian and Oleksandr Maksymets and Yili Zhao and Erik Wijmans and Bhavana Jain and Julian Straub and Jia Liu and Vladlen Koltun and Jitendra Malik and Devi Parikh and Dhruv Batra},
  booktitle =     {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
  year      =     {2019}
}

Habitat-Sim also builds on work contributed by others. If you use contributed methods/models, please cite their works. See the External Contributions section for a list of what was externally contributed and the corresponding work/citation.

Installation

Habitat-Sim can be installed in 3 ways:

  1. Via Conda - Recommended method for most users. Stable release and nightly builds.
  2. [Experimental] Via PIP - pip install . to compile the latest headless build with Bullet. Read build instructions and common build issues.
  3. Via Docker - Updated approximately once per year for the Habitat Challenge. Read habitat-docker-setup.
  4. Via Source - For active development. Read build instructions and common build issues.

[Recommended] Conda Packages

Habitat is under active development, and we advise users to restrict themselves to stable releases. Starting with v0.1.4, we provide conda packages for each release.

  1. Preparing conda env

    Assuming you have conda installed, let's prepare a conda env:

    # We require python>=3.9 and cmake>=3.10
    conda create -n habitat python=3.9 cmake=3.14.0
    conda activate habitat
  2. conda install habitat-sim

    Pick one of the options below depending on your system/needs:

    • To install on machines with an attached display:

      conda install habitat-sim -c conda-forge -c aihabitat
    • To install on headless machines (i.e. without an attached display, e.g. in a cluster) and machines with multiple GPUs (this parameter relies on EGL and thus does not work on MacOS):

      conda install habitat-sim headless -c conda-forge -c aihabitat
      
    • [Most common scenario] To install habitat-sim with bullet physics

      conda install habitat-sim withbullet -c conda-forge -c aihabitat
      
    • Note: Build parameters can be chained together. For instance, to install habitat-sim with physics on headless machines:

      conda install habitat-sim withbullet headless -c conda-forge -c aihabitat
      

Conda packages for older versions can installed by explicitly specifying the version, e.g. conda install habitat-sim=0.1.6 -c conda-forge -c aihabitat.

We also provide a nightly conda build for the main branch. However, this should only be used if you need a specific feature not yet in the latest release version. To get the nightly build of the latest main, simply swap -c aihabitat for -c aihabitat-nightly.

Testing

  1. Let's download some 3D assets using our python data download utility:

    • Download (testing) 3D scenes

      python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes --data-path /path/to/data/

      Note that these testing scenes do not provide semantic annotations. If you would like to test the semantic sensors via example.py, please use the data from the Matterport3D dataset (see Datasets).

    • Download example objects

      python -m habitat_sim.utils.datasets_download --uids habitat_example_objects --data-path /path/to/data/
  2. Interactive testing: Use the interactive viewer included with Habitat-Sim in either C++ or python:

    #C++
    # ./build/viewer if compiling locally
    habitat-viewer /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb
    
    #Python
    #NOTE: depending on your choice of installation, you may need to add '/path/to/habitat-sim' to your PYTHONPATH.
    #e.g. from 'habitat-sim/' directory run 'export PYTHONPATH=$(pwd)'
    python examples/viewer.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb

    You should be able to control an agent in this test scene. Use W/A/S/D keys to move forward/left/backward/right and arrow keys or mouse (LEFT click) to control gaze direction (look up/down/left/right). Try to find the picture of a woman surrounded by a wreath. Have fun!

  3. Physical interactions: Habitat-sim provides rigid and articulated dynamics simulation via integration with Bullet physics. Try it out now with our interactive viewer functionality in C++ or python.

    First, download our fully interactive ReplicaCAD apartment dataset (140 MB):

    #NOTE: by default, data will be downloaded into habitat-sim/data/. Optionally modify the data path by adding:  `--data-path /path/to/data/`
    # with conda install
    python -m habitat_sim.utils.datasets_download --uids replica_cad_dataset
    
    # with source (from inside habitat_sim/)
    python src_python/habitat_sim/utils/datasets_download.py --uids replica_cad_dataset
    • Alternatively, 105 scene variations with pre-baked lighting are available via --uids replica_cad_baked_lighting (480 MB).

    Then load a ReplicaCAD scene in the viewer application with physics enabled. If you modified the data path above, also modify it in viewer calls below.

    #C++
    # ./build/viewer if compiling locally
    habitat-viewer --enable-physics --dataset data/replica_cad/replicaCAD.scene_dataset_config.json -- apt_1
    
    #python
    #NOTE: habitat-sim/ directory must be on your `PYTHONPATH`
    python examples/viewer.py --dataset data/replica_cad/replicaCAD.scene_dataset_config.json --scene apt_1
    • Using scenes with pre-baked lighting instead? Use --dataset data/replica_cad_baked_lighting/replicaCAD_baked.scene_dataset_config.json --scene Baked_sc1_staging_00

    The viewer application outputs the full list of keyboard and mouse interface options to the console at runtime.

    Quickstart Example:

    • WASD to move
    • LEFT click and drag the mouse to look around
    • press SPACE to toggle simulation off/on (default on)
    • press 'm' to switch to "GRAB" mouse mode
    • now LEFT or RIGHT click and drag to move objects or open doors/drawers and release to drop the object
    • with an object gripped, scroll the mouse wheel to:
      • (default): move it closer or farther away
      • (+ALT): rotate object fixed constraint frame (yaw)
      • (+CTRL): rotate object fixed constraint frame (pitch)
      • (+ALT+CTRL): rotate object fixed constraint frame (roll)
  4. Non-interactive testing (e.g. for headless systems): Run the example script:

    python /path/to/habitat-sim/examples/example.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb

    The agent will traverse a particular path and you should see the performance stats at the very end, something like this: 640 x 480, total time: 3.208 sec. FPS: 311.7.

    To reproduce the benchmark table from Habitat ICCV'19 run examples/benchmark.py --scene /path/to/mp3d_example/17DRP5sb8fy/17DRP5sb8fy.glb.

    Additional arguments to example.py are provided to change the sensor configuration, print statistics of the semantic annotations in a scene, compute action-space shortest path trajectories, and set other useful functionality. Refer to the example.py and demo_runner.py source files for an overview.

    Load a specific MP3D or Gibson house: examples/example.py --scene path/to/mp3d/house_id.glb.

    We have also provided an example demo for reference.

    To run a physics example in python (after building with "Physics simulation via Bullet"):

    python examples/example.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb --enable_physics

    Note that in this mode the agent will be frozen and oriented toward the spawned physical objects. Additionally, --save_png can be used to output agent visual observation frames of the physical scene to the current directory.

Common testing issues

  • If you are running on a remote machine and experience display errors when initializing the simulator, e.g.

     X11: The DISPLAY environment variable is missing
     Could not initialize GLFW

    ensure you do not have DISPLAY defined in your environment (run unset DISPLAY to undefine the variable)

  • If you see libGL errors like:

     X11: The DISPLAY environment variable is missing
     Could not initialize GLFW

    chances are your libGL is located at a non-standard location. See e.g. this issue.

Documentation

Browse the online Habitat-Sim documentation.

Check out our ECCV tutorial series for a hands-on quickstart experience.

Can't find the answer to your question? Try asking the developers and community on our Discussions forum.

Datasets

HowTo use common supported datasets with Habitat-Sim.

External Contributions

  • If you use the noise model from PyRobot, please cite the their technical report.

    Specifically, the noise model used for the noisy control functions named pyrobot_* and defined in src_python/habitat_sim/agent/controls/pyrobot_noisy_controls.py

  • If you use the Redwood Depth Noise Model, please cite their paper

    Specifically, the noise model defined in src_python/habitat_sim/sensors/noise_models/redwood_depth_noise_model.py and src/esp/sensor/RedwoodNoiseModel.*

License

Habitat-Sim is MIT licensed. See the LICENSE for details.

The WebGL demo and demo scripts use:

habitat-sim's People

Contributors

0mdc avatar abhiskk avatar aclegg3 avatar apsdehal avatar aszot avatar bigbike avatar charliecb avatar dhruvbatra avatar erikwijmans avatar eundersander avatar jimmytyyang avatar jrreyna avatar jturner65 avatar juantheengineer avatar ldcwv avatar mathfac avatar matthewjmay avatar mosra avatar msavva avatar msbaines avatar mukulkhanna avatar nakuramino avatar naokiyokoyama avatar rpartsey avatar sanchitgarg avatar scottcsteinhauser avatar skylion007 avatar srama2512 avatar vauduong avatar vincentpierre avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

habitat-sim's Issues

Random seed doesn't work properly for `get_random_navigable_point`

Motivation: make an episode generation code reproducible using random seed.
When I tried set seed for HSIM to control get_random_navigable_point that returned different navigation points for same seed.

Steps to reproduce

Based on what I faced with from habitat-api, snippet like shit shouldn't work:

sim.pathfinder.seed(43)
a = sim.pathfinder.get_random_navigable_point()
sim.pathfinder.seed(43)
b = sim.pathfinder.get_random_navigable_point()
assert a == b

Relevant Code

I expect issue is related to

// TODO: this should be using core::Random instead, but passing function

Cannot import habitat_sim anymore

>>> import habitat_sim
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/raid/xkcd/external_code/habitat-sim/habitat_sim/__init__.py", line 12, in <module>
    from .agent import *
  File "/raid/xkcd/external_code/habitat-sim/habitat_sim/agent/__init__.py", line 7, in <module>
    from .agent import *
  File "/raid/xkcd/external_code/habitat-sim/habitat_sim/agent/agent.py", line 7, in <module>
    import attr
ModuleNotFoundError: No module named 'attr'

I tried pip install attr but then I get

Type "help", "copyright", "credits" or "license" for more information.
>>> import habitat_sim
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/raid/xkcd/external_code/habitat-sim/habitat_sim/__init__.py", line 12, in <module>
    from .agent import *
  File "/raid/xkcd/external_code/habitat-sim/habitat_sim/agent/__init__.py", line 7, in <module>
    from .agent import *
  File "/raid/xkcd/external_code/habitat-sim/habitat_sim/agent/agent.py", line 9, in <module>
    from .controls import ObjectControls, ActuationSpec
  File "/raid/xkcd/external_code/habitat-sim/habitat_sim/agent/controls.py", line 17, in <module>
    @attr.s(auto_attribs=True, slots=True)
AttributeError: module 'attr' has no attribute 's'

So I don't know what attr package is.

Suggestions to implement image-goal based navigation

Hi, I'm trying to extend the current tasks to include image-based target-driven navigation. I've been looking at the simulator and api. So far, my understanding is that there are sensors attached to agents and these are passed to the renderer for getting images. I see that there is a method to render based on cameras alone (instead of a sensor tied to an agent).

void Renderer::draw(RenderCamera& camera, scene::SceneGraph& sceneGraph) {

I'm not sure how this can be used in the python API to get renderings of a target-location though. Is there a way to define a task sensor that takes in a pose of the world and provides the image from that pose?

Install error with setup.py, memory leak?

[ 71%] Linking CXX executable stl_logging_unittest

[ 71%] Built target stl_logging_unittest

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
esp/core/CMakeFiles/core.dir/build.make:62: recipe for target 'esp/core/CMakeFiles/core.dir/esp.cpp.o' failed
make[2]: *** [esp/core/CMakeFiles/core.dir/esp.cpp.o] Error 4
CMakeFiles/Makefile2:5462: recipe for target 'esp/core/CMakeFiles/core.dir/all' failed
make[1]: *** [esp/core/CMakeFiles/core.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:1700: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/Importer/IFC/IFCReaderGen2_2x3.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/Importer/IFC/IFCReaderGen2_2x3.cpp.o] Error 4
make[2]: *** Waiting for unfinished jobs....


c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/corrade/src/Corrade/PluginManager/CMakeFiles/CorradePluginManager.dir/build.make:62: recipe for target 'deps/corrade/src/Corrade/PluginManager/CMakeFiles/CorradePluginManager.dir/AbstractManager.cpp.o' failed
make[2]: *** [deps/corrade/src/Corrade/PluginManager/CMakeFiles/CorradePluginManager.dir/AbstractManager.cpp.o] Error 4
CMakeFiles/Makefile2:3004: recipe for target 'deps/corrade/src/Corrade/PluginManager/CMakeFiles/CorradePluginManager.dir/all' failed
make[1]: *** [deps/corrade/src/Corrade/PluginManager/CMakeFiles/CorradePluginManager.dir/all] Error 2

[ 71%] Linking CXX executable example

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:1466: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/OgreXmlSerializer.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/OgreXmlSerializer.cpp.o] Error 4

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:1453: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/OgreBinarySerializer.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/OgreBinarySerializer.cpp.o] Error 4

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:1752: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/Importer/IFC/IFCProfile.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/Importer/IFC/IFCProfile.cpp.o] Error 4

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:972: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/ASELoader.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/ASELoader.cpp.o] Error 4

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:1193: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/LWOBLoader.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/LWOBLoader.cpp.o] Error 4

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:738: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/DeboneProcess.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/DeboneProcess.cpp.o] Error 4

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:114: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/ImporterRegistry.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/ImporterRegistry.cpp.o] Error 4

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:2285: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/X3DImporter_Geometry2D.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/X3DImporter_Geometry2D.cpp.o] Error 4

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:1271: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/MD5Loader.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/MD5Loader.cpp.o] Error 4
[ 71%] Built target example

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:907: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/AMFImporter_Postprocess.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/AMFImporter_Postprocess.cpp.o] Error 4

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:829: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/Importer/StepFile/StepFileGen2.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/Importer/StepFile/StepFileGen2.cpp.o] Error 4

[ 71%] Linking CXX static library libMagnum.a

[ 71%] Built target Magnum

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
deps/assimp/code/CMakeFiles/assimp.dir/build.make:1791: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/Importer/IFC/IFCOpenings.cpp.o' failed
make[2]: *** [deps/assimp/code/CMakeFiles/assimp.dir/Importer/IFC/IFCOpenings.cpp.o] Error 4

[ 71%] Linking CXX executable logging_unittest

[ 71%] Built target logging_unittest

/home/yzhao/ProjectFolder/Unsupervised_depth_prediction/habitat-sim/src/deps/assimp/code/LWOMaterial.cpp: In member function ‘bool Assimp::LWOImporter::HandleTextures(aiMaterial*, const TextureList&, aiTextureType)’:
/home/yzhao/ProjectFolder/Unsupervised_depth_prediction/habitat-sim/src/deps/assimp/code/LWOMaterial.cpp:141:9: warning: ‘mapping’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         if (mapping != aiTextureMapping_UV) {
         ^

[ 71%] Built target MagnumShadersObjects
/home/yzhao/ProjectFolder/Unsupervised_depth_prediction/habitat-sim/src/deps/assimp/code/MDLLoader.cpp: In member function ‘void Assimp::MDLImporter::InternReadFile_Quake1()’:
/home/yzhao/ProjectFolder/Unsupervised_depth_prediction/habitat-sim/src/deps/assimp/code/MDLLoader.cpp:423:116: warning: ‘pcFirstFrame’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     BE_NCONST MDL::Vertex* pcVertices = (BE_NCONST MDL::Vertex*) ((pcFirstFrame->name) + sizeof(pcFirstFrame->name));
                                                                                                                    ^
[ 71%] Linking C executable inputlag
[ 71%] Linking C executable joysticks
[ 71%] Linking C executable opacity
[ 71%] Built target inputlag
[ 71%] Built target joysticks
[ 71%] Built target opacity
[ 71%] Linking C executable gamma
[ 71%] Built target gamma

CMakeFiles/Makefile2:1469: recipe for target 'deps/assimp/code/CMakeFiles/assimp.dir/all' failed
make[1]: *** [deps/assimp/code/CMakeFiles/assimp.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2
Traceback (most recent call last):
  File "setup.py", line 325, in <module>
    zip_safe=False,
  File "/home/yzhao/.local/lib/python3.6/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/yzhao/.local/lib/python3.6/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/home/yzhao/.local/lib/python3.6/site-packages/setuptools/command/install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/yzhao/.local/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 172, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "/home/yzhao/.local/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 158, in call_command
    self.run_command(cmdname)
  File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/yzhao/.local/lib/python3.6/site-packages/setuptools/command/install_lib.py", line 11, in run
    self.build()
  File "/usr/lib/python3.6/distutils/command/install_lib.py", line 109, in build
    self.run_command('build_ext')
  File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "setup.py", line 166, in run
    self.build_extension(ext)
  File "setup.py", line 220, in build_extension
    shlex.split("cmake --build {}".format(self.build_temp)) + build_args
  File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', 'build', '--config', 'RelWithDebInfo', '--', '-j']' returned non-zero exit status 2

Skokloster castle scene dims are [-inf, -inf, -inf]

Steps to reproduce

  1. initialize a DemoRunner with the default settings (as found in settings.py with the skoklester castle scene)
    dr = DemoRunner(default_sim_settings)
  2. call the print_semantic_scene method with the instance of the DemoRunner class
  3. Dimensions of the scene are printed to terminal as:
    <habitat_sim._ext.habitat_sim_bindings.SemanticScene object at 0x7fdf1c0c8260>
    House center:[0. 0. 0.] dims:[-inf -inf -inf]

Why are the dimensions of the castle scene [-inf, -inf, -inf] if the castle scene has walls? How can one ensure that as an agent moves throughout a scene it stays within the scene itself if the dimensions beyond the room are infinite?

make: *** No targets specified and no makefile found. Stop.

I'm on Ubuntu 18.04 with cmake 3.14.0 and I get the following output when running python setup.py install:

-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is unknown
-- 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
CMake Error at CMakeLists.txt:7 (project):
  No CMAKE_CXX_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
See also "/home/mthreet/habitat-sim/build/CMakeFiles/CMakeOutput.log".
See also "/home/mthreet/habitat-sim/build/CMakeFiles/CMakeError.log".
Traceback (most recent call last):
  File "setup.py", line 325, in <module>
    zip_safe=False,
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/site-packages/setuptools/command/install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 172, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 158, in call_command
    self.run_command(cmdname)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/site-packages/setuptools/command/install_lib.py", line 11, in run
    self.build()
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/command/install_lib.py", line 107, in build
    self.run_command('build_ext')
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "setup.py", line 166, in run
    self.build_extension(ext)
  File "setup.py", line 216, in build_extension
    env=env,
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '-H/home/mthreet/habitat-sim/src', '-Bbuild', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/mthreet/habitat-sim/build/lib.linux-x86_64-3.7/habitat_sim/_ext', '-DPYTHON_EXECUTABLE=/home/mthreet/anaconda3/envs/hai/bin/python', '-DCMAKE_EXP
ORT_COMPILE_COMMANDS=ON', '-DCMAKE_BUILD_TYPE=RelWithDebInfo', '-DBUILD_GUI_VIEWERS=ON', '-DBUILD_TESTS=OFF']' returned non-zero exit status 1.

I then ran export CXX=/usr/bin/cmake; python setup.py install and got the following output:

running install
running bdist_egg
running egg_info
writing habitat_sim.egg-info/PKG-INFO
writing dependency_links to habitat_sim.egg-info/dependency_links.txt
writing requirements to habitat_sim.egg-info/requires.txt
writing top-level names to habitat_sim.egg-info/top_level.txt
reading manifest file 'habitat_sim.egg-info/SOURCES.txt'
writing manifest file 'habitat_sim.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
make: *** No targets specified and no makefile found.  Stop.
Traceback (most recent call last):
  File "setup.py", line 325, in <module>
    zip_safe=False,
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/site-packages/setuptools/command/install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 172, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 158, in call_command
    self.run_command(cmdname)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/site-packages/setuptools/command/install_lib.py", line 11, in run
    self.build()
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/command/install_lib.py", line 107, in build
    self.run_command('build_ext')
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "setup.py", line 166, in run
    self.build_extension(ext)
  File "setup.py", line 220, in build_extension
    shlex.split("cmake --build {}".format(self.build_temp)) + build_args
  File "/home/mthreet/anaconda3/envs/hai/lib/python3.7/subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', 'build', '--config', 'RelWithDebInfo', '--', '-j']' returned non-zero exit status 2.

Any idea what's going on?

Incorrect agent state returned

Steps to reproduce

  1. Replace the file src/esp/gfx/Viewer.cpp with the file Viewer.txt (Note: the file extension should be changed to cpp)
  2. Build the project
  3. Run the "viewer" executable on one of the habitat-test-scenes
  4. Rotate the camera view using the arrow keys

Observed Results

  • The y-rotation computed from the cameraNode_->getRotation() is always zero while the one computed from cameraNode_->getAbsoluteTransformation() is correct. The link below shows the results. This link shows the result: video
  • Similar thing is observed when using the python binding habitat_sim/simulator.py. Steps to reproduce this is not included for brevity, but can be provided if needed.

Expected Results

  • The two rotations (default rotation and transformation based rotation) should be the same

Relevant Code

  std::cout
    << std::fixed
    << std::setprecision(2)
    << "default rotation: " << cameraNode_->getRotation().toRotationMatrix().eulerAngles(1, 0, 2).transpose() * 180 / M_PI << std::endl
    <<"matrix based rotation: " << quaternion.toRotationMatrix().eulerAngles(1, 0, 2).transpose() * 180 / M_PI << std::endl
    << std::endl;

Connection of controls to navmesh is disabled for pure teleoperation

if (false) { // pathfinder_->isLoaded()) {

non-interactive testing by running the example script does not work

Steps to reproduce

I am using MacOS Mojave 10.14.5 (18F132) and running the following:
python examples/example.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb`

Observed Results

ImportError: dlopen(/usr/local/lib/python3.6/site-packages/habitat_sim-0.0.1-py3.6-macosx-10.13-x86_64.egg/habitat_sim/_ext/habitat_sim_bindings.so, 2): Symbol not found: __Py_ZeroStruct
Referenced from: /usr/local/lib/python3.6/site-packages/habitat_sim-0.0.1-py3.6-macosx-10.13-x86_64.egg/habitat_sim/_ext/habitat_sim_bindings.so
Expected in: flat namespace
in /usr/local/lib/python3.6/site-packages/habitat_sim-0.0.1-py3.6-macosx-10.13-x86_64.egg/habitat_sim/_ext/habitat_sim_bindings.so

Other Observations

The interactive testing is working well.

setup.py fails

Steps to reproduce

python setup.py install --headless

Observed Results

[ 91%] Building CXX object esp/gfx/CMakeFiles/gfx.dir/__/__/deps/magnum/src/MagnumPlugins/AnyImageImporter/importStaticPlugin.cpp.o
[ 91%] Building CXX object esp/gfx/CMakeFiles/gfx.dir/PTexMeshShader.cpp.o
In file included from /raid/xkcd/external_code/habitat-sim/src/esp/gfx/WindowlessContext.cpp:13:0:
/raid/xkcd/external_code/habitat-sim/src/esp/gfx/WindowlessContext.cpp: In constructor ‘esp::gfx::{anonymous}::ESPEGLContext::ESPEGLContext(int)’:
/raid/xkcd/external_code/habitat-sim/src/cmake/../deps/glad/include/glad/glad_egl.h:276:43: error: expected primary-expression before ‘,’ token
 #define EGL_NO_CONTEXT EGL_CAST(EGLContext,0)
                                           ^
/raid/xkcd/external_code/habitat-sim/src/esp/gfx/WindowlessContext.cpp:151:54: note: in expansion of macro ‘EGL_NO_CONTEXT’
     context_ = eglCreateContext(display_, eglConfig, EGL_NO_CONTEXT, NULL);
                                                      ^
/raid/xkcd/external_code/habitat-sim/src/cmake/../deps/glad/include/glad/glad_egl.h:276:45: error: ‘EGL_CAST’ was not declared in this scope
 #define EGL_NO_CONTEXT EGL_CAST(EGLContext,0)
                                             ^
/raid/xkcd/external_code/habitat-sim/src/esp/gfx/WindowlessContext.cpp:151:54: note: in expansion of macro ‘EGL_NO_CONTEXT’
     context_ = eglCreateContext(display_, eglConfig, EGL_NO_CONTEXT, NULL);
                                                      ^
/raid/xkcd/external_code/habitat-sim/src/esp/gfx/WindowlessContext.cpp: In member function ‘virtual void esp::gfx::{anonymous}::ESPEGLContext::makeCurrent()’:
/raid/xkcd/external_code/habitat-sim/src/cmake/../deps/glad/include/glad/glad_egl.h:278:43: error: expected primary-expression before ‘,’ token
 #define EGL_NO_SURFACE EGL_CAST(EGLSurface,0)
                                           ^
/raid/xkcd/external_code/habitat-sim/src/esp/gfx/WindowlessContext.cpp:164:34: note: in expansion of macro ‘EGL_NO_SURFACE’
         eglMakeCurrent(display_, EGL_NO_SURFACE, EGL_NO_SURFACE, context_);
                                  ^
/raid/xkcd/external_code/habitat-sim/src/cmake/../deps/glad/include/glad/glad_egl.h:278:45: error: ‘EGL_CAST’ was not declared in this scope
 #define EGL_NO_SURFACE EGL_CAST(EGLSurface,0)
                                             ^
/raid/xkcd/external_code/habitat-sim/src/esp/gfx/WindowlessContext.cpp:164:34: note: in expansion of macro ‘EGL_NO_SURFACE’
         eglMakeCurrent(display_, EGL_NO_SURFACE, EGL_NO_SURFACE, context_);
                                  ^
/raid/xkcd/external_code/habitat-sim/src/cmake/../deps/glad/include/glad/glad_egl.h:278:43: error: expected primary-expression before ‘,’ token
 #define EGL_NO_SURFACE EGL_CAST(EGLSurface,0)
                                           ^
/raid/xkcd/external_code/habitat-sim/src/esp/gfx/WindowlessContext.cpp:164:50: note: in expansion of macro ‘EGL_NO_SURFACE’
         eglMakeCurrent(display_, EGL_NO_SURFACE, EGL_NO_SURFACE, context_);
                                                  ^
esp/gfx/CMakeFiles/gfx.dir/build.make:166: recipe for target 'esp/gfx/CMakeFiles/gfx.dir/WindowlessContext.cpp.o' failed
make[2]: *** [esp/gfx/CMakeFiles/gfx.dir/WindowlessContext.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:4465: recipe for target 'esp/gfx/CMakeFiles/gfx.dir/all' failed
make[1]: *** [esp/gfx/CMakeFiles/gfx.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2
Traceback (most recent call last):
  File "setup.py", line 147, in <module>
    zip_safe=False,
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/setuptools/command/install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 172, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 158, in call_command
    self.run_command(cmdname)
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/setuptools/command/install_lib.py", line 11, in run
    self.build()
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/distutils/command/install_lib.py", line 107, in build
    self.run_command('build_ext')
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "setup.py", line 43, in run
    self.build_extension(ext)
  File "setup.py", line 100, in build_extension
    ["cmake", "--build", "."] + build_args, cwd=self.build_temp
  File "/raid/xkcd/miniconda3/envs/habitat-env/lib/python3.6/subprocess.py", line 311, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'RelWithDebInfo', '--', '-j']' returned non-zero exit status 2.

Pytorch integration ?

Hello,
I have been reading Habitat AI paper and I have a question related to Pytorch integration which has been mentioned in the paper :"In practice, we have observed that it is often faster to generate images using Habitat-Sim than to load images from disk".
May I ask where can I find an example to capture RGB and depth images directly from Habitat and use them to train my own CNN model. I have tried to read the doc but I can noyt find it anywhere.
Sorry for not following the question format since I guess this is not a technical issue about Habitat. Thanks !

Quick installation notes and missing dependencies

Hello. I was just trying to follow the quick installation instructions and wanted to provide a little bit of feedback so that other users can have a smoother experience.

  1. The install command should either use sudo, or be run with --user, otherwise it complains about permission issues on Linux. What worked for me:

python3 setup.py install --headless --user

  1. There are some dependencies I needed to install manually in order to get the build to work. These should ideally be mentioned in the README:
# Needed for EGL support:
sudo apt-get install libgles2-mesa-dev
sudo apt-get install python-dev 

# I also needed this to build without --headless
sudo apt-get install xorg-dev libglu1-mesa-dev

Rename LookLeft and LookRight to RotateLeft and RotateRight

author @danielgordon10:
https://github.com/fairinternal/habitat-sim/blob/439d586b8c643fd42f53a31a4b15a65af3e39bcf/src/esp/scene/ObjectControls.cpp#L46

Rotate is a better description of what's actually happening since the entire agent body is being rotated along with the camera.
Based on my understanding of previous conversations, we would not want to change lookUp and lookDown to rotate.

This change will have to be synced with one on habitat-api to similarly rename things.

From @dhruvbatra

-- "look right/left" --> "turn right/left"? Because after "looking" semantics of "forward" don't necessarily change, but after "turning" they do.

@erikwijmans:
turnRight/turnLeft already sneakily exist: https://github.com/fairinternal/habitat-sim/blob/master/src/esp/scene/ObjectControls.cpp#L84.

lookRight/lookLeft just need to be removed from the list of body actions and then those will no longer alter the semantics of forward: https://github.com/fairinternal/habitat-sim/blob/master/src/esp/agent/Agent.cpp#L19

SUNCG dataset test version

Hello, you mention in the readme to contact you for the SUNCG test dataset.

Also, I have the full SUNCG data, is there some sort of parsing tool/script to convert the dataset to glb files?

Build issue

Steps to reproduce

  1. CentOS
  2. python setup.py install --headless

Observed Results

/home/helenjia/h/habitat-sim/src/esp/nav/PathFinder.cpp: In function 'std::tuple<unsigned int, unsigned int, Eigen::Matrix<float, 3, 1, 0, 3, 1> > esp::nav::{anonymous}::projectToPoly(const vec3f&, const dtNavMeshQuery*, const dtQueryFilter*)':
/home/helenjia/h/habitat-sim/src/esp/nav/PathFinder.cpp:42:35: error: converting to 'std::tuple<unsigned int, unsigned int, Eigen::Matrix<float, 3, 1, 0, 3, 1> >' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {unsigned int&, unsigned int&, Eigen::Matrix<float, 3, 1, 0, 3, 1>&}; <template-parameter-2-2> = void; _Elements = {unsigned int, unsigned int, Eigen::Matrix<float, 3, 1, 0, 3, 1>}]'
   return {status, polyRef, polyXYZ};

Solution

  • Issue with initializer lists used to initiate a the tuple, in line 42 of PathFinder.cpp
  • Can be solved with returning return std::make_tuple(args)
  • if it is right I am happy to submit a pull request to fix it

Permission denied Linux with --user option

Steps to reproduce

  1. python setup.py install --user

Observed Results

  • What happened? This could be a description, log output, etc.

Expected Results

ccache: error: Failed to create temporary file for /home/phong/.ccache/tmp/tmp.cpp_stderr: Permission denied
image
Hello guys,
I have been trying to install habitat_sim on the conda environment but somehow I am having issue with "Permission denied" even when I add --user in the set up command. Is there anything I should do to fix this ?

build problemos

Steps to reproduce

  1. git clone --recursive https://github.com/facebookresearch/habitat-sim
  2. cd habitat-sim && ./build.sh --headless && cd ~
  3. echo "export PYTHONPATH=PYTHONPATH:/path/to/habitat-sim" >> ~/.bashrc
  4. source ~/.bashrc && python3.5 -c "import habitat_sim"

Observed Results

 Traceback (most recent call last):
  File "/home/thomas/code/habitat-sim/habitat_sim/bindings/__init__.py", line 10, in <module>
    from habitat_sim._ext.habitat_sim_bindings import Simulator as SimulatorBackend
ImportError: No module named 'habitat_sim._ext'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/thomas/code/habitat-sim/habitat_sim/bindings/dev_bindings.py", line 72, in <module>
    import habitat_sim_bindings
ImportError: /home/thomas/code/habitat-sim/build/esp/bindings/habitat_sim_bindings.so: undefined symbol: _Py_ZeroStruct

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/thomas/code/habitat-sim/habitat_sim/__init__.py", line 12, in <module>
    from .simulator import *
  File "/home/thomas/code/habitat-sim/habitat_sim/simulator.py", line 7, in <module>
    from habitat_sim.bindings import *
  File "/home/thomas/code/habitat-sim/habitat_sim/bindings/__init__.py", line 18, in <module>
    from .dev_bindings import *
  File "/home/thomas/code/habitat-sim/habitat_sim/bindings/dev_bindings.py", line 84, in <module>
    raise ImportError(msg)
ImportError: 
Could not import habitat sim bindings
Please follow the building instructions in the README
-----------------------------------------------------------

Found the following libraries

 Library: habitat_sim_bindings.so -- Supported Python Version: Unknown

Your python interpreter is version 35
Please re-build habitat sim with this version of python

Expected Results

Like nothing. python3.5 -c "import habitat_sim" then just nada.

ModuleNotFoundError: No module named 'habitat_sim._ext'

Steps to reproduce

  1. ./build.sh (build was successful)
  2. Download habitat-test-scenes from provided link
  3. python examples/example.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb

Observed Results

Traceback (most recent call last):
File "examples/example.py", line 12, in
import demo_runner as dr
File "/home/medha/python-virtual-environments/habitat/habitat-sim/examples/demo_runner.py", line 15, in
import habitat_sim
File "/home/medha/python-virtual-environments/habitat/lib/python3.7/site-packages/habitat_sim-0.0.1-py3.7-linux-x86_64.egg/habitat_sim/init.py", line 12, in
from .agent import *
File "/home/medha/python-virtual-environments/habitat/lib/python3.7/site-packages/habitat_sim-0.0.1-py3.7-linux-x86_64.egg/habitat_sim/agent/init.py", line 7, in
from .agent import *
File "/home/medha/python-virtual-environments/habitat/lib/python3.7/site-packages/habitat_sim-0.0.1-py3.7-linux-x86_64.egg/habitat_sim/agent/agent.py", line 12, in
import habitat_sim.bindings as hsim
File "/home/medha/python-virtual-environments/habitat/lib/python3.7/site-packages/habitat_sim-0.0.1-py3.7-linux-x86_64.egg/habitat_sim/bindings/init.py", line 25, in
from habitat_sim._ext.habitat_sim_bindings import Simulator as SimulatorBackend
ModuleNotFoundError: No module named 'habitat_sim._ext'

For reference the python path is: PYTHONPATH:/path/to/habitat-sim

Can't find `download_mp.py`

Steps to reproduce

  1. Clone repo (or open in Github)
  2. Search for download_mp.py in repo

In the Readme, an urgent update is mentioned regarding the Matterport3D dataset, and to use the download_mp.py script to download it. It is also mentioned in the Datasets section, and a command is given to run it. Where is this file? I am can't find it anywhere in the repo or any pull requests. Thanks!

2019-06-25 23 05 26

Variable move_forward distances

What would be an easy way to have the agent move forward by variable distances during each timestep?

Normally we have to declare the actions in the action_space like this -

    agent_cfg.action_space = {
        "move_forward": habitat_sim.agent.ActionSpec(
            "move_forward", habitat_sim.agent.ActuationSpec(amount=0.25)
        ),
        "turn_left": habitat_sim.agent.ActionSpec(
            "turn_left", habitat_sim.agent.ActuationSpec(amount=30.0)
        ),
        "turn_right": habitat_sim.agent.ActionSpec(
            "turn_right", habitat_sim.agent.ActuationSpec(amount=30.0)
        ),
    }

where the ActuationSpec amounts are fixed. What would be an efficient way to make it such that the agent moves/turns different distances after each timestep?

Also, how can one detect collisions between the Agent and the environment?

@erikwijmans Thanks!

--save_png saves all black images

Hello, I am trying to render out images from a Replica scene with the --save_png option. However, the output png files are all-black/gray (with rgb value (31,31,31)). I tried it again with test scene also, the output images are still gray. I am wondering what could be the possible reason for this and how could I fix it? Thank you!

Dynamic Mesh in the Scene

Expected Results

May I ask if it is possible to have a few meshes moving in the scene(with predefined/random trajectory), while my agent observes these movements?
I'm choosing a platform for my research, thanks a lot for your help!

example.py cannot use semantic sensor

Steps to reproduce

  1. Clone repo and install using ./build.sh
  2. python habitat-sim/examples/example.py --scene /path/to/habitat-test-scenes/skokloster-castle.glb --save_png --max_frames 100 --depth_sensor --semantic_sensor --print_semantic_mask_stats

Observed Results

Assert failed: 0 <= activeSemanticSceneID_ && activeSemanticSceneID_ < sceneID_.size(), /path/to/habitat-sim/src/esp/gfx/Simulator.cpp:178

Expected Results

Expected to see saved images of semantic mask for the environment.

I am expecting that this is less of an issue with the code itself and more the test environments available as I suspect the test environment does not have semantic labels available.

This makes the example code hard for me to use and experiment with on its own as I cannot experiment with the functionality without getting permission for, and downloading full datasets.

I am trying to determine what level of semantic mask is available to me (class-wise Vs instance-wise) and how I could utilise them in my work.

Is there a way currently to do this with just the example.py script and example data provided?

Interactive viewer does not work with X11 forwarding

Steps to reproduce

I am on MacOS with XQuartz 2.7.11 (xorg-server 1.18.4) and running the following on CentOS 7.6.
Docker version is 17.05.

  1. Build docker image based on habitat-api repository's Dockerfile without --headless option at line 45
  2. run container with X11 forwarding nvidia-docker run -it --rm --net host --env "DISPLAY" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" -v /tmp/.X11-unix:/tmp/.X11-unix habitat-sim bash
  3. run build/viewer [some scene data]

Observed Results

I got the following error:

$ ./build/viewer 
Platform: can't get Xft.dpi property for virtual DPI scaling, falling back to physical DPI
Invalid window size -2147483648x-2147483648
Platform::GlfwApplication::tryCreate(): cannot create a window with core OpenGL context, falling back to compatibility context
Invalid window size -2147483648x-2147483648
Platform::GlfwApplication::tryCreate(): cannot create a window with OpenGL context

Expected Results

The viewer should appear.

Other observations

I confirmed that some X apps like xeyes, xclock work as expected.
In addition, glxgears also works as usual.

Non-interactive testing by running the example script failed

Steps to reproduce

I'm running on Ubuntu16.04.5 with python3.6.7
python examples/example.py --scene /path/to/scene

Observed Results

Traceback (most recent call last):
File "examples/example.py", line 12, in
import demo_runner as dr
File "/data_1/codes/habitat-sim/examples/demo_runner.py", line 16, in
import habitat_sim
File "/data_1/codes/habitat-sim/habitat_sim/init.py", line 12, in
from .nav import *
File "/data_1/codes/habitat-sim/habitat_sim/nav/init.py", line 1, in
from .greedy_geodesic_follower import GreedyGeodesicFollower
File "/data_1/codes/habitat-sim/habitat_sim/nav/greedy_geodesic_follower.py", line 6, in
import habitat_sim.agent
File "/data_1/codes/habitat-sim/habitat_sim/agent/init.py", line 7, in
from .agent import *
File "/data_1/codes/habitat-sim/habitat_sim/agent/agent.py", line 12, in
import habitat_sim.bindings as hsim
File "/data_1/codes/habitat-sim/habitat_sim/bindings/init.py", line 25, in
from habitat_sim._ext.habitat_sim_bindings import Simulator as SimulatorBackend
ModuleNotFoundError: No module named 'habitat_sim._ext'

Other observation

The Interactive testing works well

setup.py fails after installing libegl1-mesa-dev

Steps to reproduce

  1. sudo apt install libegl1-mesa-dev
  2. python setup.py install
    Using Ubuntu 18.04

Observed Results

[ 24%] Linking CXX static library libtinyply.a
[ 24%] Built target tinyply
make: *** [Makefile:152: all] Error 2
Traceback (most recent call last):
File "setup.py", line 323, in
zip_safe=False,
File "/home/medha/habitat2/lib/python3.7/site-packages/setuptools/init.py", line 145, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.7/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.7/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/medha/habitat2/lib/python3.7/site-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/home/medha/habitat2/lib/python3.7/site-packages/setuptools/command/install.py", line 109, in do_egg_install
self.run_command('bdist_egg')
File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/medha/habitat2/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 172, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "/home/medha/habitat2/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 158, in call_command
self.run_command(cmdname)
File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/medha/habitat2/lib/python3.7/site-packages/setuptools/command/install_lib.py", line 24, in run
self.build()
File "/usr/lib/python3.7/distutils/command/install_lib.py", line 109, in build
self.run_command('build_ext')
File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "setup.py", line 166, in run
self.build_extension(ext)
File "setup.py", line 220, in build_extension
shlex.split("cmake --build {}".format(self.build_temp)) + build_args
File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', 'build', '--config', 'RelWithDebInfo', '--', '-j']' returned non-zero exit status 2.

Semantic mask of an desired object which includes the occluded parts

It would be very useful if the simulator can support a function that provides the semantic mask of an object at a specific view, including both its visible and occluded parts.

It can then further enable various tasks related to computer vision like amodal recognision/detection.

Placing an agent inside an Imported mesh in Habitat

I have imported a mesh into Habitat-SIM and am able to use build/viewer to confirm that it is the correct version of glb file. The mesh is a cubical closed room, and I would like to place an agent inside the mesh itself to explore the room. What would be the best way to do this? Is there a way to get the coordinates of the mesh itself and be able to manually place an agent inside it?

path separator issue on microsoft winsuck

My linux machine is overcommitted right now so I'm trying to test this on a Micro$oft Winsuck 10 machine.

I installed Anaconda as my python environment and am using the anaconda-ized command prompt to use this.

As the console output below shows, the thing is either trying to use unix style path seperators or no separators at all, machine of course requires DOS style separators... =\

(base) C:\Users\atg\Documents\GitHub\habitat-sim>python setup.py install
running install
running bdist_egg
running egg_info
writing habitat_sim.egg-info\PKG-INFO
writing dependency_links to habitat_sim.egg-info\dependency_links.txt
writing requirements to habitat_sim.egg-info\requires.txt
writing top-level names to habitat_sim.egg-info\top_level.txt
reading manifest file 'habitat_sim.egg-info\SOURCES.txt'
writing manifest file 'habitat_sim.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
running build_ext
CMake Error: The source directory "C:UsersatgDocumentsGitHubhabitat-simsrc" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
Traceback (most recent call last):
File "setup.py", line 325, in
zip_safe=False,
File "C:\Users\atg\Anaconda3\lib\site-packages\setuptools_init_.py", line 145, in setup
return distutils.core.setup(**attrs)
File "C:\Users\atg\Anaconda3\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "C:\Users\atg\Anaconda3\lib\distutils\dist.py", line 966, in run_commands
self.run_command(cmd)
File "C:\Users\atg\Anaconda3\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "C:\Users\atg\Anaconda3\lib\site-packages\setuptools\command\install.py", line 67, in run
self.do_egg_install()
File "C:\Users\atg\Anaconda3\lib\site-packages\setuptools\command\install.py", line 109, in do_egg_install
self.run_command('bdist_egg')
File "C:\Users\atg\Anaconda3\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Users\atg\Anaconda3\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "C:\Users\atg\Anaconda3\lib\site-packages\setuptools\command\bdist_egg.py", line 172, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "C:\Users\atg\Anaconda3\lib\site-packages\setuptools\command\bdist_egg.py", line 158, in call_command
self.run_command(cmdname)
File "C:\Users\atg\Anaconda3\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Users\atg\Anaconda3\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "C:\Users\atg\Anaconda3\lib\site-packages\setuptools\command\install_lib.py", line 11, in run
self.build()
File "C:\Users\atg\Anaconda3\lib\distutils\command\install_lib.py", line 107, in build
self.run_command('build_ext')
File "C:\Users\atg\Anaconda3\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Users\atg\Anaconda3\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "setup.py", line 166, in run
self.build_extension(ext)
File "setup.py", line 216, in build_extension
env=env,
File "C:\Users\atg\Anaconda3\lib\subprocess.py", line 347, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '-HC:UsersatgDocumentsGitHubhabitat-simsrc', '-BbuildRelease', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\atg\Documents\GitHub\habitat-sim\build\lib.win-amd64-3.7\habitat_sim\_ext', '-DPYTHON_EXECUTABLE=C:\Users\atg\Anaconda3\python.exe', '-DCMAKE_EXPORT_COMPILE_COMMANDS=ON', '-DCMAKE_BUILD_TYPE=RelWithDebInfo', '-DBUILD_GUI_VIEWERS=ON', '-DBUILD_TESTS=OFF']' returned non-zero exit status 1.

(base) C:\Users\atg\Documents\GitHub\habitat-sim>

Headless build GLXBadFBConfig error

Steps to reproduce

  1. Use habitat-docker on remote AWS server and set up X11 forwarding. Directly using the source github repo on an AWS server results in the same error.
  2. (habitat) root@ip-172-31-77-104:/habitat-sim# python examples/example.py --scene ../habitat-api/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb

Observed Results

==== Initialized Sensor Spec: =====
Sensor uuid: color_sensor
Sensor type: SensorType.COLOR
Sensor position: [0. 1.5 0. ]

debug1: client_input_channel_open: ctype x11 rchan 3 win 65536 max 16384
debug1: client_request_x11: request from 172.31.77.104 57626
debug1: channel 1: new [x11]
debug1: confirm x11
X Error of failed request: GLXBadFBConfig
Major opcode of failed request: 149 (GLX)
Minor opcode of failed request: 34 ()
Serial number of failed request: 21
Current serial number in output stream: 22
debug1: channel 1: FORCE input drain

Expected Results

Something like -
640 x 480, total time: 3.208 sec. FPS: 311.7

Relevant Code

I have received the expected output in the past. However I'm suddenly getting this error. I don't think this is an X forwarding error since other applications like xclock and xeyes seem to be working just fine. Running glxinfo gives a similar error -

ubuntu@ip-172-31-77-104:~$ glxinfo
debug1: client_input_channel_open: ctype x11 rchan 3 win 65536 max 16384
debug1: client_request_x11: request from 172.31.77.104 35806
debug1: channel 1: new [x11]
debug1: confirm x11
name of display: ip-172-31-77-104:10.0
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 149 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 19
Current serial number in output stream: 20
debug1: channel 1: FORCE input drain

Error could not find CMAKE_PROJECT_NAME in Cache

Hello,

I ran

sudo python3 setup.py install

as instructed and got an error

Error: could not find CMAKE_PROJECT_NAME in Cache

Here is the full output:

running install
Checking .pth file support in /usr/local/lib/python3.6/dist-packages/
/usr/bin/python3 -E -c pass
TEST PASSED: /usr/local/lib/python3.6/dist-packages/ appears to support .pth files
running bdist_egg
running egg_info
writing habitat_sim.egg-info/PKG-INFO
writing dependency_links to habitat_sim.egg-info/dependency_links.txt
writing requirements to habitat_sim.egg-info/requires.txt
writing top-level names to habitat_sim.egg-info/top_level.txt
reading manifest file 'habitat_sim.egg-info/SOURCES.txt'
writing manifest file 'habitat_sim.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
Error: could not find CMAKE_PROJECT_NAME in Cache
Traceback (most recent call last):
File "setup.py", line 325, in
zip_safe=False,
File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3/dist-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/usr/lib/python3/dist-packages/setuptools/command/install.py", line 109, in do_egg_install
self.run_command('bdist_egg')
File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3/dist-packages/setuptools/command/bdist_egg.py", line 161, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "/usr/lib/python3/dist-packages/setuptools/command/bdist_egg.py", line 147, in call_command
self.run_command(cmdname)
File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3/dist-packages/setuptools/command/install_lib.py", line 23, in run
self.build()
File "/usr/lib/python3.6/distutils/command/install_lib.py", line 109, in build
self.run_command('build_ext')
File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "setup.py", line 166, in run
self.build_extension(ext)
File "setup.py", line 220, in build_extension
shlex.split("cmake --build {}".format(self.build_temp)) + build_args
File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', 'build', '--config', 'RelWithDebInfo', '--', '-j']' returned non-zero exit status 1.

setup.py does not work

Steps to reproduce

  1. git clone habitat-sim blah blah
  2. run `python setup.py install --headless
  3. run python then import habitat_sim

Observed Results

Traceback (most recent call last):
  File "/data/xkcd/habitat-sim/habitat_sim/bindings/__init__.py", line 10, in <module>
    from habitat_sim._ext.habitat_sim_bindings import Simulator as SimulatorBackend
ModuleNotFoundError: No module named 'habitat_sim._ext'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/xkcd/habitat-sim/habitat_sim/bindings/dev_bindings.py", line 72, in <module>
    import habitat_sim_bindings
ModuleNotFoundError: No module named 'habitat_sim_bindings'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "examples/example.py", line 9, in <module>
    import demo_runner as dr
  File "/data/xkcd/habitat-sim/examples/demo_runner.py", line 15, in <module>
    import habitat_sim
  File "/data/xkcd/habitat-sim/habitat_sim/__init__.py", line 12, in <module>
    from .simulator import *
  File "/data/xkcd/habitat-sim/habitat_sim/simulator.py", line 7, in <module>
    from habitat_sim.bindings import *
  File "/data/xkcd/habitat-sim/habitat_sim/bindings/__init__.py", line 18, in <module>
    from .dev_bindings import *
  File "/data/xkcd/habitat-sim/habitat_sim/bindings/dev_bindings.py", line 84, in <module>
    raise ImportError(msg)
ImportError: 
Could not import habitat sim bindings
Please follow the building instructions in the README
-----------------------------------------------------------

Could not find the expected bindings build folder: "/data/xkcd/habitat-sim/build/esp/bindings"
Make sure to not delete the build folder after building

Seems like those files don't exist. Installing through the "developer instructions" still works fine.

(habitat-env) xkcd@ava:/data/xkcd/habitat-sim$ ls build
bdist.linux-x86_64  lib.linux-x86_64-3.6  temp.linux-x86_64-3.6

Expected Results

  • habitat_sim imports correctly

build --headless error

Steps to reproduce

  1. Run python setup.py install --headless

I also tried

  • python3 setup.py install --headless,
  • python3 setup.py install --headless --user,
  • sudo python3 setup.py install --headless
  • sudo python setup.py install --headless
  • ./build.sh --headless

and they all result in the same error posted below.

Observed Results

Scanning dependencies of target datatool
Scanning dependencies of target habitat_sim_bindings
[ 97%] Building CXX object utils/datatool/CMakeFiles/datatool.dir/datatool.cpp.o
[ 97%] Building CXX object utils/datatool/CMakeFiles/datatool.dir///deps/magnum/src/MagnumPlugins/AnyImageImporter/importStaticPlugin.cpp.o
[ 98%] Building CXX object utils/datatool/CMakeFiles/datatool.dir///deps/magnum/src/MagnumPlugins/AnySceneImporter/importStaticPlugin.cpp.o
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libEGL.so', needed by 'utils/datatool/datatool'. Stop.
make[2]: *** Waiting for unfinished jobs....
[ 98%] Building CXX object utils/datatool/CMakeFiles/datatool.dir///deps/magnum-plugins/src/MagnumPlugins/StbImageImporter/importStaticPlugin.cpp.o
[ 98%] Building CXX object utils/datatool/CMakeFiles/datatool.dir///deps/magnum-plugins/src/MagnumPlugins/StbImageConverter/importStaticPlugin.cpp.o
[ 98%] Building CXX object utils/datatool/CMakeFiles/datatool.dir///deps/magnum-plugins/src/MagnumPlugins/AssimpImporter/importStaticPlugin.cpp.o
[ 98%] Building CXX object utils/datatool/CMakeFiles/datatool.dir///deps/magnum-plugins/src/MagnumPlugins/TinyGltfImporter/importStaticPlugin.cpp.o
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libEGL.so', needed by 'lib.linux-x86_64-3.6/habitat_sim/_ext/habitat_sim_bindings.cpython-36m-x86_64-linux-gnu.so'. Stop.
make[2]: *** Waiting for unfinished jobs....
[ 98%] Building CXX object esp/bindings/CMakeFiles/habitat_sim_bindings.dir///deps/magnum/src/MagnumPlugins/AnySceneImporter/importStaticPlugin.cpp.o
[ 98%] Building CXX object esp/bindings/CMakeFiles/habitat_sim_bindings.dir///deps/magnum-plugins/src/MagnumPlugins/AssimpImporter/importStaticPlugin.cpp.o
[ 98%] Building CXX object esp/bindings/CMakeFiles/habitat_sim_bindings.dir///deps/magnum-plugins/src/MagnumPlugins/StbImageImporter/importStaticPlugin.cpp.o
[ 99%] Building CXX object esp/bindings/CMakeFiles/habitat_sim_bindings.dir///deps/magnum/src/MagnumPlugins/AnyImageImporter/importStaticPlugin.cpp.o
[ 99%] Building CXX object esp/bindings/CMakeFiles/habitat_sim_bindings.dir/bindings.cpp.o
[ 99%] Building CXX object esp/bindings/CMakeFiles/habitat_sim_bindings.dir///deps/magnum-plugins/src/MagnumPlugins/StbImageConverter/importStaticPlugin.cpp.o
[100%] Building CXX object esp/bindings/CMakeFiles/habitat_sim_bindings.dir///deps/magnum-plugins/src/MagnumPlugins/TinyGltfImporter/importStaticPlugin.cpp.o
[100%] Building CXX object esp/bindings/CMakeFiles/habitat_sim_bindings.dir/geoBindings.cpp.o
[100%] Building CXX object esp/bindings/CMakeFiles/habitat_sim_bindings.dir/ShortestPathBindings.cpp.o
CMakeFiles/Makefile2:4795: recipe for target 'utils/datatool/CMakeFiles/datatool.dir/all' failed
make[1]: *** [utils/datatool/CMakeFiles/datatool.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:4877: recipe for target 'esp/bindings/CMakeFiles/habitat_sim_bindings.dir/all' failed
make[1]: *** [esp/bindings/CMakeFiles/habitat_sim_bindings.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2
Traceback (most recent call last):
File "setup.py", line 325, in
zip_safe=False,
File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/setuptools/init.py", line 129, in setup
return distutils.core.setup(**attrs)
File "/home/ubuntu/anaconda3/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/ubuntu/anaconda3/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/ubuntu/anaconda3/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/setuptools/command/install.py", line 109, in do_egg_install
self.run_command('bdist_egg')
File "/home/ubuntu/anaconda3/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/ubuntu/anaconda3/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 172, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 158, in call_command
self.run_command(cmdname)
File "/home/ubuntu/anaconda3/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/ubuntu/anaconda3/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/setuptools/command/install_lib.py", line 11, in run
self.build()
File "/home/ubuntu/anaconda3/lib/python3.6/distutils/command/install_lib.py", line 107, in build
self.run_command('build_ext')
File "/home/ubuntu/anaconda3/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/ubuntu/anaconda3/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "setup.py", line 166, in run
self.build_extension(ext)
File "setup.py", line 220, in build_extension
shlex.split("cmake --build {}".format(self.build_temp)) + build_args
File "/home/ubuntu/anaconda3/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', 'build', '--config', 'RelWithDebInfo', '--', '-j']' returned non-zero exit status 2.

Expected Results

  • Build successfully

Relevant Details

gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11)
I'm running this on an Amazon EC2 DLAMI instance.

Non-interactive model error: undefined symbol: _Py_ZeroStruct

Using the interactive mode seems to work fine, but when running the example.py, I encounter the following error:

python3 examples/example.py --scene /media/DATA1_3TB/alwong/Workspace/datasets/habitat/test-scenes/skokloster-castle.glb

Traceback (most recent call last):
File "examples/example.py", line 12, in
import demo_runner as dr
File "/media/DATA1_3TB/alwong/Workspace/habitat-sim/examples/demo_runner.py", line 16, in
import habitat_sim
File "/usr/local/lib/python3.6/dist-packages/habitat_sim-0.1.2-py3.6-linux-x86_64.egg/habitat_sim/init.py", line 12, in
from .nav import *
File "/usr/local/lib/python3.6/dist-packages/habitat_sim-0.1.2-py3.6-linux-x86_64.egg/habitat_sim/nav/init.py", line 1, in
from .greedy_geodesic_follower import GreedyGeodesicFollower
File "/usr/local/lib/python3.6/dist-packages/habitat_sim-0.1.2-py3.6-linux-x86_64.egg/habitat_sim/nav/greedy_geodesic_follower.py", line 6, in
import habitat_sim.agent
File "/usr/local/lib/python3.6/dist-packages/habitat_sim-0.1.2-py3.6-linux-x86_64.egg/habitat_sim/agent/init.py", line 7, in
from .agent import *
File "/usr/local/lib/python3.6/dist-packages/habitat_sim-0.1.2-py3.6-linux-x86_64.egg/habitat_sim/agent/agent.py", line 12, in
import habitat_sim.bindings as hsim
File "/usr/local/lib/python3.6/dist-packages/habitat_sim-0.1.2-py3.6-linux-x86_64.egg/habitat_sim/bindings/init.py", line 25, in
from habitat_sim._ext.habitat_sim_bindings import Simulator as SimulatorBackend
ImportError: /usr/local/lib/python3.6/dist-packages/habitat_sim-0.1.2-py3.6-linux-x86_64.egg/habitat_sim/_ext/habitat_sim_bindings.so: undefined symbol: _Py_ZeroStruct

Build issue: AttributeError: 'dict' object has no attribute '__NUMPY_SETUP__'

Steps to reproduce

  1. Clone repo
  2. Fresh virtualenv: virtualenv -p python3.6 ./venv && source ./venv/bin/activate
  3. Install numpy: pip install numpy

Observed Results

  • What happened? Compilation issue in Ubuntu 18.04 and compiler:
/usr/lib/ccache/gcc
gcc --version
gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

Log output:

Installed /home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/Pillow-6.1.0-py3.6-linux-x86_64.egg
Searching for numpy-quaternion
Reading https://pypi.org/simple/numpy-quaternion/
Downloading https://files.pythonhosted.org/packages/2e/60/5f944c433e3726a340db9cd0ef24bd4ac34c4d3654ca8dc8f9cc0e21ce78/numpy-quaternion-2019.6.26.15.8.24.tar.gz#sha256=5b11f65f3ef6fa0227530d2c587cc0cf57f64a46d5a121e1cf99adc4c2807014
Best match: numpy-quaternion 2019.6.26.15.8.24
Processing numpy-quaternion-2019.6.26.15.8.24.tar.gz
Writing /tmp/easy_install-cftr53xo/numpy-quaternion-2019.6.26.15.8.24/setup.cfg
Running numpy-quaternion-2019.6.26.15.8.24/setup.py -q bdist_egg --dist-dir /tmp/easy_install-cftr53xo/numpy-quaternion-2019.6.26.15.8.24/egg-dist-tmp-5t0ojvyj
The variable 'package_version' was not present in the environment
Traceback (most recent call last):
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/sandbox.py", line 154, in save_modules
    yield saved
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/sandbox.py", line 250, in run_setup
    _execfile(setup_script, ns)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/sandbox.py", line 45, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-cftr53xo/numpy-quaternion-2019.6.26.15.8.24/setup.py", line 117, in <module>
    def __init__(self, name, sourcedir=""):
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 163, in run
    self.run_command("egg_info")
  File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 296, in run
    self.find_sources()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 303, in find_sources
    mm.run()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 534, in run
    self.add_defaults()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 570, in add_defaults
    sdist.add_defaults(self)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/py36compat.py", line 36, in add_defaults
    self._add_defaults_ext()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/py36compat.py", line 119, in _add_defaults_ext
    build_ext = self.get_finalized_command('build_ext')
  File "/usr/lib/python3.6/distutils/cmd.py", line 299, in get_finalized_command
    cmd_obj.ensure_finalized()
  File "/usr/lib/python3.6/distutils/cmd.py", line 107, in ensure_finalized
    self.finalize_options()
  File "/tmp/easy_install-cftr53xo/numpy-quaternion-2019.6.26.15.8.24/setup.py", line 109, in finalize_options
    
AttributeError: 'dict' object has no attribute '__NUMPY_SETUP__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "setup.py", line 325, in <module>
    zip_safe=False,
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/install.py", line 117, in do_egg_install
    cmd.run()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 418, in run
    self.easy_install(spec, not self.no_deps)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 660, in easy_install
    return self.install_item(None, spec, tmpdir, deps, True)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 707, in install_item
    self.process_distribution(spec, dist, deps)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 752, in process_distribution
    [requirement], self.local_index, self.easy_install
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 782, in resolve
    replace_conflicting=replace_conflicting
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1065, in best_match
    return self.obtain(req, installer)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1077, in obtain
    return installer(requirement)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 679, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 705, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 890, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 1158, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 1144, in run_setup
    run_setup(setup_script, args)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/sandbox.py", line 253, in run_setup
    raise
  File "/usr/lib/python3.6/contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/usr/lib/python3.6/contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/sandbox.py", line 166, in save_modules
    saved_exc.resume()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/sandbox.py", line 141, in resume
    six.reraise(type, exc, self._tb)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/_vendor/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/sandbox.py", line 154, in save_modules
    yield saved
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/sandbox.py", line 250, in run_setup
    _execfile(setup_script, ns)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/sandbox.py", line 45, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-cftr53xo/numpy-quaternion-2019.6.26.15.8.24/setup.py", line 117, in <module>
    def __init__(self, name, sourcedir=""):
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 163, in run
    self.run_command("egg_info")
  File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 296, in run
    self.find_sources()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 303, in find_sources
    mm.run()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 534, in run
    self.add_defaults()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 570, in add_defaults
    sdist.add_defaults(self)
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/py36compat.py", line 36, in add_defaults
    self._add_defaults_ext()
  File "/home/tonirv/Code/Simulators/habitat-sim/venv/lib/python3.6/site-packages/setuptools/command/py36compat.py", line 119, in _add_defaults_ext
    build_ext = self.get_finalized_command('build_ext')
  File "/usr/lib/python3.6/distutils/cmd.py", line 299, in get_finalized_command
    cmd_obj.ensure_finalized()
  File "/usr/lib/python3.6/distutils/cmd.py", line 107, in ensure_finalized
    self.finalize_options()
  File "/tmp/easy_install-cftr53xo/numpy-quaternion-2019.6.26.15.8.24/setup.py", line 109, in finalize_options
    
AttributeError: 'dict' object has no attribute '__NUMPY_SETUP__'

Expected Results

  • What did you expect to happen? Successful install...
    It does work though if I follow the developer install guide.

Build failed: could not find from_json() method in T's namespace

Build fails on:

  • OSX 10.14.3
  • both gcc/g++ 4.2.1 and clang/clang++ 10.0.1

Steps to reproduce

  1. python setup.py install

Observed Results

[ 65%] Built target MagnumPrimitives
[ 65%] Compiling data resource file /Users/andriitytarenko/devel/habitat-root/habitat-sim/build/temp.macosx-10.14-x86_64-3.7/deps/magnum-plugins/src/MagnumPlugins/TinyGltfImporter/resource_TinyGltfImporter.cpp
Scanning dependencies of target TinyGltfImporter
[ 65%] Building CXX object deps/magnum-plugins/src/MagnumPlugins/TinyGltfImporter/CMakeFiles/TinyGltfImporter.dir/TinyGltfImporter.cpp.o
In file included from /Users/andriitytarenko/devel/habitat-root/habitat-sim/src/deps/magnum-plugins/src/MagnumPlugins/TinyGltfImporter/TinyGltfImporter.cpp:71:
In file included from /Users/andriitytarenko/devel/habitat-root/habitat-sim/src/deps/magnum-plugins/src/MagnumExternal/TinyGltf/tiny_gltf.h:992:
/Users/andriitytarenko/devel/habitat-root/habitat-sim/src/deps/magnum-plugins/src/MagnumExternal/TinyGltf/./json.hpp:1378:9: error: static_assert failed "could not find from_json() method in T's namespace"
        static_assert(sizeof(BasicJsonType) == 0,
        ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/andriitytarenko/devel/habitat-root/habitat-sim/src/deps/magnum-plugins/src/MagnumExternal/TinyGltf/./json.hpp:1387:16: note: in instantiation of function template specialization 'nlohmann::detail::from_json_fn::call<nlohmann::basic_json<std::map, std::vector,
      std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >' requested here
        return call(j, val, priority_tag<1> {});
               ^
/Users/andriitytarenko/devel/habitat-root/habitat-sim/src/deps/magnum-plugins/src/MagnumExternal/TinyGltf/./json.hpp:6861:9: note: in instantiation of function template specialization 'nlohmann::detail::from_json_fn::operator()<nlohmann::basic_json<std::map, std::vector,
      std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >' requested here
        ::nlohmann::from_json(std::forward<BasicJsonType>(j), val);
        ^
/Users/andriitytarenko/devel/habitat-root/habitat-sim/src/deps/magnum-plugins/src/MagnumExternal/TinyGltf/./json.hpp:9578:36: note: in instantiation of function template specialization 'nlohmann::adl_serializer<std::__1::basic_string_view<char, std::__1::char_traits<char>
      >, void>::from_json<const nlohmann::basic_json<std::map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer> &, std::__1::basic_string_view<char, std::__1::char_traits<char> > >' requested here
        JSONSerializer<ValueType>::from_json(*this, ret);
                                   ^
/Users/andriitytarenko/devel/habitat-root/habitat-sim/src/deps/magnum-plugins/src/MagnumExternal/TinyGltf/./json.hpp:9841:16: note: in instantiation of function template specialization 'nlohmann::basic_json<std::map, std::vector, std::__1::basic_string<char>, bool, long
      long, unsigned long long, double, std::allocator, adl_serializer>::get<std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, 0>' requested here
        return get<ValueType>();
               ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/string:875:29: note: in instantiation of function template specialization 'nlohmann::basic_json<std::map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator,
      adl_serializer>::operator basic_string_view<std::__1::basic_string_view<char, std::__1::char_traits<char> >, 0>' requested here
        {__self_view __sv = __t; return assign(__sv);}
                            ^
/Users/andriitytarenko/devel/habitat-root/habitat-sim/src/deps/magnum-plugins/src/MagnumExternal/TinyGltf/tiny_gltf.h:1924:12: note: in instantiation of function template specialization 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>
      >::operator=<nlohmann::basic_json<std::map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer>, void>' requested here
    (*ret) = it.value();
           ^
1 error generated.
make[2]: *** [deps/magnum-plugins/src/MagnumPlugins/TinyGltfImporter/CMakeFiles/TinyGltfImporter.dir/TinyGltfImporter.cpp.o] Error 1
make[1]: *** [deps/magnum-plugins/src/MagnumPlugins/TinyGltfImporter/CMakeFiles/TinyGltfImporter.dir/all] Error 2

It seems like it is known issue of MagnumPlugins (its TinyGltf's json dependency) e.g.:
mosra/magnum-plugins#54
nlohmann/json#539
nlohmann/json#1140
nlohmann/json#917

Cannot Modify Agent Action Spaces in agent.py

I want to modify the default_action_space method in agent.py such that backwards movement is a default movement as well. However when I change the method from
def _default_action_space():
return dict(
move_forward=ActionSpec("move_forward", ActuationSpec(amount=0.25)),
turn_left=ActionSpec("turn_left", ActuationSpec(amount=10.0)),
turn_right=ActionSpec("turn_right", ActuationSpec(amount=10.0)),
)
to
def _default_action_space():
return dict(
move_forward=ActionSpec("move_forward", ActuationSpec(amount=0.5)),
move_backward=ActionSpec("move_backward", ActuationSpec(amount=0.5)),
turn_left=ActionSpec("turn_left", ActuationSpec(amount=90.0)),
turn_right=ActionSpec("turn_right", ActuationSpec(amount=90.0)),
)
However, after implementing these changes the dictionary when printed still looks like:
{'move_forward': ActionSpec(name='move_forward', actuation=ActuationSpec(amount=0.25)), 'turn_left': ActionSpec(name='turn_left', actuation=ActuationSpec(amount=10.0)), 'turn_right': ActionSpec(name='turn_right', actuation=ActuationSpec(amount=10.0))}

I installed habitat-sim with setup.py, must I use the developer installation in order to be able to modify agent.py? I have implemented a new method in simulator.py without any issues as well as added print lines to agent.py so I am unsure as to why default agent movement is unable to be modified.

Error in `python': munmap_chunk(): invalid pointer: 0x00007f48777bb770

I don't really know what's causing this. I have built from HEAD and get this issue, but building from 99e60b97bb736218799424645c22d0258e01c0a7 does not. The issue doesn't happen when running example.py, but that's the only thing I really know for sure. The failure happens when calling vector_env reset.

Restored logs/pointnav/mp3d/splitnet_rl/checkpoints/2019_04_10_17_27_49/000004912.pt
2019-04-19 13:17:12,504 initializing sim Sim-v0
Renderer: GeForce GTX TITAN X/PCIe/SSE2 by NVIDIA Corporation
OpenGL version: 4.6.0 NVIDIA 410.72
Using optional features:
    GL_ARB_ES2_compatibility
    GL_ARB_direct_state_access
    GL_ARB_get_texture_sub_image
    GL_ARB_invalidate_subdata
    GL_ARB_multi_bind
    GL_ARB_robustness
    GL_ARB_separate_shader_objects
    GL_ARB_texture_filter_anisotropic
    GL_ARB_texture_storage
    GL_ARB_texture_storage_multisample
    GL_ARB_vertex_array_object
    GL_EXT_direct_state_access
    GL_KHR_debug
Using driver workarounds:
    nv-egl-incorrect-gl11-function-pointers
    no-layout-qualifiers-on-old-glsl
    nv-zero-context-profile-mask
    nv-cubemap-inconsistent-compressed-image-size
    nv-cubemap-broken-full-compressed-image-query
    nv-compressed-block-size-in-bits
2019-04-19 13:17:13,812 initializing task Nav-v0
Envs created in 1.309
Writing results to logs/pointnav/mp3d/splitnet_rl/results/val/logs_pointnav_mp3d_splitnet_rl_2019_04_10_17_27_49_000004912.csv
Renderer: GeForce GTX TITAN X/PCIe/SSE2 by NVIDIA Corporation
OpenGL version: 4.6.0 NVIDIA 410.72
Using optional features:
    GL_ARB_ES2_compatibility
    GL_ARB_direct_state_access
    GL_ARB_get_texture_sub_image
    GL_ARB_invalidate_subdata
    GL_ARB_multi_bind
    GL_ARB_robustness
    GL_ARB_separate_shader_objects
    GL_ARB_texture_filter_anisotropic
    GL_ARB_texture_storage
    GL_ARB_texture_storage_multisample
    GL_ARB_vertex_array_object
    GL_EXT_direct_state_access
    GL_KHR_debug
Using driver workarounds:
    nv-egl-incorrect-gl11-function-pointers
    no-layout-qualifiers-on-old-glsl
    nv-zero-context-profile-mask
    nv-cubemap-inconsistent-compressed-image-size
    nv-cubemap-broken-full-compressed-image-query
    nv-compressed-block-size-in-bits
*** Error in `python': munmap_chunk(): invalid pointer: 0x00007f48777bb770 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f4932c537e5]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x1a8)[0x7f4932c60698]
/home/xkcd/Documents/external_code/habitat-sim/build/esp/bindings/habitat_sim_bindings.cpython-36m-x86_64-linux-gnu.so(+0xcb5e1)[0x7f48e72485e1]
/home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/torch/lib/libtorch_python.so(+0x1105fa)[0x7f49238625fa]
/home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/torch/lib/libtorch_python.so(+0x11085e)[0x7f492386285e]
python(+0x1984a8)[0x56542bab94a8]
python(_PyEval_EvalFrameDefault+0x30a)[0x56542bade38a]
python(+0x1918e4)[0x56542bab28e4]
python(+0x192771)[0x56542bab3771]
python(+0x198505)[0x56542bab9505]
python(_PyEval_EvalFrameDefault+0x30a)[0x56542bade38a]
python(+0x191bfe)[0x56542bab2bfe]
python(+0x192771)[0x56542bab3771]
python(+0x198505)[0x56542bab9505]
python(_PyEval_EvalFrameDefault+0x30a)[0x56542bade38a]
python(+0x19253b)[0x56542bab353b]
python(+0x198505)[0x56542bab9505]
python(_PyEval_EvalFrameDefault+0x30a)[0x56542bade38a]
python(+0x19253b)[0x56542bab353b]
python(+0x198505)[0x56542bab9505]
python(_PyEval_EvalFrameDefault+0x30a)[0x56542bade38a]
python(+0x191a76)[0x56542bab2a76]
python(+0x192771)[0x56542bab3771]
python(+0x198505)[0x56542bab9505]
python(_PyEval_EvalFrameDefault+0x30a)[0x56542bade38a]
python(+0x191a76)[0x56542bab2a76]
python(+0x192771)[0x56542bab3771]
python(+0x198505)[0x56542bab9505]
python(_PyEval_EvalFrameDefault+0x30a)[0x56542bade38a]
python(PyEval_EvalCodeEx+0x329)[0x56542bab4289]
python(+0x1941a6)[0x56542bab51a6]
python(PyObject_Call+0x3e)[0x56542ba3254e]
python(_PyEval_EvalFrameDefault+0x19ec)[0x56542badfa6c]
python(+0x19253b)[0x56542bab353b]
python(+0x198505)[0x56542bab9505]
python(_PyEval_EvalFrameDefault+0x30a)[0x56542bade38a]
python(+0x19253b)[0x56542bab353b]
python(+0x198505)[0x56542bab9505]
python(_PyEval_EvalFrameDefault+0x30a)[0x56542bade38a]
python(_PyFunction_FastCallDict+0x11b)[0x56542bab3bab]
python(_PyObject_FastCallDict+0x26f)[0x56542ba32b0f]
python(_PyObject_Call_Prepend+0x63)[0x56542ba376a3]
python(PyObject_Call+0x3e)[0x56542ba3254e]
python(+0x20fd36)[0x56542bb30d36]
python(+0x1c42a8)[0x56542bae52a8]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f4932fad6ba]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f4932ce341d]
======= Memory map: ========
405fb000-405fd000 r-xs 00000000 09:00 1703951                            /tmp/.glABhwPs (deleted)
4192e000-419d9000 rw-p 00000000 00:00 0 
200000000-200100000 rw-s 00000000 00:06 508                              /dev/nvidiactl
200100000-200104000 rw-s 00000000 00:06 508                              /dev/nvidiactl
200104000-200120000 ---p 00000000 00:00 0 
200120000-200520000 rw-s 00000000 00:06 508                              /dev/nvidiactl
200520000-200620000 rw-s 00000000 00:06 508                              /dev/nvidiactl
200620000-200624000 rw-s 00000000 00:06 508                              /dev/nvidiactl
200624000-200640000 ---p 00000000 00:00 0 
200640000-200a40000 rw-s 00000000 00:06 508                              /dev/nvidiactl
200a40000-200a44000 rw-s 00000000 00:06 508                              /dev/nvidiactl
200a44000-200a60000 ---p 00000000 00:00 0 
200a60000-200e60000 rw-s 00000000 00:06 508                              /dev/nvidiactl
200e60000-200e64000 rw-s 00000000 00:06 508                              /dev/nvidiactl
200e64000-200e80000 ---p 00000000 00:00 0 
200e80000-201280000 rw-s 00000000 00:06 508                              /dev/nvidiactl
201280000-201284000 rw-s 00000000 00:06 508                              /dev/nvidiactl
201284000-2012a0000 ---p 00000000 00:00 0 
2012a0000-2016a0000 rw-s 00000000 00:06 508                              /dev/nvidiactl
2016a0000-2016a4000 rw-s 00000000 00:06 508                              /dev/nvidiactl
2016a4000-2016c0000 ---p 00000000 00:00 0 
2016c0000-201ac0000 rw-s 00000000 00:06 508                              /dev/nvidiactl
201ac0000-201ac4000 rw-s 00000000 00:06 508                              /dev/nvidiactl
201ac4000-201ae0000 ---p 00000000 00:00 0 
201ae0000-201ee0000 rw-s 00000000 00:06 508                              /dev/nvidiactl
201ee0000-201ee4000 rw-s 00000000 00:06 508                              /dev/nvidiactl
201ee4000-201f00000 ---p 00000000 00:00 0 
201f00000-202300000 rw-s 00000000 00:06 508                              /dev/nvidiactl
202300000-202304000 rw-s 00000000 00:06 508                              /dev/nvidiactl
202304000-202320000 ---p 00000000 00:00 0 
202320000-202720000 rw-s 00000000 00:06 508                              /dev/nvidiactl
202720000-202724000 rw-s 00000000 00:06 508                              /dev/nvidiactl
202724000-202740000 ---p 00000000 00:00 0 
202740000-202b40000 rw-s 00000000 00:06 508                              /dev/nvidiactl
202b40000-202b44000 rw-s 00000000 00:06 508                              /dev/nvidiactl
202b44000-202b60000 ---p 00000000 00:00 0 
202b60000-202f60000 rw-s 00000000 00:06 508                              /dev/nvidiactl
202f60000-202f64000 rw-s 00000000 00:06 508                              /dev/nvidiactl
202f64000-202f80000 ---p 00000000 00:00 0 
202f80000-203380000 rw-s 00000000 00:06 508                              /dev/nvidiactl
203380000-203384000 rw-s 00000000 00:06 508                              /dev/nvidiactl
203384000-2033a0000 ---p 00000000 00:00 0 
2033a0000-2037a0000 rw-s 00000000 00:06 508                              /dev/nvidiactl
2037a0000-2037a4000 rw-s 00000000 00:06 508                              /dev/nvidiactl
2037a4000-2037c0000 ---p 00000000 00:00 0 
2037c0000-203bc0000 rw-s 00000000 00:06 508                              /dev/nvidiactl
203bc0000-203bc4000 rw-s 00000000 00:06 508                              /dev/nvidiactl
203bc4000-203be0000 ---p 00000000 00:00 0 
203be0000-203fe0000 rw-s 00000000 00:06 508                              /dev/nvidiactl
203fe0000-203fe4000 rw-s 00000000 00:06 508                              /dev/nvidiactl
203fe4000-204000000 ---p 00000000 00:00 0 
204000000-204400000 rw-s 00000000 00:06 508                              /dev/nvidiactl
204400000-204500000 rw-s 00000000 00:05 4818032                          /dev/zero (deleted)
204500000-204600000 rw-s 00000000 00:06 508                              /dev/nvidiactl
204600000-204700000 rw-s 00000000 00:05 4818033                          /dev/zero (deleted)
204700000-204800000 rw-s 00000000 00:06 508                              /dev/nvidiactl
204800000-204900000 rw-s 00000000 00:06 508                              /dev/nvidiactl
204900000-2049e0000 rw-s 00000000 00:06 508                              /dev/nvidiactl
2049e0000-204ae0000 rw-s 00000000 00:05 4818035                          /dev/zero (deleted)
204ae0000-204be0000 rw-s 00000000 00:05 4818036                          /dev/zero (deleted)
204be0000-204ce0000 rw-s 00000000 00:05 4818037                          /dev/zero (deleted)
204ce0000-204de1000 rw-s 00000000 00:05 4818038                          /dev/zero (deleted)
204de1000-1800000000 ---p 00000000 00:00 0 
56542b921000-56542b978000 r--p 00000000 09:00 20600362                   /home/xkcd/miniconda3/envs/habitat-env/bin/python3.6
56542b978000-56542bb40000 r-xp 00057000 09:00 20600362                   /home/xkcd/miniconda3/envs/habitat-env/bin/python3.6
56542bb40000-56542bbde000 r--p 0021f000 09:00 20600362                   /home/xkcd/miniconda3/envs/habitat-env/bin/python3.6
56542bbde000-56542bbe1000 r--p 002bc000 09:00 20600362                   /home/xkcd/miniconda3/envs/habitat-env/bin/python3.6
56542bbe1000-56542bc44000 rw-p 002bf000 09:00 20600362                   /home/xkcd/miniconda3/envs/habitat-env/bin/python3.6
56542bc44000-56542bc75000 rw-p 00000000 00:00 0 
56542c64d000-565487bd3000 rw-p 00000000 00:00 0                          [heap]
7f4854000000-7f4857c01000 rw-p 00000000 00:00 0 
7f4857c01000-7f4858000000 ---p 00000000 00:00 0 
7f4858000000-7f485b8ce000 rw-p 00000000 00:00 0 
7f485b8ce000-7f485c000000 ---p 00000000 00:00 0 
7f485c000000-7f485fc01000 rw-p 00000000 00:00 0 
7f485fc01000-7f4860000000 ---p 00000000 00:00 0 
7f4860000000-7f486333c000 rw-p 00000000 00:00 0 
7f486333c000-7f4864000000 ---p 00000000 00:00 0 
7f4864000000-7f4867801000 rw-p 00000000 00:00 0 
7f4867801000-7f4868000000 ---p 00000000 00:00 0 
7f4868000000-7f486bc01000 rw-p 00000000 00:00 0 
7f486bc01000-7f486c000000 ---p 00000000 00:00 0 
7f486c000000-7f486fc01000 rw-p 00000000 00:00 0 
7f486fc01000-7f4870000000 ---p 00000000 00:00 0 
7f4870000000-7f4873c01000 rw-p 00000000 00:00 0 
7f4873c01000-7f4874000000 ---p 00000000 00:00 0 
7f4874000000-7f4877c01000 rw-p 00000000 00:00 0 
7f4877c01000-7f4878000000 ---p 00000000 00:00 0 
7f4878000000-7f487b801000 rw-p 00000000 00:00 0 
7f487b801000-7f487c000000 ---p 00000000 00:00 0 
7f487c000000-7f487f441000 rw-p 00000000 00:00 0 
7f487f441000-7f4880000000 ---p 00000000 00:00 0 
7f48825e1000-7f4883b02000 r-xp 00000000 09:00 9614564                    /usr/lib/nvidia-410/libnvidia-eglcore.so.410.72
7f4883b02000-7f4883d02000 ---p 01521000 09:00 9614564                    /usr/lib/nvidia-410/libnvidia-eglcore.so.410.72
7f4883d02000-7f4883fed000 rw-p 01521000 09:00 9614564                    /usr/lib/nvidia-410/libnvidia-eglcore.so.410.72
7f4883fed000-7f4884000000 rw-p 00000000 00:00 0 
7f4884000000-7f4887b59000 rw-p 00000000 00:00 0 
7f4887b59000-7f4888000000 ---p 00000000 00:00 0 
7f4888d98000-7f488a6cc000 rw-p 00000000 00:00 0 
7f488b700000-7f488b800000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f488b800000-7f488bc00000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f488bc00000-7f488c000000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f488c000000-7f488c021000 rw-p 00000000 00:00 0 
7f488c021000-7f4890000000 ---p 00000000 00:00 0 
7f4890010000-7f4890f24000 rw-p 00000000 00:00 0 
7f4890f28000-7f48911f0000 rw-p 00000000 00:00 0 
7f48911f0000-7f48915f0000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48915f0000-7f48919f0000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48919f0000-7f4891df0000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f4891df0000-7f4892ae8000 rw-p 00000000 00:00 0 
7f4892aeb000-7f4892c9b000 rw-p 00000000 00:00 0 
7f4892c9b000-7f489309b000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f489309b000-7f489329b000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f489329b000-7f48932fb000 rw-p 00000000 00:00 0 
7f48932fb000-7f489337b000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f489337b000-7f48933fb000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48933fb000-7f489347b000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f489347b000-7f489357b000 rw-p 00000000 00:00 0 
7f489357b000-7f489358e000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f489358e000-7f48935ce000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48935ce000-7f48935de000 r-xp 00000000 09:00 9576202                    /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
7f48935de000-7f48937de000 ---p 00010000 09:00 9576202                    /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
7f48937de000-7f48937df000 r--p 00010000 09:00 9576202                    /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
7f48937df000-7f48937e0000 rw-p 00011000 09:00 9576202                    /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
7f48937e0000-7f4894000000 rw-p 00000000 00:00 0 
7f4894000000-7f4894021000 rw-p 00000000 00:00 0 
7f4894021000-7f4898000000 ---p 00000000 00:00 0 
7f4898004000-7f489800d000 rw-p 00000000 00:00 0 
7f489800d000-7f489800f000 rw-s 00000000 09:00 1703951                    /tmp/.glABhwPs (deleted)
7f489800f000-7f489802f000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f489802f000-7f4898030000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f4898030000-7f4898034000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f4898034000-7f4898035000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f4898035000-7f4898055000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f4898055000-7f4898095000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f4898095000-7f48980b5000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48980b5000-7f48980f5000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48980f5000-7f4898165000 rw-p 00000000 00:00 0 
7f4898165000-7f4898166000 ---p 00000000 00:00 0 
7f4898166000-7f4898c06000 rw-p 00000000 00:00 0 
7f4898c06000-7f4898c07000 ---p 00000000 00:00 0 
7f4898c07000-7f4899407000 rw-p 00000000 00:00 0 
7f4899407000-7f4899408000 ---p 00000000 00:00 0 
7f4899408000-7f489ac80000 rw-p 00000000 00:00 0 
7f489ac80000-7f489ac81000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f489ac81000-7f489ac82000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f489ac82000-7f489ac83000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f489ac83000-7f489c934000 rw-p 00000000 00:00 0 
7f489c934000-7f489fde4000 r-xp 00000000 09:00 20614080                   /home/xkcd/miniconda3/envs/habitat-env/lib/libmkl_avx2.so
7f489fde4000-7f489ffe4000 ---p 034b0000 09:00 20614080                   /home/xkcd/miniconda3/envs/habitat-env/lib/libmkl_avx2.so
7f489ffe4000-7f489ffeb000 r--p 034b0000 09:00 20614080                   /home/xkcd/miniconda3/envs/habitat-env/lib/libmkl_avx2.so
7f489ffeb000-7f489fff9000 rw-p 034b7000 09:00 20614080                   /home/xkcd/miniconda3/envs/habitat-env/lib/libmkl_avx2.so
7f489fff9000-7f48a0000000 rw-p 00000000 00:00 0 
7f48a0000000-7f48a0021000 rw-p 00000000 00:00 0 
7f48a0021000-7f48a4000000 ---p 00000000 00:00 0 
7f48a4000000-7f48a4021000 rw-p 00000000 00:00 0 
7f48a4021000-7f48a8000000 ---p 00000000 00:00 0 
7f48a8000000-7f48a8021000 rw-p 00000000 00:00 0 
7f48a8021000-7f48ac000000 ---p 00000000 00:00 0 
7f48ac000000-7f48ac021000 rw-p 00000000 00:00 0 
7f48ac021000-7f48b0000000 ---p 00000000 00:00 0 
7f48b0000000-7f48b0001000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b0001000-7f48b0002000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b0002000-7f48b0003000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b0003000-7f48b0004000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b0004000-7f48b0005000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b0005000-7f48b0006000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b0006000-7f48b0007000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b0007000-7f48b0008000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b0008000-7f48b0009000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b0009000-7f48b000a000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b000a000-7f48b000b000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b000b000-7f48b000c000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b000c000-7f48b000d000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b000d000-7f48b000e000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b000e000-7f48b000f000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b000f000-7f48b0010000 rw-s 00000000 00:06 509                        /dev/nvidia0
7f48b0010000-7f48c0000000 ---p 00000000 00:00 0 
7f48c0000000-7f48c0001000 rw-s 00000000 00:15 8                          /dev/shm/fQnj4K (deleted)
7f48c0001000-7f48c01c1000 rw-p 00000000 00:00 0 
7f48c01c1000-7f48c01c2000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01c2000-7f48c01c3000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01c3000-7f48c01c4000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01c4000-7f48c01c5000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01c5000-7f48c01cd000 rw-p 00000000 00:00 0 
7f48c01cd000-7f48c01ce000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01ce000-7f48c01cf000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01cf000-7f48c01d0000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01d0000-7f48c01d1000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01d1000-7f48c01d2000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01d2000-7f48c01d3000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01d3000-7f48c01d4000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01d4000-7f48c01d5000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01d5000-7f48c01d6000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01d6000-7f48c01d7000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01d7000-7f48c01d8000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01d8000-7f48c01d9000 rw-s 00000000 00:06 508                        /dev/nvidiactl
7f48c01d9000-7f48c1759000 rw-p 00000000 00:00 0 
7f48c1759000-7f48c22ec000 r-xp 00000000 09:00 20614068                   /home/xkcd/miniconda3/envs/habitat-env/lib/libmkl_vml_avx2.so
7f48c22ec000-7f48c24ec000 ---p 00b93000 09:00 20614068                   /home/xkcd/miniconda3/envs/habitat-env/lib/libmkl_vml_avx2.so
7f48c24ec000-7f48c24ef000 r--p 00b93000 09:00 20614068                   /home/xkcd/miniconda3/envs/habitat-env/lib/libmkl_vml_avx2.so
7f48c24ef000-7f48c2504000 rw-p 00b96000 09:00 20614068                   /home/xkcd/miniconda3/envs/habitat-env/lib/libmkl_vml_avx2.so
7f48c2504000-7f48c2505000 rw-p 00000000 00:00 0 
7f48c2505000-7f48c2506000 ---p 00000000 00:00 0 
7f48c2506000-7f48c2d91000 rw-p 00000000 00:00 0 
7f48c2d91000-7f48c2d92000 r-xp 00000000 00:00 0 
7f48c2d92000-7f48c2e2d000 rw-p 00000000 00:00 0 
7f48c2e2d000-7f48c2e2f000 r--p 00000000 09:00 20608237                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/npyufunc/_internal.cpython-36m-x86_64-linux-gnu.so
7f48c2e2f000-7f48c2e31000 r-xp 00002000 09:00 20608237                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/npyufunc/_internal.cpython-36m-x86_64-linux-gnu.so
7f48c2e31000-7f48c2e32000 r--p 00004000 09:00 20608237                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/npyufunc/_internal.cpython-36m-x86_64-linux-gnu.so
7f48c2e32000-7f48c2e33000 r--p 00004000 09:00 20608237                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/npyufunc/_internal.cpython-36m-x86_64-linux-gnu.so
7f48c2e33000-7f48c2e34000 rw-p 00005000 09:00 20608237                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/npyufunc/_internal.cpython-36m-x86_64-linux-gnu.so
7f48c2e34000-7f48c2ef4000 rw-p 00000000 00:00 0 
7f48c2ef4000-7f48c2ef8000 r--p 00000000 09:00 20608241                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_dispatcher.cpython-36m-x86_64-linux-gnu.so
7f48c2ef8000-7f48c2efd000 r-xp 00004000 09:00 20608241                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_dispatcher.cpython-36m-x86_64-linux-gnu.so
7f48c2efd000-7f48c2eff000 r--p 00009000 09:00 20608241                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_dispatcher.cpython-36m-x86_64-linux-gnu.so
7f48c2eff000-7f48c2f00000 r--p 0000a000 09:00 20608241                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_dispatcher.cpython-36m-x86_64-linux-gnu.so
7f48c2f00000-7f48c2f01000 rw-p 0000b000 09:00 20608241                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_dispatcher.cpython-36m-x86_64-linux-gnu.so
7f48c2f01000-7f48c2f81000 rw-p 00000000 00:00 0 
7f48c2f81000-7f48c2f83000 r--p 00000000 09:00 20608238                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/runtime/_nrt_python.cpython-36m-x86_64-linux-gnu.so
7f48c2f83000-7f48c2f85000 r-xp 00002000 09:00 20608238                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/runtime/_nrt_python.cpython-36m-x86_64-linux-gnu.so
7f48c2f85000-7f48c2f87000 r--p 00004000 09:00 20608238                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/runtime/_nrt_python.cpython-36m-x86_64-linux-gnu.so
7f48c2f87000-7f48c2f88000 r--p 00005000 09:00 20608238                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/runtime/_nrt_python.cpython-36m-x86_64-linux-gnu.so
7f48c2f88000-7f48c2f89000 rw-p 00006000 09:00 20608238                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/runtime/_nrt_python.cpython-36m-x86_64-linux-gnu.so
7f48c2f89000-7f48c3289000 rw-p 00000000 00:00 0 
7f48c3289000-7f48c3290000 r--p 00000000 09:00 20608244                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_helperlib.cpython-36m-x86_64-linux-gnu.so
7f48c3290000-7f48c329f000 r-xp 00007000 09:00 20608244                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_helperlib.cpython-36m-x86_64-linux-gnu.so
7f48c329f000-7f48c32a4000 r--p 00016000 09:00 20608244                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_helperlib.cpython-36m-x86_64-linux-gnu.so
7f48c32a4000-7f48c32a5000 ---p 0001b000 09:00 20608244                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_helperlib.cpython-36m-x86_64-linux-gnu.so
7f48c32a5000-7f48c32a6000 r--p 0001b000 09:00 20608244                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_helperlib.cpython-36m-x86_64-linux-gnu.so
7f48c32a6000-7f48c32a7000 rw-p 0001c000 09:00 20608244                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_helperlib.cpython-36m-x86_64-linux-gnu.so
7f48c32a7000-7f48c32e7000 rw-p 00000000 00:00 0 
7f48c32e7000-7f48c32e9000 r--p 00000000 09:00 20608242                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_dynfunc.cpython-36m-x86_64-linux-gnu.so
7f48c32e9000-7f48c32ea000 r-xp 00002000 09:00 20608242                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_dynfunc.cpython-36m-x86_64-linux-gnu.so
  48c32ea000-7f48c32eb000 r--p 00003000 09:00 20608242                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_dynfunc.cpython-36m-x86_64-linux-gnu.so
7f48c32eb000-7f48c32ec000 r--p 00003000 09:00 20608242                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_dynfunc.cpython-36m-x86_64-linux-gnu.so
7f48c32ec000-7f48c32ed000 rw-p 00004000 09:00 20608242                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/_dynfunc.cpython-36m-x86_64-linux-gnu.so
7f48c32ed000-7f48c332d000 rw-p 00000000 00:00 0 
7f48c332d000-7f48c332f000 r--p 00000000 09:00 20608236                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/typeconv/_typeconv.cpython-36m-x86_64-linux-gnu.so
7f48c332f000-7f48c3331000 r-xp 00002000 09:00 20608236                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/typeconv/_typeconv.cpython-36m-x86_64-linux-gnu.so
7f48c3331000-7f48c3332000 r--p 00004000 09:00 20608236                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/typeconv/_typeconv.cpython-36m-x86_64-linux-gnu.so
7f48c3332000-7f48c3333000 r--p 00004000 09:00 20608236                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/typeconv/_typeconv.cpython-36m-x86_64-linux-gnu.so
7f48c3333000-7f48c3334000 rw-p 00005000 09:00 20608236                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/numba/typeconv/_typeconv.cpython-36m-x86_64-linux-gnu.so
7f48c3334000-7f48c3534000 rw-p 00000000 00:00 0 
7f48c3534000-7f48c3691000 r--p 00000000 09:00 20646207                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/llvmlite/binding/libllvmlite.so
7f48c3691000-7f48c4bc9000 r-xp 0015d000 09:00 20646207                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/llvmlite/binding/libllvmlite.so
7f48c4bc9000-7f48c5891000 r--p 01695000 09:00 20646207                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/llvmlite/binding/libllvmlite.so
7f48c5891000-7f48c5892000 ---p 0235d000 09:00 20646207                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/llvmlite/binding/libllvmlite.so
7f48c5892000-7f48c5a03000 r--p 0235d000 09:00 20646207                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/llvmlite/binding/libllvmlite.so
7f48c5a03000-7f48c5a0c000 rw-p 024ce000 09:00 20646207                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/llvmlite/binding/libllvmlite.so
7f48c5a0c000-7f48c5ac0000 rw-p 00000000 00:00 0 
7f48c5ac0000-7f48c5ac3000 r--p 00000000 09:00 20608414                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/quaternion/numpy_quaternion.cpython-36m-x86_64-linux-gnu.so
7f48c5ac3000-7f48c5ad5000 r-xp 00003000 09:00 20608414                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/quaternion/numpy_quaternion.cpython-36m-x86_64-linux-gnu.so
7f48c5ad5000-7f48c5ada000 r--p 00015000 09:00 20608414                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/quaternion/numpy_quaternion.cpython-36m-x86_64-linux-gnu.so
7f48c5ada000-7f48c5adb000 r--p 00019000 09:00 20608414                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/quaternion/numpy_quaternion.cpython-36m-x86_64-linux-gnu.so
7f48c5adb000-7f48c5adc000 rw-p 0001a000 09:00 20608414                   /home/xkcd/miniconda3/envs/habitat-env/lib/python3.6/site-packages/quaternion/numpy_quaternion.cpython-36m-x86_64-linux-gnu.soAborted (core dumped)

Segmentation Fault on CentOS7.2

Steps to reproduce

With gcc 5.4 and cmake 3.14, ld 2.32, gflags installed by anaconda, I run either build.sh --headless and python setup.py --headless. Both could compiled successfully, but could not success to run the example.

Observed Results

I meet the segmentation fault during running the example.py with either scene.
image

But I do not know why.

Does anyone meet the same problem, or is there any solution to this?

Update to use modern CMake practices, tighten warning levels

Various good-to-have things to do:

  • replace include_directories() with target_include_directories(), preferring PRIVATE where possible; if a dependency provides a CMake target use that instead
  • remove use of file(GLOB), list sources explicitly (makes the build more predictable without things getting broken when there are untracked files in the working copy) -- #158
  • use configure_file() instead of add_definitions() -- #143
  • convert if(${FOO}) to just if(FOO) -- #58
  • look into TODOs with CMAKE_CXX_VISIBILITY_PRESET
  • set up some JOB_POOLS so it's possible to use more cores for compilation without risking OOM issues (currently a compilation of one pybind11 file takes up to 1.8 GB of RAM, we definitely don't want to run that together with 7 other jobs) will not be needed after #64 lands, since it reduces the bindings code quite a lot
  • enable CORRADE_USE_PEDANTIC_FLAGS for all Habitat code (postponed from #116)
  • go back to CMake 3.5 since that's the oldest version currently in widespread use (Ubuntu 16.04)? -- blocked by tinyply, which requires 3.10 (#139) (which is blocked by magnum's mesh import rework) no need to be that backwards compatible
  • look into suppressing warnings from dependencies
    • glog has some (or go with #121 instead)
    • assimp needs -fvisibility-inlines-hidden to fix ld: warning: direct access in function 'Assimp::IOSystem::CurrentDirectory() const' from file 'deps/magnum-plugins/src/MagnumPlugins/AssimpImporter/libAssimpImporter.a(AssimpImporter.cpp.o)' to global weak symbol 'Assimp::IOSystem::CurrentDirectory() const::Dummy' from file 'deps/assimp/code/libassimp.a(Importer.cpp.o)' means the weak symbol cannot be overri dden at runtime. This was likely caused by different translation units being compiled with different visibility settings.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.