google-deepmind / mujoco_mpc

Real-time behaviour synthesis with MuJoCo, using Predictive Control
https://github.com/deepmind/mujoco_mpc
Apache License 2.0
955 stars 143 forks source link

Failed in setup.py install on Ubuntu 24 in VMWare #338

Open leeygang opened 1 month ago

leeygang commented 1 month ago

I hit the error when running setup install on my Ubuntu 24

(mjpc) leeygang@linux:~/projects/mujoco_mpc/python$ python setup.py install --verbose /home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/init.py:85: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !!

    ********************************************************************************
    Requirements should be satisfied by a PEP 517 installer.
    If you are using pip, you can try `pip install --use-pep517`.
    ********************************************************************************

!! dist.fetch_build_eggs(dist.setup_requires) running install /home/leeygang/anaconda3/envs/mjpc/lib/python3.12/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() /home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: 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.
    ********************************************************************************

!! self.initialize_options() running bdist_egg running egg_info writing mujoco_mpc.egg-info/PKG-INFO writing dependency_links to mujoco_mpc.egg-info/dependency_links.txt writing requirements to mujoco_mpc.egg-info/requires.txt writing top-level names to mujoco_mpc.egg-info/top_level.txt reading manifest file 'mujoco_mpc.egg-info/SOURCES.txt' writing manifest file 'mujoco_mpc.egg-info/SOURCES.txt' installing library code to build/bdist.linux-x86_64/egg running install_lib running build_py running generate_proto_grpc touch /home/leeygang/projects/mujoco_mpc/python/build/lib.linux-x86_64-cpython-312/mujoco_mpc/proto/init.py running copy_task_assets copying mujoco_mpc/agent.py -> build/lib.linux-x86_64-cpython-312/mujoco_mpc copying mujoco_mpc/direct_test.py -> build/lib.linux-x86_64-cpython-312/mujoco_mpc copying mujoco_mpc/filter.py -> build/lib.linux-x86_64-cpython-312/mujoco_mpc copying mujoco_mpc/ui_agent_test.py -> build/lib.linux-x86_64-cpython-312/mujoco_mpc copying mujoco_mpc/agent_test.py -> build/lib.linux-x86_64-cpython-312/mujoco_mpc copying mujoco_mpc/mjpc_parameters.py -> build/lib.linux-x86_64-cpython-312/mujoco_mpc copying mujoco_mpc/init.py -> build/lib.linux-x86_64-cpython-312/mujoco_mpc copying mujoco_mpc/filter_test.py -> build/lib.linux-x86_64-cpython-312/mujoco_mpc copying mujoco_mpc/direct.py -> build/lib.linux-x86_64-cpython-312/mujoco_mpc running build_ext Configuring CMake with the following arguments: -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_TESTING:BOOL=OFF -DMJPC_BUILD_GRPC_SERVICE:BOOL=ON -- mujoco::FindOrFetch: checking for targets in package mujoco -- mujoco::FindOrFetch: checking for targets in package mujoco - target mujoco::mujoco not defined. -- mujoco::FindOrFetch: Using FetchContent to retrieve mujoco -- mujoco::FindOrFetch: checking for targets in package qhull -- mujoco::FindOrFetch: checking for targets in package qhull - target qhull not defined. -- mujoco::FindOrFetch: Using FetchContent to retrieve qhull CMake Deprecation Warning at build/_deps/qhull-src/CMakeLists.txt:70 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

-- -- ========== qhull Build Information ========== -- Build Version: 8.1-alpha1 -- Install Prefix (CMAKE_INSTALL_PREFIX): /usr/local -- Binary Directory (BIN_INSTALL_DIR): bin -- Library Directory (LIB_INSTALL_DIR): lib -- Include Directory (INCLUDE_INSTALL_DIR): include -- Documentation Directory (DOC_INSTALL_DIR): share/doc/qhull -- Man Pages Directory (MAN_INSTALL_DIR): share/man/man1 -- CMake Directory (CMAKE_INSTALL_DIR): lib/cmake/QHull -- PkgConfig Directory (PKGCONFIG_INSTALL_DIR):lib/pkgconfig -- Build Type (CMAKE_BUILD_TYPE): Release -- Build static libraries: ON -- Build shared library: OFF -- Use shared library for linking apps: OFF -- Build tests: OFF -- To override these options, add -D{OPTION_NAME}=... to the cmake command -- Build the debug targets -DCMAKE_BUILD_TYPE=Debug -- -- To build and install qhull, enter "make" and "make install" -- To smoketest qhull, enter "ctest" -- -- mujoco::FindOrFetch: Using FetchContent to retrieve qhull - Done -- mujoco::FindOrFetch: checking for targets in package tinyxml2 -- mujoco::FindOrFetch: checking for targets in package tinyxml2 - target tinyxml2 not defined. -- mujoco::FindOrFetch: Using FetchContent to retrieve tinyxml2 -- mujoco::FindOrFetch: Using FetchContent to retrieve tinyxml2 - Done -- mujoco::FindOrFetch: checking for targets in package tinyobjloader -- mujoco::FindOrFetch: checking for targets in package tinyobjloader - target tinyobjloader not defined. -- mujoco::FindOrFetch: Using FetchContent to retrieve tinyobjloader CMake Deprecation Warning at build/_deps/tinyobjloader-src/CMakeLists.txt:5 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

-- mujoco::FindOrFetch: Using FetchContent to retrieve tinyobjloader - Done -- mujoco::FindOrFetch: checking for targets in package sdflib -- mujoco::FindOrFetch: checking for targets in package sdflib - target SdfLib not defined. -- mujoco::FindOrFetch: Using FetchContent to retrieve sdflib CMake Deprecation Warning at build/_deps/glm_lib-src/CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at build/_deps/glm_lib-src/CMakeLists.txt:2 (cmake_policy): Compatibility with CMake < 3.5 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

-- GLM is a header only library, no need to build it. Set the option GLM_TEST_ENABLE with ON to build and run the test bench -- Build spdlog: 1.9.2 -- Build type: Release -- mujoco::FindOrFetch: Using FetchContent to retrieve sdflib - Done -- mujoco::FindOrFetch: checking for targets in package ccd -- mujoco::FindOrFetch: checking for targets in package ccd - target ccd not defined. -- mujoco::FindOrFetch: Using FetchContent to retrieve ccd CMake Deprecation Warning at build/_deps/ccd-src/CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

CMake Warning (dev) at build/_deps/ccd-src/CMakeLists.txt:9 (project): Policy CMP0048 is not set: project() command manages VERSION variables. Run "cmake --help-policy CMP0048" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

The following variable(s) would be set to empty:

PROJECT_VERSION
PROJECT_VERSION_MAJOR
PROJECT_VERSION_MINOR
PROJECT_VERSION_PATCH

This warning is for project developers. Use -Wno-dev to suppress it.

-- mujoco::FindOrFetch: Using FetchContent to retrieve ccd - Done -- mujoco::FindOrFetch: checking for targets in package mujoco -- mujoco::FindOrFetch: checking for targets in package mujoco - found -- mujoco::FindOrFetch: checking for targets in package glfw3 -- mujoco::FindOrFetch: checking for targets in package glfw3 - target glfw not defined. -- mujoco::FindOrFetch: Using FetchContent to retrieve glfw3 -- Using X11 for window creation -- mujoco::FindOrFetch: Using FetchContent to retrieve glfw3 - Done -- mujoco::FindOrFetch: Using FetchContent to retrieve mujoco - Done -- mujoco::FindOrFetch: checking for targets in package GTest -- mujoco::FindOrFetch: checking for targets in package GTest - target gtest not defined. -- mujoco::FindOrFetch: Using FetchContent to retrieve googletest -- mujoco::FindOrFetch: Using FetchContent to retrieve googletest - Done -- mujoco::FindOrFetch: checking for targets in package absl -- mujoco::FindOrFetch: checking for targets in package absl - target absl::core_headers not defined. -- mujoco::FindOrFetch: Using FetchContent to retrieve abseil-cpp -- mujoco::FindOrFetch: Using FetchContent to retrieve abseil-cpp - Done -- mujoco::FindOrFetch: checking for targets in package glfw -- mujoco::FindOrFetch: checking for targets in package glfw - found -- mujoco::FindOrFetch: checking for targets in package gRPC -- mujoco::FindOrFetch: checking for targets in package gRPC - target gRPC not defined. -- mujoco::FindOrFetch: Using FetchContent to retrieve gRPC CMake Deprecation Warning at build/_deps/grpc-src/third_party/cares/cares/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): Compatibility with CMake < 3.5 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

