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

Installation problem with gfootball on Python 3.10 Conda environment #363

Open
neuronphysics opened this issue Aug 30, 2023 · 1 comment

Comments

@neuronphysics
Copy link

neuronphysics commented Aug 30, 2023

Hi,

I've been attempting to set up the gfootball environment within a Conda environment that already included other multi-agent systems requiring Python 3.10. I've encountered difficulties while trying to install gfootball from source.

Steps to Reproduce:

  • Clone the gfootball repository.
    
  • Run pip install -e .
    

The installation process results in a series of errors.

Error Log:

pip install -e .
Obtaining file:///home/zsheikhb/MARL/master/football
  Preparing metadata (setup.py) ... done
Requirement already satisfied: pygame>=1.9.6 in /home/.conda/envs/marl/lib/python3.10/site-packages (from gfootball==2.9) (2.5.1)
Requirement already satisfied: opencv-python in /home/.conda/envs/marl/lib/python3.10/site-packages (from gfootball==2.9) (4.8.0.76)
Requirement already satisfied: psutil in /home/.conda/envs/marl/lib/python3.10/site-packages (from gfootball==2.9) (5.9.5)
Requirement already satisfied: scipy in /home/.conda/envs/marl/lib/python3.10/site-packages (from gfootball==2.9) (1.11.2)
Requirement already satisfied: gym>=0.11.0 in /home/.conda/envs/marl/lib/python3.10/site-packages (from gfootball==2.9) (0.26.2)
Requirement already satisfied: absl-py in /home/.conda/envs/marl/lib/python3.10/site-packages (from gfootball==2.9) (1.4.0)
Requirement already satisfied: wheel in /home/.conda/envs/marl/lib/python3.10/site-packages (from gfootball==2.9) (0.41.2)
Requirement already satisfied: numpy>=1.18.0 in /home/.conda/envs/marl/lib/python3.10/site-packages (from gym>=0.11.0->gfootball==2.9) (1.24.3)
Requirement already satisfied: cloudpickle>=1.2.0 in /home/.conda/envs/marl/lib/python3.10/site-packages (from gym>=0.11.0->gfootball==2.9) (2.2.1)
Requirement already satisfied: gym-notices>=0.0.4 in /home/.conda/envs/marl/lib/python3.10/site-packages (from gym>=0.11.0->gfootball==2.9) (0.0.8)
Installing collected packages: gfootball
  Attempting uninstall: gfootball
    Found existing installation: gfootball 2.9
    Can't uninstall 'gfootball'. No files were found to uninstall.
  Running setup.py develop for gfootball
    error: subprocess-exited-with-error
    
    × python setup.py develop did not run successfully.
    │ exit code: 1
    ╰─> [92 lines of output]
        running develop
        /home/.conda/envs/marl/lib/python3.10/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
        !!
        
                ********************************************************************************
                Please avoid running ``setup.py`` and ``easy_install``.
                Instead, use pypa/build, pypa/installer or other
                standards-based tools.
        
                See https://github.com/pypa/setuptools/issues/917 for details.
                ********************************************************************************
        
        !!
          easy_install.initialize_options(self)
        /home/.conda/envs/marl/lib/python3.10/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
        !!
        
                ********************************************************************************
                Please avoid running ``setup.py`` directly.
                Instead, use pypa/build, pypa/installer or other
                standards-based tools.
        
                See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
                ********************************************************************************
        
        !!
          self.initialize_options()
        running egg_info
        writing gfootball.egg-info/PKG-INFO
        writing dependency_links to gfootball.egg-info/dependency_links.txt
        writing requirements to gfootball.egg-info/requires.txt
        writing top-level names to gfootball.egg-info/top_level.txt
        reading manifest file 'gfootball.egg-info/SOURCES.txt'
        reading manifest template 'MANIFEST.in'
        adding license file 'LICENSE'
        writing manifest file 'gfootball.egg-info/SOURCES.txt'
        running build_ext
        ~/MARL/master/football/third_party/gfootball_engine ~/MARL/master/football
        -- The C compiler identification is GNU 9.4.0
        -- The CXX compiler identification is GNU 9.4.0
        -- 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
        -- Check for working CXX compiler: /usr/bin/c++
        -- Check for working CXX compiler: /usr/bin/c++ -- works
        -- Detecting CXX compiler ABI info
        -- Detecting CXX compiler ABI info - done
        -- Detecting CXX compile features
        -- Detecting CXX compile features - done
        CMake Warning (dev) at /usr/share/cmake-3.16/Modules/FindOpenGL.cmake:275 (message):
          Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
          available.  Run "cmake --help-policy CMP0072" for policy details.  Use the
          cmake_policy command to set the policy and suppress this warning.
        
          FindOpenGL found both a legacy GL library:
        
            OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
        
          and GLVND libraries for OpenGL and GLX:
        
            OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
            OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so
        
          OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
          compatibility with CMake 3.10 and below the legacy GL library will be used.
        Call Stack (most recent call first):
          CMakeLists.txt:24 (FIND_PACKAGE)
        This warning is for project developers.  Use -Wno-dev to suppress it.
        
        -- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
        -- Found EGL: /usr/lib/x86_64-linux-gnu/libEGL.so
        -- Found SDL2_image: /usr/lib/x86_64-linux-gnu/libSDL2_image.so
        -- Found SDL2_ttf: /usr/lib/x86_64-linux-gnu/libSDL2_ttf.so
        -- Found SDL2_gfx: /usr/lib/x86_64-linux-gnu/libSDL2_gfx.so (found version "1.0.4")
        -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.8.so (found suitable version "3.8.10", minimum required is "3")
        Using Python: 3.8.10
        -- Could NOT find Boost: missing: python3-py38 (found /home/.conda/envs/marl/lib/cmake/Boost-1.73.0/BoostConfig.cmake (found version "1.73.0"))
        python3-py38 not found. Trying other names.
        -- Could NOT find Boost: missing: python-py38 (found /home/conda/envs/marl/lib/cmake/Boost-1.73.0/BoostConfig.cmake (found version "1.73.0"))
        python-py38 not found. Trying other names.
        -- Could NOT find Boost: missing: python38 (found /home/conda/envs/marl/lib/cmake/Boost-1.73.0/BoostConfig.cmake (found version "1.73.0"))
        CMake Error at CMakeLists.txt:70 (message):
          Python boost not found
        
        
        -- Configuring incomplete, errors occurred!
        See also "/home/zsheikhb/MARL/master/football/third_party/gfootball_engine/CMakeFiles/CMakeOutput.log".
        gfootball/build_game_engine.sh: line 29: pushd: third_party/gfootball_engine: No such file or directory
        error: Google Research Football compilation failed
        [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Can't roll back gfootball; was not uninstalled
error: subprocess-exited-with-error

× python setup.py develop did not run successfully.
│ exit code: 1
╰─> [92 lines of output]
    running develop
    /home/.conda/envs/marl/lib/python3.10/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
    !!
    
            ********************************************************************************
            Please avoid running ``setup.py`` and ``easy_install``.
            Instead, use pypa/build, pypa/installer or other
            standards-based tools.
    
            See https://github.com/pypa/setuptools/issues/917 for details.
            ********************************************************************************
    
    !!
      easy_install.initialize_options(self)
    /home/.conda/envs/marl/lib/python3.10/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
    !!
    
            ********************************************************************************
            Please avoid running ``setup.py`` directly.
            Instead, use pypa/build, pypa/installer or other
            standards-based tools.
    
            See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
            ********************************************************************************
    
    !!
      self.initialize_options()
    running egg_info
    writing gfootball.egg-info/PKG-INFO
    writing dependency_links to gfootball.egg-info/dependency_links.txt
    writing requirements to gfootball.egg-info/requires.txt
    writing top-level names to gfootball.egg-info/top_level.txt
    reading manifest file 'gfootball.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    adding license file 'LICENSE'
    writing manifest file 'gfootball.egg-info/SOURCES.txt'
    running build_ext
    ~/MARL/master/football/third_party/gfootball_engine ~/MARL/master/football
    -- The C compiler identification is GNU 9.4.0
    -- The CXX compiler identification is GNU 9.4.0
    -- 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
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    CMake Warning (dev) at /usr/share/cmake-3.16/Modules/FindOpenGL.cmake:275 (message):
      Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
      available.  Run "cmake --help-policy CMP0072" for policy details.  Use the
      cmake_policy command to set the policy and suppress this warning.
    
      FindOpenGL found both a legacy GL library:
    
        OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
    
      and GLVND libraries for OpenGL and GLX:
    
        OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
        OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so
    
      OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
      compatibility with CMake 3.10 and below the legacy GL library will be used.
    Call Stack (most recent call first):
      CMakeLists.txt:24 (FIND_PACKAGE)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    -- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
    -- Found EGL: /usr/lib/x86_64-linux-gnu/libEGL.so
    -- Found SDL2_image: /usr/lib/x86_64-linux-gnu/libSDL2_image.so
    -- Found SDL2_ttf: /usr/lib/x86_64-linux-gnu/libSDL2_ttf.so
    -- Found SDL2_gfx: /usr/lib/x86_64-linux-gnu/libSDL2_gfx.so (found version "1.0.4")
    -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.8.so (found suitable version "3.8.10", minimum required is "3")
    Using Python: 3.8.10
    -- Could NOT find Boost: missing: python3-py38 (found /home/.conda/envs/marl/lib/cmake/Boost-1.73.0/BoostConfig.cmake (found version "1.73.0"))
    python3-py38 not found. Trying other names.
    -- Could NOT find Boost: missing: python-py38 (found /home/.conda/envs/marl/lib/cmake/Boost-1.73.0/BoostConfig.cmake (found version "1.73.0"))
    python-py38 not found. Trying other names.
    -- Could NOT find Boost: missing: python38 (found /home/.conda/envs/marl/lib/cmake/Boost-1.73.0/BoostConfig.cmake (found version "1.73.0"))
    CMake Error at CMakeLists.txt:70 (message):
      Python boost not found
    
    
    -- Configuring incomplete, errors occurred!
    See also "/home/MARL/master/football/third_party/gfootball_engine/CMakeFiles/CMakeOutput.log".
    gfootball/build_game_engine.sh: line 29: pushd: third_party/gfootball_engine: No such file or directory
    error: Google Research Football compilation failed
    [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.

I observed that

  • Errors related to missing Boost libraries for Python 3.8 (python3-py38, python-py38, python38) while I have Boost-1.71 installed.
  • There's a mention of Python 3.8.10 in the logs, although my environment is based on Python 3.10. This could be a potential version mismatch issue.

Would you suggest a way to deal with this installation issue ?

@Hitsuzen-maker
Copy link

have you solved this problem?

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