Installation error
Hello, I follow the installation instruction below
conda create -n libero python=3.8.13 conda activate libero git clone https://github.com/Lifelong-Robot-Learning/LIBERO.git cd LIBERO pip install -r requirements.txt
While running " pip install -r requirements.txt " there are errors as below
Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.9.3-py3-none-any.whl size=144555 sha256=d373f0a90c4e416d712cbade96eb0302316d954bb49f5cbef5f104d5f1bd5521
Stored in directory: /home/aries14/.cache/pip/wheels/b1/a3/c2/6df046c09459b73cc9bb6c4401b0be6c47048baf9a1617c485 Building wheel for egl_probe (setup.py) ... error error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [356 lines of output]
/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require'
warnings.warn(msg)
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-cpython-38/egl_probe
copying egl_probe/get_available_devices.py -> build/lib.linux-x86_64-cpython-38/egl_probe
copying egl_probe/init.py -> build/lib.linux-x86_64-cpython-38/egl_probe
running egg_info
writing egl_probe.egg-info/PKG-INFO
writing dependency_links to egl_probe.egg-info/dependency_links.txt
writing top-level names to egl_probe.egg-info/top_level.txt
reading manifest file 'egl_probe.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'egl_probe.egg-info/SOURCES.txt'
/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'egl_probe.glad' is absent from the packages configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'egl_probe.glad' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'egl_probe.glad' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'egl_probe.glad' to be distributed and are
already explicitly excluding 'egl_probe.glad' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'egl_probe.glad.EGL' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'egl_probe.glad.EGL' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'egl_probe.glad.EGL' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'egl_probe.glad.EGL' to be distributed and are
already explicitly excluding 'egl_probe.glad.EGL' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'egl_probe.glad.KHR' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'egl_probe.glad.KHR' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'egl_probe.glad.KHR' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'egl_probe.glad.KHR' to be distributed and are
already explicitly excluding 'egl_probe.glad.KHR' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'egl_probe.glad.X11' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'egl_probe.glad.X11' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'egl_probe.glad.X11' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'egl_probe.glad.X11' to be distributed and are
already explicitly excluding 'egl_probe.glad.X11' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'egl_probe.glad.X11.extensions' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'egl_probe.glad.X11.extensions' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'egl_probe.glad.X11.extensions' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'egl_probe.glad.X11.extensions' to be distributed and are
already explicitly excluding 'egl_probe.glad.X11.extensions' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'egl_probe.glad.glad' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'egl_probe.glad.glad' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'egl_probe.glad.glad' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'egl_probe.glad.glad' to be distributed and are
already explicitly excluding 'egl_probe.glad.glad' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
copying egl_probe/CMakeLists.txt -> build/lib.linux-x86_64-cpython-38/egl_probe
copying egl_probe/query_devices.cpp -> build/lib.linux-x86_64-cpython-38/egl_probe
copying egl_probe/test_device.cpp -> build/lib.linux-x86_64-cpython-38/egl_probe
creating build/lib.linux-x86_64-cpython-38/egl_probe/glad
copying egl_probe/glad/egl.cpp -> build/lib.linux-x86_64-cpython-38/egl_probe/glad
copying egl_probe/glad/gl.cpp -> build/lib.linux-x86_64-cpython-38/egl_probe/glad
copying egl_probe/glad/glx_dyn.cpp -> build/lib.linux-x86_64-cpython-38/egl_probe/glad
copying egl_probe/glad/linmath.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad
creating build/lib.linux-x86_64-cpython-38/egl_probe/glad/EGL
copying egl_probe/glad/EGL/eglplatform.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/EGL
creating build/lib.linux-x86_64-cpython-38/egl_probe/glad/KHR
copying egl_probe/glad/KHR/khrplatform.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/KHR
creating build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/X.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/XKBlib.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/Xatom.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/Xfuncproto.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/Xfuncs.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/Xlib.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/XlibConf.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/Xlibint.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/Xmd.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/Xosdefs.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/Xproto.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/Xprotostr.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/Xutil.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/cursorfont.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/keysym.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
copying egl_probe/glad/X11/keysymdef.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11
creating build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11/extensions
copying egl_probe/glad/X11/extensions/XKB.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11/extensions
copying egl_probe/glad/X11/extensions/XKBstr.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11/extensions
copying egl_probe/glad/X11/extensions/XShm.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11/extensions
copying egl_probe/glad/X11/extensions/Xext.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11/extensions
copying egl_probe/glad/X11/extensions/extutil.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11/extensions
copying egl_probe/glad/X11/extensions/shape.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11/extensions
copying egl_probe/glad/X11/extensions/shapeconst.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11/extensions
copying egl_probe/glad/X11/extensions/shm.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/X11/extensions
creating build/lib.linux-x86_64-cpython-38/egl_probe/glad/glad
copying egl_probe/glad/glad/egl.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/glad
copying egl_probe/glad/glad/gl.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/glad
copying egl_probe/glad/glad/glx.h -> build/lib.linux-x86_64-cpython-38/egl_probe/glad/glad
running build_ext
Traceback (most recent call last):
File "/tmp/pip-install-xphv4il_/egl-probe_7c56899f66954c868e9ae14bfa42c9e5/setup.py", line 21, in run
out = subprocess.check_output(['cmake', '--version'])
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/subprocess.py", line 415, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/subprocess.py", line 493, in run
with Popen(*popenargs, **kwargs) as process:
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/subprocess.py", line 858, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/subprocess.py", line 1704, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'cmake'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/tmp/pip-install-xphv4il_/egl-probe_7c56899f66954c868e9ae14bfa42c9e5/setup.py", line 50, in <module>
setup(
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/__init__.py", line 117, in setup
return distutils.core.setup(**attrs)
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 183, in setup
return run_commands(dist)
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 199, in run_commands
dist.run_commands()
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 954, in run_commands
self.run_command(cmd)
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/dist.py", line 950, in run_command
super().run_command(command)
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
cmd_obj.run()
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/command/bdist_wheel.py", line 398, in run
self.run_command("build")
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
self.distribution.run_command(command)
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/dist.py", line 950, in run_command
super().run_command(command)
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
cmd_obj.run()
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
self.distribution.run_command(command)
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/dist.py", line 950, in run_command
super().run_command(command)
File "/home/aries14/miniconda3/envs/libero/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
cmd_obj.run()
File "/tmp/pip-install-xphv4il_/egl-probe_7c56899f66954c868e9ae14bfa42c9e5/setup.py", line 23, in run
raise RuntimeError("CMake must be installed.")
RuntimeError: CMake must be installed.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for egl_probe Running setup.py clean for egl_probe Building wheel for promise (setup.py) ... done Created wheel for promise: filename=promise-2.3-py3-none-any.whl size=21483 sha256=72fbd7b4b767047d5c77ec2cbaa8bc1f114bb330a0dacffbd843641232caf903 Stored in directory: /home/aries14/.cache/pip/wheels/54/aa/01/724885182f93150035a2a91bce34a12877e8067a97baaf5dc8 Building wheel for pathtools (setup.py) ... done Created wheel for pathtools: filename=pathtools-0.1.2-py3-none-any.whl size=8793 sha256=9253d89084847684afeeef4da346c31902aa2726197ea4a0f1c348e1212a49b0 Stored in directory: /home/aries14/.cache/pip/wheels/4c/8e/7e/72fbc243e1aeecae64a96875432e70d4e92f3d2d18123be004 Building wheel for evdev (pyproject.toml) ... error error: subprocess-exited-with-error
× Building wheel for evdev (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [46 lines of output] running bdist_wheel running build running build_py creating build/lib.linux-x86_64-cpython-38/evdev copying evdev/eventio.py -> build/lib.linux-x86_64-cpython-38/evdev copying evdev/genecodes.py -> build/lib.linux-x86_64-cpython-38/evdev copying evdev/evtest.py -> build/lib.linux-x86_64-cpython-38/evdev copying evdev/uinput.py -> build/lib.linux-x86_64-cpython-38/evdev copying evdev/init.py -> build/lib.linux-x86_64-cpython-38/evdev copying evdev/ff.py -> build/lib.linux-x86_64-cpython-38/evdev copying evdev/util.py -> build/lib.linux-x86_64-cpython-38/evdev copying evdev/ecodes.py -> build/lib.linux-x86_64-cpython-38/evdev copying evdev/device.py -> build/lib.linux-x86_64-cpython-38/evdev copying evdev/events.py -> build/lib.linux-x86_64-cpython-38/evdev copying evdev/eventio_async.py -> build/lib.linux-x86_64-cpython-38/evdev running egg_info writing evdev.egg-info/PKG-INFO writing dependency_links to evdev.egg-info/dependency_links.txt writing top-level names to evdev.egg-info/top_level.txt reading manifest file 'evdev.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files found matching 'evdev/ecodes.c' adding license file 'LICENSE' writing manifest file 'evdev.egg-info/SOURCES.txt' copying evdev/input.c -> build/lib.linux-x86_64-cpython-38/evdev copying evdev/uinput.c -> build/lib.linux-x86_64-cpython-38/evdev running build_ext running build_ecodes The 'linux/input.h' and 'linux/input-event-codes.h' include files are missing. You will have to install the kernel header files in order to continue:
dnf install kernel-headers-$(uname -r)
apt-get install linux-headers-$(uname -r)
emerge sys-kernel/linux-headers
pacman -S kernel-headers
In case they are installed in a non-standard location, you may use
the '--evdev-headers' option to specify one or more colon-separated
paths. For example:
python setup.py \
build \
build_ecodes --evdev-headers path/input.h:path/input-event-codes.h \
build_ext --include-dirs path/ \
install
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for evdev Successfully built easydict robomimic bddl future gym antlr4-python3-runtime promise pathtools Failed to build egl_probe evdev ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (egl_probe, evdev)
Hi, can you first double check if you can successfully install robosuite and run environments from robosuite. This error message is hard to parse, but I think overall the issue comes from egl. Depending on where you are install the code, this egl thing either needs to be fixed from the system level, or ignored (e.g. if you are using mac, the egl should not be installed because egl is supported for linux).
I've encountered the same error, did you fix it?
Install egl_probe from a correct branch by doing the following:
# install cmake<4.0.0
pip install cmake==3.31.6
# download egl_prob from another branch: (ensure internet connection)
wget https://github.com/mhandb/egl_probe/archive/fix_windows_build.zip
# install egl_prob from another branch:
pip install fix_windows_build.zip
Then re-install your LIBERO or robomimic again, it should be fine.
Refs:
https://github.com/StanfordVL/egl_probe/issues/3
https://github.com/ARISE-Initiative/robomimic/issues/114
https://github.com/huggingface/lerobot/issues/105#issuecomment-2096007109
https://blog.csdn.net/qq_45479062/article/details/144035252
https://blog.csdn.net/qq_45943646/article/details/135741019
I had the same error, tried installing robosuite seperately but the error persisted. what solved the issue was sudo apt-get install build-essential on ubuntu. hope it helps.