-- -- 25.0.0 -- Checking for module 'libsystemd>=233' -- Package 'libsystemd', required by 'virtual:world', not found -- mujoco::FindOrFetch: Using FetchContent to retrieve gRPC - Done We need the following for agent/direct_protos: _GRPC_CPP_PLUGIN_EXECUTABLE$ AGENT_SERVICE_COMPILE_OPTIONS= AGENT_SERVICE_COMPILE_OPTIONS= DIRECT_SERVICE_COMPILE_OPTIONS= FILTER_SERVICE_COMPILE_OPTIONS= -- Configuring done (2.5s) CMake Warning (dev) at build/_deps/grpc-src/third_party/cares/cares/src/lib/CMakeLists.txt:72 (ADD_LIBRARY): Policy CMP0063 is not set: Honor visibility properties for all target types. Run "cmake --help-policy CMP0063" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

Target "c-ares" of type "STATIC_LIBRARY" has the following visibility properties set for C:

C_VISIBILITY_PRESET

For compatibility CMake is not honoring them for this target. This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at build/_deps/grpc-src/third_party/cares/cares/src/tools/CMakeLists.txt:7 (ADD_EXECUTABLE): Policy CMP0063 is not set: Honor visibility properties for all target types. Run "cmake --help-policy CMP0063" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

Target "ahost" of type "EXECUTABLE" has the following visibility properties set for C:

C_VISIBILITY_PRESET

For compatibility CMake is not honoring them for this target. This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at build/_deps/grpc-src/third_party/cares/cares/src/tools/CMakeLists.txt:24 (ADD_EXECUTABLE): Policy CMP0063 is not set: Honor visibility properties for all target types. Run "cmake --help-policy CMP0063" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

Target "adig" of type "EXECUTABLE" has the following visibility properties set for C:

C_VISIBILITY_PRESET

For compatibility CMake is not honoring them for this target. This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at build/_deps/grpc-src/third_party/cares/cares/src/tools/CMakeLists.txt:41 (ADD_EXECUTABLE): Policy CMP0063 is not set: Honor visibility properties for all target types. Run "cmake --help-policy CMP0063" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

Target "acountry" of type "EXECUTABLE" has the following visibility properties set for C:

C_VISIBILITY_PRESET

For compatibility CMake is not honoring them for this target. This warning is for project developers. Use -Wno-dev to suppress it.

-- Generating done (0.4s) -- Build files have been written to: /home/leeygang/projects/mujoco_mpc/build Building agent_server and ui_agent_server with CMake [0/2] Re-checking globbed directories... ninja: error: stat(mjpc/grpc/CMakeFiles/agent_server.dir/agent_server.cc.o): Bad message Traceback (most recent call last): File "/home/leeygang/projects/mujoco_mpc/python/setup.py", line 262, in setuptools.setup( File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/init.py", line 108, in setup return distutils.core.setup(**attrs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 184, in setup return run_commands(dist) ^^^^^^^^^^^^^^^^^^ File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 200, in run_commands dist.run_commands() File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 970, in run_commands self.run_command(cmd) File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/dist.py", line 945, in run_command super().run_command(command) File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 989, in run_command cmd_obj.run() File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/command/install.py", line 92, in run self.do_egg_install() File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/command/install.py", line 144, in do_egg_install self.run_command('bdist_egg') File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command self.distribution.run_command(command) File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/dist.py", line 945, in run_command super().run_command(command) File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 989, in run_command cmd_obj.run() File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/command/bdist_egg.py", line 167, in run cmd = self.call_command('install_lib', warn_dir=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/command/bdist_egg.py", line 153, in call_command self.run_command(cmdname) File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command self.distribution.run_command(command) File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/dist.py", line 945, in run_command super().run_command(command) File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 989, in run_command cmd_obj.run() File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/command/install_lib.py", line 13, in run self.build() File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/_distutils/command/install_lib.py", line 110, in build self.run_command('build_ext') File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command self.distribution.run_command(command) File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/dist.py", line 945, in run_command super().run_command(command) File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 989, in run_command cmd_obj.run() File "/home/leeygang/projects/mujoco_mpc/python/setup.py", line 205, in run self._configure_and_build_agent_server() File "/home/leeygang/projects/mujoco_mpc/python/setup.py", line 246, in _configure_and_build_agent_server subprocess.check_call( File "/home/leeygang/anaconda3/envs/mjpc/lib/python3.12/subprocess.py", line 413, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['cmake', '--build', '/home/leeygang/projects/mujoco_mpc/build', '--target', 'agent_server', 'ui_agent_server', '-j2', '--config', 'Release']' returned non-zero exit status 1.

thowell commented 1 month ago

Were you able to build and run C++ MJPC on this virtual machine running Ubuntu 24?

I would recommend trying Ubuntu 20.04. This is the version that we test with Github Actions