Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug Report] ERROR: Failed to build installable wheels for some pyproject.toml based projects (egl_probe) #1514

Open
Oliverchhhh opened this issue Dec 8, 2024 · 2 comments

Comments

@Oliverchhhh
Copy link

[bug]

I followed the official guide to install Isaac Lab step by step, and encountered an error when running ./isaaclab.sh --install. The error is: ERROR: Failed to build installable wheels for some pyproject.toml based projects (egl_probe). I updated pip, installed the required packages, and even tried installing the egl_probe package separately, but none of these solutions worked.

[step]

first

./isaaclab.sh --install

then,error

 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
  ╰─> [365 lines of output]
      /home/ch/miniconda3/envs/lab/lib/python3.10/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-310/egl_probe
      copying egl_probe/get_available_devices.py -> build/lib.linux-x86_64-cpython-310/egl_probe
      copying egl_probe/__init__.py -> build/lib.linux-x86_64-cpython-310/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
      ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
      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/ch/miniconda3/envs/lab/lib/python3.10/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/ch/miniconda3/envs/lab/lib/python3.10/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/ch/miniconda3/envs/lab/lib/python3.10/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/ch/miniconda3/envs/lab/lib/python3.10/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/ch/miniconda3/envs/lab/lib/python3.10/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/ch/miniconda3/envs/lab/lib/python3.10/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-310/egl_probe
      copying egl_probe/query_devices.cpp -> build/lib.linux-x86_64-cpython-310/egl_probe
      copying egl_probe/test_device.cpp -> build/lib.linux-x86_64-cpython-310/egl_probe
      creating build/lib.linux-x86_64-cpython-310/egl_probe/glad
      copying egl_probe/glad/egl.cpp -> build/lib.linux-x86_64-cpython-310/egl_probe/glad
      copying egl_probe/glad/gl.cpp -> build/lib.linux-x86_64-cpython-310/egl_probe/glad
      copying egl_probe/glad/glx_dyn.cpp -> build/lib.linux-x86_64-cpython-310/egl_probe/glad
      copying egl_probe/glad/linmath.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad
      creating build/lib.linux-x86_64-cpython-310/egl_probe/glad/EGL
      copying egl_probe/glad/EGL/eglplatform.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/EGL
      creating build/lib.linux-x86_64-cpython-310/egl_probe/glad/KHR
      copying egl_probe/glad/KHR/khrplatform.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/KHR
      creating build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/X.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/XKBlib.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/Xatom.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/Xfuncproto.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/Xfuncs.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/Xlib.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/XlibConf.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/Xlibint.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/Xmd.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/Xosdefs.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/Xproto.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/Xprotostr.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/Xutil.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/cursorfont.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/keysym.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      copying egl_probe/glad/X11/keysymdef.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11
      creating build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11/extensions
      copying egl_probe/glad/X11/extensions/XKB.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11/extensions
      copying egl_probe/glad/X11/extensions/XKBstr.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11/extensions
      copying egl_probe/glad/X11/extensions/XShm.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11/extensions
      copying egl_probe/glad/X11/extensions/Xext.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11/extensions
      copying egl_probe/glad/X11/extensions/extutil.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11/extensions
      copying egl_probe/glad/X11/extensions/shape.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11/extensions
      copying egl_probe/glad/X11/extensions/shapeconst.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11/extensions
      copying egl_probe/glad/X11/extensions/shm.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/X11/extensions
      creating build/lib.linux-x86_64-cpython-310/egl_probe/glad/glad
      copying egl_probe/glad/glad/egl.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/glad
      copying egl_probe/glad/glad/gl.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/glad
      copying egl_probe/glad/glad/glx.h -> build/lib.linux-x86_64-cpython-310/egl_probe/glad/glad
      running build_ext
      -- The C compiler identification is GNU 10.5.0
      -- The CXX compiler identification is unknown
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/bin/cc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      CMake Error at CMakeLists.txt:2 (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 "/tmp/pip-install-6z4739c7/egl-probe_3b640157086e47cb8884b4857afb6ac9/build/lib.linux-x86_64-cpython-310/egl_probe/build/CMakeFiles/CMakeOutput.log".
      See also "/tmp/pip-install-6z4739c7/egl-probe_3b640157086e47cb8884b4857afb6ac9/build/lib.linux-x86_64-cpython-310/egl_probe/build/CMakeFiles/CMakeError.log".
      make: *** No targets specified and no makefile found.  Stop.
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-6z4739c7/egl-probe_3b640157086e47cb8884b4857afb6ac9/setup.py", line 50, in <module>
          setup(
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/__init__.py", line 117, in setup
          return distutils.core.setup(**attrs)
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 183, in setup
          return run_commands(dist)
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 199, in run_commands
          dist.run_commands()
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 954, in run_commands
          self.run_command(cmd)
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/dist.py", line 950, in run_command
          super().run_command(command)
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
          cmd_obj.run()
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/command/bdist_wheel.py", line 398, in run
          self.run_command("build")
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/dist.py", line 950, in run_command
          super().run_command(command)
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
          cmd_obj.run()
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/dist.py", line 950, in run_command
          super().run_command(command)
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
          cmd_obj.run()
        File "/tmp/pip-install-6z4739c7/egl-probe_3b640157086e47cb8884b4857afb6ac9/setup.py", line 26, in run
          self.build_extension(ext)
        File "/tmp/pip-install-6z4739c7/egl-probe_3b640157086e47cb8884b4857afb6ac9/setup.py", line 38, in build_extension
          subprocess.check_call("cmake ..; make -j", cwd=build_dir, shell=True)
        File "/home/ch/miniconda3/envs/lab/lib/python3.10/subprocess.py", line 369, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command 'cmake ..; make -j' returned non-zero exit status 2.
      [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
Successfully built omni-isaac-lab_tasks robomimic rsl-rl
Failed to build egl_probe
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (egl_probe)

System Info

Describe the characteristic of your environment:

  • Commit: [e.g. 8f3b9ca]
  • Isaac Sim Version: 4.0.0-rc.21+4.0.13872.3e3cb0c9.gl(lab)
  • OS: Ubuntu 22.04
  • GPU: RTX 3060 ti
  • CUDA: 11.6
  • GPU Driver:565.57.01

Checklist

  • I have checked that there is no similar issue in the repo
@RandomOakForest
Copy link
Collaborator

RandomOakForest commented Dec 9, 2024

Thanks for posting this. I see this is with Python 3.10, which should be fine. Could you please try Isaac Sim 4.2, as this may resolve the issue?

@Oliverchhhh
Copy link
Author

I tried the 4.2.0 version of Isaac Sim, and the installation was very smooth. Thank you very much for your suggestion!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants