Skip to content

Error building on cmake 4.1.2 (outdated zstd used by ccache) #1616

Open

Description

@Andrej730

Error:

CMake Error at /Users/m1/pyodide_env/pyodide/emsdk/emsdk/ccache/git-emscripten_64bit/build_emscripten_64/zstd-1.4.8/build/cmake/CMakeLists.txt:10 (cmake_minimum_required):
  Compatibility with CMake < 3.5 has been removed from CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.

  Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.

Apparently because buid is using https://github.com/juj/ccache which is still relying on zstd 1.4.8 and downloading it from the internet.

https://github.com/juj/ccache/blob/c4284c78e9ff286ee5208f449af4c2aaba062d37/cmake/Findzstd.cmake#L9

zstd 1.4.8:
https://github.com/facebook/zstd/blob/v1.4.8/build/cmake/CMakeLists.txt#L10

The first zstd version that has cmake 3.5+ is 1.5.6:
https://github.com/facebook/zstd/blob/v1.5.6/build/cmake/CMakeLists.txt#L10

Activity

  1. sbc100 commented on Oct 10, 2025

    @sbc100
    Collaborator

    I'm not sure how much maintenance or usage https://github.com/juj/ccache has right now.

    @juj should we keep maintaining it?

  2. sbc100 commented on Aug 12, 2026

    @sbc100
    Collaborator

    @juj, should we land juj/ccache#4?

    If your cmake fork it not buildable, then I guess that means its not being used?

  3. sbc100 commented on Aug 12, 2026

    @sbc100
    Collaborator

    I can reproduce this locally too:

    $  ./emsdk install ccache-git-emscripten-64bit 
    Installing tool 'ccache-git-emscripten-64bit'..
    Cloning from https://github.com/juj/ccache.git...
    Cloning into '/usr/local/google/home/sbc/dev/wasm/emsdk/ccache/git-emscripten_64bit/src'...
    remote: Enumerating objects: 18689, done.
    remote: Total 18689 (delta 0), reused 0 (delta 0), pack-reused 18689 (from 1)
    Receiving objects: 100% (18689/18689), 7.91 MiB | 38.76 MiB/s, done.
    Resolving deltas: 100% (13573/13573), done.
    Fetching latest changes to the branch/tag 'emscripten' for '/usr/local/google/home/sbc/dev/wasm/emsdk/ccache/git-emscripten_64bit/src'...
    refs/heads/emscripten
    Already up to date.
    Successfully updated and checked out branch/tag 'emscripten' on repository '/usr/local/google/home/sbc/dev/wasm/emsdk/ccache/git-emscripten_64bit/src'
    Current repository version: "Fri, 26 Sep 2025 00:28:55 +0300 a26213715a344da1be044a6482a7c3de1bd448d9"
    Found CMake from PATH at "/usr/bin/cmake"
    Running CMake: ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE=Release', '-DPYTHON_EXECUTABLE=/usr/bin/python3', '-G', 'Unix Makefiles', '-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0', '-DZSTD_FROM_INTERNET=ON', '/usr/local/google/home/sbc/dev/wasm/emsdk/ccache/git-emscripten_64bit/src']
    CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 3.10 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
      to tell CMake that the project requires at least <min> but has been updated
      to work with policies introduced by <max> or earlier.
    
    
    -- The C compiler identification is GNU 15.2.0
    -- The CXX compiler identification is GNU 15.2.0
    -- 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
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- The ASM compiler identification is GNU
    -- Found assembler: /usr/bin/cc
    -- Ccache version: 
    -- Ccache dev mode: ON
    -- Performing Test std_atomic_without_libatomic
    -- Performing Test std_atomic_without_libatomic - Success
    -- Performing Test HAS__WDOUBLE_PROMOTION
    -- Performing Test HAS__WDOUBLE_PROMOTION - Success
    -- Looking for linux/fs.h
    -- Looking for linux/fs.h - found
    -- Looking for pwd.h
    -- Looking for pwd.h - found
    -- Looking for sys/clonefile.h
    -- Looking for sys/clonefile.h - not found
    -- Looking for sys/ioctl.h
    -- Looking for sys/ioctl.h - found
    -- Looking for sys/mman.h
    -- Looking for sys/mman.h - found
    -- Looking for sys/time.h
    -- Looking for sys/time.h - found
    -- Looking for sys/wait.h
    -- Looking for sys/wait.h - found
    -- Looking for sys/file.h
    -- Looking for sys/file.h - found
    -- Looking for syslog.h
    -- Looking for syslog.h - found
    -- Looking for termios.h
    -- Looking for termios.h - found
    -- Looking for dirent.h
    -- Looking for dirent.h - found
    -- Looking for strings.h
    -- Looking for strings.h - found
    -- Looking for unistd.h
    -- Looking for unistd.h - found
    -- Looking for utime.h
    -- Looking for utime.h - found
    -- Looking for sys/utime.h
    -- Looking for sys/utime.h - not found
    -- Looking for varargs.h
    -- Looking for varargs.h - not found
    -- Looking for asctime_r
    -- Looking for asctime_r - found
    -- Looking for geteuid
    -- Looking for geteuid - found
    -- Looking for getopt_long
    -- Looking for getopt_long - found
    -- Looking for getpwuid
    -- Looking for getpwuid - found
    -- Looking for gettimeofday
    -- Looking for gettimeofday - found
    -- Looking for posix_fallocate
    -- Looking for posix_fallocate - found
    -- Looking for realpath
    -- Looking for realpath - found
    -- Looking for setenv
    -- Looking for setenv - found
    -- Looking for strndup
    -- Looking for strndup - found
    -- Looking for syslog
    -- Looking for syslog - found
    -- Looking for unsetenv
    -- Looking for unsetenv - found
    -- Looking for utimes
    -- Looking for utimes - found
    -- Performing Test HAVE_PTHREAD_MUTEX_ROBUST
    -- Performing Test HAVE_PTHREAD_MUTEX_ROBUST - Success
    -- Looking for pthread_mutexattr_setpshared
    -- Looking for pthread_mutexattr_setpshared - found
    -- Performing Test HAVE_STRUCT_STAT_ST_CTIM
    -- Performing Test HAVE_STRUCT_STAT_ST_CTIM - Success
    -- Performing Test HAVE_STRUCT_STAT_ST_MTIM
    -- Performing Test HAVE_STRUCT_STAT_ST_MTIM - Success
    -- Performing Test HAVE_STRUCT_STATFS_F_FSTYPENAME
    -- Performing Test HAVE_STRUCT_STATFS_F_FSTYPENAME - Failed
    -- Performing Test HAVE_AVX2
    -- Performing Test HAVE_AVX2 - Success
    -- Looking for sys/types.h
    -- Looking for sys/types.h - found
    -- Looking for stdint.h
    -- Looking for stdint.h - found
    -- Looking for stddef.h
    -- Looking for stddef.h - found
    -- Check size of long long
    -- Check size of long long - done
    CMake Error at /usr/local/google/home/sbc/dev/wasm/emsdk/ccache/git-emscripten_64bit/build_emscripten_64/zstd-1.4.8/build/cmake/CMakeLists.txt:10 (cmake_minimum_required):
      Compatibility with CMake < 3.5 has been removed from CMake.
    
      Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
      to tell CMake that the project requires at least <min> but has been updated
      to work with policies introduced by <max> or earlier.
    
      Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
    
    
    -- Configuring incomplete, errors occurred!
    CMake invocation failed due to exception
    Working directory: /usr/local/google/home/sbc/dev/wasm/emsdk/ccache/git-emscripten_64bit/build_emscripten_64
    Command '['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE=Release', '-DPYTHON_EXECUTABLE=/usr/bin/python3', '-G', 'Unix Makefiles', '-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0', '-DZSTD_FROM_INTERNET=ON', '/usr/local/google/home/sbc/dev/wasm/emsdk/ccache/git-emscripten_64bit/src']' returned non-zero exit status 1.
    error: installation failed!
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions