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

Update version of abseil to 20240116.1 #1187

Closed
wants to merge 2 commits into from
Closed

Conversation

lanctot
Copy link
Collaborator

@lanctot lanctot commented Mar 13, 2024

No description provided.

@lanctot lanctot changed the title Update version of abseil Update version of abseil to 20240116.1 Mar 13, 2024
@lanctot
Copy link
Collaborator Author

lanctot commented Mar 13, 2024

As a reminder for later, there are multiple issues here. We'll probably have to revisit later (once an official runner becomes available for Ubuntu 24.04 and once a version of OR-Tools is available for it and also after we drop support for Python 3.8).

First issue is likely because I downloaded the binary distribution of OR-Tools for Ubuntu 23.10:

 65%] Linking CXX executable simple_gin_rummy_bot_example
/usr/bin/ld: CMakeFiles/open_spiel_ortools.dir/sequence_form_lp.cc.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > operations_research::ProtoEnumToString<operations_research::MPSolverResponseStatus>(operations_research::MPSolverResponseStatus)':
sequence_form_lp.cc:(.text._ZN19operations_research17ProtoEnumToStringINS_22MPSolverResponseStatusEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_[_ZN19operations_research17ProtoEnumToStringINS_22MPSolverResponseStatusEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_]+0x1c): undefined reference to `google::protobuf::EnumDescriptor::FindValueByNumber(int) const'
/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to `__isoc23_strtol@GLIBC_2.38'
/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to `__isoc23_strtoull@GLIBC_2.38'
/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to `__isoc23_fscanf@GLIBC_2.38'
/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to `__isoc23_sscanf@GLIBC_2.38'
/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to `__isoc23_strtoul@GLIBC_2.38'
/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to `fmod@GLIBC_2.38'
/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to `__isoc23_strtoll@GLIBC_2.38'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [algorithms/ortools/CMakeFiles/sequence_form_lp_test.dir/build.make:636: algorithms/ortools/sequence_form_lp_test] Error 1
make[1]: *** [CMakeFiles/Makefile2:7617: algorithms/ortools/CMakeFiles/sequence_form_lp_test.dir/all] Error 2
[ 65%] Built target simple_gin_rummy_bot_example
make: *** [Makefile:146: all] Error 2
Error: Process completed with exit code 2.

@lanctot
Copy link
Collaborator Author

lanctot commented Mar 13, 2024

Also, the wheels test for Python 3.8 are failing, presumably because it's using quite an old version of Mac OS dev tools (10.9?):

copying open_spiel/python/games/chat_games/envs/scenarios/actions/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-38/open_spiel/python/games/chat_games/envs/scenarios/actions
        copying open_spiel/python/games/chat_games/envs/scenarios/actions/tones.py -> build/lib.macosx-10.9-x86_64-cpython-38/open_spiel/python/games/chat_games/envs/scenarios/actions
        running build_ext
        cmake version 3.28.3
        
        CMake suite maintained and supported by Kitware (kitware.com/cmake).
        Found CMake
        Apple clang version 14.0.0 (clang-1400.0.29.202)
        Target: x86_64-apple-darwin21.6.0
        Thread model: posix
        InstalledDir: /Applications/Xcode_14.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
        Found C++ compiler: clang++
        -- The C compiler identification is AppleClang 14.0.0.14000029
        -- The CXX compiler identification is AppleClang 14.0.0.14000029
        -- Detecting C compiler ABI info
        -- Detecting C compiler ABI info - done
        -- Check for working C compiler: /Applications/Xcode_14.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
        -- Detecting C compile features
        -- Detecting C compile features - done
        -- Detecting CXX compiler ABI info
        -- Detecting CXX compiler ABI info - done
        -- Check for working CXX compiler: /usr/bin/clang++ - skipped
        -- Detecting CXX compile features
        -- Detecting CXX compile features - done
        Current build type is: Testing
        OPEN_SPIEL_BUILD_WITH_ACPC: ON 
        OPEN_SPIEL_BUILD_WITH_EIGEN not set. Defaults to OFF
        OPEN_SPIEL_BUILD_WITH_EIGEN: OFF 
        OPEN_SPIEL_BUILD_WITH_GO not set. Defaults to OFF
        OPEN_SPIEL_BUILD_WITH_GO: OFF 
        OPEN_SPIEL_BUILD_WITH_HANABI: ON 
        OPEN_SPIEL_BUILD_WITH_HIGC not set. Defaults to OFF
        OPEN_SPIEL_BUILD_WITH_HIGC: OFF 
        OPEN_SPIEL_BUILD_WITH_JULIA not set. Defaults to OFF
        OPEN_SPIEL_BUILD_WITH_JULIA: OFF 
        OPEN_SPIEL_BUILD_WITH_LIBNOP not set. Defaults to OFF
        OPEN_SPIEL_BUILD_WITH_LIBNOP: OFF 
        OPEN_SPIEL_BUILD_WITH_LIBTORCH not set. Defaults to OFF
        OPEN_SPIEL_BUILD_WITH_LIBTORCH: OFF 
        OPEN_SPIEL_BUILD_WITH_TENSORFLOW_CC not set. Defaults to OFF
        OPEN_SPIEL_BUILD_WITH_TENSORFLOW_CC: OFF 
        OPEN_SPIEL_BUILD_WITH_PYTHON not set. Defaults to ON
        OPEN_SPIEL_BUILD_WITH_PYTHON: ON 
        OPEN_SPIEL_BUILD_WITH_XINXIN not set. Defaults to OFF
        OPEN_SPIEL_BUILD_WITH_XINXIN: OFF 
        OPEN_SPIEL_BUILD_WITH_ROSHAMBO: ON 
        OPEN_SPIEL_BUILD_WITH_GAMUT not set. Defaults to OFF
        OPEN_SPIEL_BUILD_WITH_GAMUT: OFF 
        OPEN_SPIEL_BUILD_WITH_ORTOOLS not set. Defaults to OFF
        OPEN_SPIEL_BUILD_WITH_ORTOOLS: OFF 
        OPEN_SPIEL_BUILD_WITH_RUST not set. Defaults to OFF
        OPEN_SPIEL_BUILD_WITH_RUST: OFF 
        OPEN_SPIEL_ENABLE_JAX not set. Defaults to AUTO
        OPEN_SPIEL_ENABLE_JAX: AUTO 
        OPEN_SPIEL_ENABLE_PYTORCH not set. Defaults to AUTO
        OPEN_SPIEL_ENABLE_PYTORCH: AUTO 
        OPEN_SPIEL_ENABLE_TENSORFLOW not set. Defaults to AUTO
        OPEN_SPIEL_ENABLE_TENSORFLOW: AUTO 
        OPEN_SPIEL_ENABLE_PYTHON_MISC not set. Defaults to OFF
        OPEN_SPIEL_ENABLE_PYTHON_MISC: OFF 
        OPEN_SPIEL_BUILDING_WHEEL: ON 
        -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17
        -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17 - Success
        -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX20
        -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX20 - Failed
        -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
        -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
        -- Found Threads: TRUE
        Building Wheel Detected. Finding Python Interpeter Development.Module
        -- Found Python3: /private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/bin/python (found version "3.8.10") found components: Interpreter Development.Module
        Python executable: /private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/bin/python
        Python include dirs: /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8
        Python library dirs:
        OPEN_SPIEL_ENABLE_JAX set to AUTO. Detecting Jax...
        Not found. Enable printing errors in python/CMakeLists.txt to see output.
        OPEN_SPIEL_ENABLE_PYTORCH set to AUTO. Detecting PyTorch...
        Not found. Enable printing errors in python/CMakeLists.txt to see output.
        OPEN_SPIEL_ENABLE_TENSORFLOW set to AUTO. Detecting Tensorflow...
        Not found. Enable printing errors in python/CMakeLists.txt to see output.
        -- Configuring done (4.2s)
        -- Generating done (3.3s)
        -- Build files have been written to: /Users/runner/work/open_spiel/open_spiel/build/temp.macosx-10.9-x86_64-cpython-38
        [  0%] Building CXX object abseil-cpp/absl/base/CMakeFiles/absl_log_severity.dir/log_severity.cc.o
        [  0%] Building CXX object CMakeFiles/open_spiel_core.dir/action_view.cc.o
        [  0%] Building CXX object abseil-cpp/absl/base/CMakeFiles/absl_spinlock_wait.dir/internal/spinlock_wait.cc.o
        [  0%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_fixed.cc.o
        [  0%] Linking CXX static library libabsl_spinlock_wait.a
        [  0%] Built target absl_spinlock_wait
        [  0%] Building CXX object abseil-cpp/absl/numeric/CMakeFiles/absl_int128.dir/int128.cc.o
        [  0%] Linking CXX static library libabsl_log_severity.a
        [  0%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_format.cc.o
        [  0%] Built target absl_log_severity
        [  0%] Building CXX object abseil-cpp/absl/profiling/CMakeFiles/absl_exponential_biased.dir/internal/exponential_biased.cc.o
        [  0%] Linking CXX static library libabsl_int128.a
        [  0%] Built target absl_int128
        [  0%] Linking CXX static library libabsl_exponential_biased.a
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/action_view.cc:15:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/action_view.h:20:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/spiel.h:36:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/observer.h:50:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/abseil-cpp/absl/container/flat_hash_set.h:38:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/abseil-cpp/absl/container/internal/hash_function_defaults.h:55:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/abseil-cpp/absl/hash/hash.h:85:
        /Users/runner/work/open_spiel/open_spiel/open_spiel/abseil-cpp/absl/hash/internal/hash.h:602:53: error: 'path' is unavailable: introduced in macOS 10.15
                      std::is_same_v<Path, std::filesystem::path>>>
                                                            ^
        /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/include/c++/v1/filesystem:909:24: note: 'path' has been explicitly marked unavailable here
        class _LIBCPP_TYPE_VIS path {
                               ^
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/action_view.cc:15:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/action_view.h:20:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/spiel.h:36:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/observer.h:50:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/abseil-cpp/absl/container/flat_hash_set.h:38:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/abseil-cpp/absl/container/internal/hash_function_defaults.h:55:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/abseil-cpp/absl/hash/hash.h:85:
        /Users/runner/work/open_spiel/open_spiel/open_spiel/abseil-cpp/absl/hash/internal/hash.h:609:61: error: 'hash_value' is unavailable: introduced in macOS 10.15
          return H::combine(std::move(hash_state), std::filesystem::hash_value(path));
                                                                    ^
        /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/include/c++/v1/filesystem:1520:8: note: 'hash_value' has been explicitly marked unavailable here
        size_t hash_value(const path& __p) noexcept;
               ^
        [  0%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_civil_time.dir/internal/cctz/src/civil_time_detail.cc.o
        [  0%] Built target absl_exponential_biased
        [  0%] Building CXX object abseil-cpp/absl/flags/CMakeFiles/absl_flags_commandlineflag_internal.dir/internal/commandlineflag.cc.o
        [  0%] Linking CXX static library libabsl_flags_commandlineflag_internal.a
        [  0%] Built target absl_flags_commandlineflag_internal
        [  0%] Building CXX object abseil-cpp/absl/random/CMakeFiles/absl_random_seed_gen_exception.dir/seed_gen_exception.cc.o
        2 errors generated.
        make[3]: *** [CMakeFiles/open_spiel_core.dir/action_view.cc.o] Error 1
        make[2]: *** [CMakeFiles/open_spiel_core.dir/all] Error 2
        make[2]: *** Waiting for unfinished jobs....
        [  0%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_if.cc.o
        [  1%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_impl.cc.o
        [  1%] Linking CXX static library libabsl_civil_time.a
        [  1%] Built target absl_civil_time
        [  1%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_info.cc.o
        [  1%] Linking CXX static library libabsl_random_seed_gen_exception.a
        [  1%] Built target absl_random_seed_gen_exception
        [  1%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_libc.cc.o
        [  1%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_lookup.cc.o
        [  1%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_posix.cc.o
        [  1%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/zone_info_source.cc.o
        [  1%] Linking CXX static library libabsl_time_zone.a
        [  1%] Built target absl_time_zone
        make[1]: *** [python/CMakeFiles/pyspiel.dir/rule] Error 2
        make: *** [pyspiel] Error 2
        Traceback (most recent call last):
          File "<string>", line 2, in <module>
          File "<pip-setuptools-caller>", line 34, in <module>
          File "/Users/runner/work/open_spiel/open_spiel/setup.py", line 130, in <module>
            setuptools.setup(
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/__init__.py", line 103, in setup
            return distutils.core.setup(**attrs)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 185, in setup
            return run_commands(dist)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
            dist.run_commands()
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
            self.run_command(cmd)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/dist.py", line 989, in run_command
            super().run_command(command)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
            cmd_obj.run()
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 364, in run
            self.run_command("build")
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
            self.distribution.run_command(command)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/dist.py", line 989, in run_command
            super().run_command(command)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
            cmd_obj.run()
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 131, in run
            self.run_command(cmd_name)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
            self.distribution.run_command(command)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/dist.py", line 989, in run_command
            super().run_command(command)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
            cmd_obj.run()
          File "/Users/runner/work/open_spiel/open_spiel/setup.py", line 49, in run
            self.build_extension(ext)
          File "/Users/runner/work/open_spiel/open_spiel/setup.py", line 100, in build_extension
            subprocess.check_call(["make", "pyspiel", f"-j{os.cpu_count()}"],
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 364, in check_call
            raise CalledProcessError(retcode, cmd)
        subprocess.CalledProcessError: Command '['make', 'pyspiel', '-j4']' 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 open-spiel
    Running setup.py clean for open-spiel
  Failed to build open-spiel
  ERROR: Failed to build one or more wheels
Error: Command ['python', '-m', 'pip', 'wheel', '/Users/runner/work/open_spiel/open_spiel', '--wheel-dir=/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/built_wheel', '--no-deps'] failed with code 1. None

@lanctot
Copy link
Collaborator Author

lanctot commented Apr 5, 2024

Ok, Python 3.8 has now been removed: #1195

But it probably makes sense to just wait on this until OR-Tools for 24.04 is available, because we need to sync to that version. Will revisit this after the next OR-Tools is release.

@lanctot lanctot closed this Apr 5, 2024
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

Successfully merging this pull request may close these issues.

1 participant