conda-forge / gazebo-feedstock

A conda-smithy repository for gazebo.
BSD 3-Clause "New" or "Revised" License
9 stars 8 forks source link

On Windows Gazebo does not start in Powershell or Git Bash #42

Open traversaro opened 3 years ago

traversaro commented 3 years ago

At the moment gazebo on Windows does not start correctly in Powershell or Git Bash, and it works correctly only when launched on Command Prompt. I am not sure if this is expected or not, but having an issue open at least can be helpful for confused users.

In both Powershell and Git Bash, the error is the following:

(robsup) PS C:\Users\STraversaro> gazebo --verbose
Gazebo multi-robot simulator, version 11.3.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

Gazebo multi-robot simulator, version 11.3.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 172.26.160.1
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 172.26.160.1
[Err] [..\gazebo\rendering\RenderEngine.cc:687] EXCEPTION: unable to find OpenGL rendering system. OGRE is probably installed incorrectly. Double check the OGRE cmake output, and make sure OpenGL is enabled.

[Err] [..\gazebo\rendering\RenderingIface.cc:41] Failed to load the Rendering engine subsystem
unable to find OpenGL rendering system. OGRE is probably installed incorrectly. Double check the OGRE cmake output, and make sure OpenGL is enabled.
[Err] [..\gazebo\gazebo.cc:81] Unable to load sensors
[Err] [..\gazebo\Server.cc:306] Unable to load gazebo
[Err] [..\gazebo\rendering\RenderEngine.cc:687] EXCEPTION: unable to find OpenGL rendering system. OGRE is probably installed incorrectly. Double check the OGRE cmake output, and make sure OpenGL is enabled.

[Err] [..\gazebo\rendering\RenderingIface.cc:41] Failed to load the Rendering engine subsystem
unable to find OpenGL rendering system. OGRE is probably installed incorrectly. Double check the OGRE cmake output, and make sure OpenGL is enabled.
[Wrn] [..\gazebo\rendering\RenderEngine.cc:292] Cannot initialize render engine since render path type is NONE. Ignore this warning ifrendering has been turned off on purpose.

This is probably caused by the fact that the activation script is running only when the activated bash is Command Prompt. The easiest solution for this may be to roll our our own https://github.com/wolfv/multisheller scripts instead of relying on the one provided by Gazebo.


Environment (conda list):

``` $ conda list # packages in environment at C:\Users\STraversaro\Miniforge3\envs\robsup: # # Name Version Build Channel ace 6.5.12 h0e60522_1 conda-forge asio 1.14.1 he025d50_0 conda-forge boost 1.74.0 py36h9a8d428_2 conda-forge boost-cpp 1.74.0 h54f0996_1 conda-forge bzip2 1.0.8 h8ffe710_4 conda-forge ca-certificates 2020.12.5 h5b45459_0 conda-forge certifi 2020.12.5 py36ha15d459_0 conda-forge clangdev 5.0.0 flang_3 [flang] conda-forge console_bridge 1.0.1 h7ef1ec2_0 conda-forge cppzmq 4.7.1 h276ee43_0 conda-forge curl 7.71.1 h4b64cdc_8 conda-forge dlfcn-win32 1.2.0 he025d50_0 conda-forge eigen 3.3.9 h2d74725_0 conda-forge ffmpeg 4.3.1 ha925a31_0 conda-forge freeglut 3.2.1 h0e60522_0 conda-forge freeimage 3.18.0 h33f27b4_0 conda-forge freetype 2.10.4 h546665d_0 conda-forge gazebo 11.3.0 h49d8821_2 conda-forge gettext 0.19.8.1 h1a89ca6_1005 conda-forge glew 2.1.0 h39d44d4_2 conda-forge glfw 3.3.2 h2fa13f4_1 conda-forge glib 2.66.3 h0e60522_1 conda-forge gsl 2.6 hdfb1a43_1 conda-forge gts 0.7.6 hee8e781_1 conda-forge hdf5 1.10.6 nompi_h5268f04_1112 conda-forge icu 67.1 h33f27b4_0 conda-forge ilmbase 2.5.3 h7bd577a_0 conda-forge intel-openmp 2020.3 h57928b3_311 conda-forge ipopt 3.13.3 hf6be2e5_5 conda-forge jasper 2.0.14 hdc05fd1_1 conda-forge jpeg 9d h8ffe710_0 conda-forge jsoncpp 1.8.4 h1ad3211_1002 conda-forge krb5 1.17.2 hbae68bd_0 conda-forge libblas 3.8.0 21_mkl conda-forge libcblas 3.8.0 21_mkl conda-forge libclang 10.0.1 default_hf44288c_1 conda-forge libcurl 7.71.1 h4b64cdc_8 conda-forge libffi 3.3 h0e60522_2 conda-forge libflang 5.0.0 h6538335_20180525 conda-forge libglib 2.66.3 h8c8e623_1 conda-forge libiconv 1.16 he774522_0 conda-forge libignition-cmake2 2.5.0 h39d44d4_3 conda-forge libignition-common3 3.7.0 h162260a_4 conda-forge libignition-fuel-tools4 4.2.1 h961be0a_1 conda-forge libignition-math6 6.7.0 h13ae965_0 conda-forge libignition-msgs5 5.3.0 h13ae965_2 conda-forge libignition-tools1 1.0.0 h57928b3_3 conda-forge libignition-transport8 8.1.0 h2130529_2 conda-forge libjpeg-turbo 2.0.5 he774522_0 conda-forge liblapack 3.8.0 21_mkl conda-forge liblapacke 3.8.0 21_mkl conda-forge libmatio 1.5.19 h216f7ef_0 conda-forge libode 0.16.2 ha925a31_2 conda-forge libopencv 4.5.0 py36_3 conda-forge libpng 1.6.37 h1d00b33_2 conda-forge libprotobuf 3.13.0.1 h200bbdf_0 conda-forge libsdformat 9.3.0 h4bf3a07_2 conda-forge libsodium 1.0.18 h8d14728_1 conda-forge libssh2 1.9.0 hb06d900_5 conda-forge libtiff 4.1.0 hc10be44_6 conda-forge libwebp-base 1.1.0 h8ffe710_3 conda-forge libxml2 2.9.10 h1006b36_2 conda-forge libzip 1.7.3 hfed4ece_0 conda-forge lz4-c 1.9.2 h62dcd97_2 conda-forge m2w64-gcc-libgfortran 5.3.0 6 m2w64-gcc-libs 5.3.0 7 m2w64-gcc-libs-core 5.3.0 7 m2w64-gmp 6.1.0 2 m2w64-libwinpthread-git 5.0.0.4634.697f757 2 metis 5.1.0 h0e60522_1006 conda-forge mkl 2020.4 hb70f87d_311 conda-forge msys2-conda-epoch 20160418 1 mumps-seq 5.2.1 hb3f9cae_10 conda-forge numpy 1.19.4 py36hd1b969e_1 conda-forge ogre 1.10.12 h71cedee_6 conda-forge opencv 4.5.0 py36_3 conda-forge openexr 2.5.3 h5dfd299_0 conda-forge openmp 5.0.0 vc14_0 conda-forge openssl 1.1.1h he774522_0 conda-forge pcre 8.44 ha925a31_0 conda-forge pip 20.3.1 pyhd8ed1ab_0 conda-forge pkg-config 0.29.2 h2bf4dc2_1008 conda-forge portaudio 19.6.0 hca4a3dc_3 conda-forge protobuf 3.4.1 py36_vc14_0 conda-forge pugixml 1.10 ha925a31_1 conda-forge py-opencv 4.5.0 py36h7b2dad6_3 conda-forge python 3.6.11 h39d44d4_3_cpython conda-forge python_abi 3.6 1_cp36m conda-forge qt 5.12.9 hb2cf2c5_0 conda-forge qwt 6.1.5 h265ddaf_0 conda-forge ruby 2.7.2 h8b1b97a_3 conda-forge sdl 1.2.15 h21ff451_1 conda-forge sdl2 2.0.12 h0e60522_1 conda-forge setuptools 49.6.0 py36hd36e781_2 conda-forge six 1.15.0 pyh9f0ad1d_0 conda-forge sqlite 3.34.0 h8ffe710_0 conda-forge tbb 2019.9 he980bc4_1 conda-forge tbb-devel 2019.9 he980bc4_1 conda-forge tiny-process-library 2.0.4 h0e60522_0 conda-forge tinyxml 2.6.2 h7ef1ec2_1 conda-forge tinyxml2 8.0.0 h33f27b4_1 conda-forge tk 8.6.10 he774522_1 conda-forge urdfdom 2.3.3 h7ef1ec2_0 conda-forge urdfdom_headers 1.0.5 h7ef1ec2_2 conda-forge vc 14.1 h869be7e_1 conda-forge vs2015_runtime 14.16.27012 h30e32a0_2 conda-forge wheel 0.36.1 pyhd3deb0d_0 conda-forge wincertstore 0.2 py36h9f0ad1d_1005 conda-forge xz 5.2.5 h62dcd97_1 conda-forge yaml 0.2.5 he774522_0 conda-forge zeromq 4.3.2 ha925a31_4 conda-forge zlib 1.2.11 h62dcd97_1010 conda-forge zstd 1.4.5 h1f3a1b7_2 conda-forge zziplib 0.13.69 ha81a0f5_1 conda-forge ```


Details about conda and system ( conda info ):

``` $ conda info (robsup) PS C:\Users\STraversaro> conda info active environment : robsup active env location : C:\Users\STraversaro\Miniforge3\envs\robsup shell level : 2 user config file : C:\Users\STraversaro\.condarc populated config files : C:\Users\STraversaro\Miniforge3\.condarc C:\Users\STraversaro\.condarc conda version : 4.9.2 conda-build version : 3.20.5 python version : 3.8.6.final.0 virtual packages : __cuda=10.2=0 __win=0=0 __archspec=1=x86_64 base environment : C:\Users\STraversaro\Miniforge3 (writable) channel URLs : https://conda.anaconda.org/conda-forge/win-64 https://conda.anaconda.org/conda-forge/noarch https://repo.anaconda.com/pkgs/main/win-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/win-64 https://repo.anaconda.com/pkgs/r/noarch https://repo.anaconda.com/pkgs/msys2/win-64 https://repo.anaconda.com/pkgs/msys2/noarch https://conda.anaconda.org/msys2/win-64 https://conda.anaconda.org/msys2/noarch package cache : C:\Users\STraversaro\Miniforge3\pkgs C:\Users\STraversaro\.conda\pkgs C:\Users\STraversaro\AppData\Local\conda\conda\pkgs envs directories : C:\Users\STraversaro\Miniforge3\envs C:\Users\STraversaro\.conda\envs C:\Users\STraversaro\AppData\Local\conda\conda\envs platform : win-64 user-agent : conda/4.9.2 requests/2.25.0 CPython/3.8.6 Windows/10 Windows/10.0.19041 administrator : False netrc file : None offline mode : False (robsup) PS C:\Users\STraversaro> ```
traversaro commented 3 years ago

In https://github.com/wolfv/multisheller/pull/8 I added support in multisheller to add and remove values from env variables list, that could be useful for this.

Example of their use can be found for example in the files in https://github.com/traversaro/robotology-superbuild/tree/6199a7d9e67de85d5c9024905f687f094ad37e8c/conda/multisheller, while the snippet of code to generate the actual scripts from the msh files can be found in https://github.com/traversaro/robotology-superbuild/blob/6199a7d9e67de85d5c9024905f687f094ad37e8c/conda/python/generate_conda_recipes_from_metadatadata.py#L57 .