rust-lang / rust-lang/libz-sys

Compile Error on riscv64gc-unknown-linux-gnu after upgrading from 1.1.23 to 1.1.24

Open
#260 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted
Dominant language
Rust
Stars
138
Forks
88
PR merge metrics
No merged PRs in 30d

Description

logs:

error: failed to run custom build command for `libz-ng-sys v1.1.24`

Caused by:
  process didn't exit successfully: `/target/release/build/libz-ng-sys-7f0379cbbf6d41ed/build-script-cmake` (exit status: 101)
  --- stdout
  CMAKE_TOOLCHAIN_FILE_riscv64gc-unknown-linux-gnu = None
  CMAKE_TOOLCHAIN_FILE_riscv64gc_unknown_linux_gnu = Some("/opt/toolchain.cmake")
   * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances
   * WITH_RVV, Build with RVV intrinsics
   * INSTALL_UTILS, Copy minigzip and minideflate during install

  -- Configuring done
  -- Generating done
  -- Build files have been written to: /target/riscv64gc-unknown-linux-gnu/release/build/libz-ng-sys-8bddb93fba0c92f8/out/build
  [  2%] Building C object CMakeFiles/zlib-ng.dir/arch/generic/adler32_c.c.o
  [  5%] Building C object CMakeFiles/zlib-ng.dir/arch/generic/adler32_fold_c.c.o
  [  8%] Building C object CMakeFiles/zlib-ng.dir/arch/generic/chunkset_c.c.o
  [ 11%] Building C object CMakeFiles/zlib-ng.dir/arch/generic/compare256_c.c.o
  [ 14%] Building C object CMakeFiles/zlib-ng.dir/arch/generic/crc32_braid_c.c.o
  [ 17%] Building C object CMakeFiles/zlib-ng.dir/arch/generic/crc32_fold_c.c.o
  [ 20%] Building C object CMakeFiles/zlib-ng.dir/arch/generic/slide_hash_c.c.o
  [ 22%] Building C object CMakeFiles/zlib-ng.dir/adler32.c.o
  [ 25%] Building C object CMakeFiles/zlib-ng.dir/compress.c.o
  [ 28%] Building C object CMakeFiles/zlib-ng.dir/crc32.c.o
  [ 31%] Building C object CMakeFiles/zlib-ng.dir/crc32_braid_comb.c.o
  [ 34%] Building C object CMakeFiles/zlib-ng.dir/deflate.c.o
  [ 37%] Building C object CMakeFiles/zlib-ng.dir/deflate_fast.c.o
  [ 40%] Building C object CMakeFiles/zlib-ng.dir/deflate_huff.c.o
  [ 42%] Building C object CMakeFiles/zlib-ng.dir/deflate_medium.c.o
  [ 45%] Building C object CMakeFiles/zlib-ng.dir/deflate_quick.c.o
  [ 48%] Building C object CMakeFiles/zlib-ng.dir/deflate_rle.c.o
  [ 51%] Building C object CMakeFiles/zlib-ng.dir/deflate_slow.c.o
  [ 54%] Building C object CMakeFiles/zlib-ng.dir/deflate_stored.c.o
  [ 57%] Building C object CMakeFiles/zlib-ng.dir/functable.c.o

  --- stderr
  running: cd "/target/riscv64gc-unknown-linux-gnu/release/build/libz-ng-sys-8bddb93fba0c92f8/out/build" && CMAKE_PREFIX_PATH="" LC_ALL="C" "cmake" "/home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libz-ng-sys-1.1.24/src/zlib-ng" "-B" "/target/riscv64gc-unknown-linux-gnu/release/build/libz-ng-sys-8bddb93fba0c92f8/out/build" "-DBUILD_SHARED_LIBS=OFF" "-DZLIB_COMPAT=OFF" "-DZLIB_ENABLE_TESTS=OFF" "-DWITH_GZFILEOP=ON" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake" "-DCMAKE_INSTALL_PREFIX=/target/riscv64gc-unknown-linux-gnu/release/build/libz-ng-sys-8bddb93fba0c92f8/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -march=rv64gc -mabi=lp64d -w" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -march=rv64gc -mabi=lp64d -w" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -march=rv64gc -mabi=lp64d -w" "-DCMAKE_BUILD_TYPE=MinSizeRel"
  CMake Deprecation Warning at CMakeLists.txt:54 (message):
    ZLIB_ENABLE_TESTS is deprecated.  Please use BUILD_TESTING instead.


  running: cd "/target/riscv64gc-unknown-linux-gnu/release/build/libz-ng-sys-8bddb93fba0c92f8/out/build" && LC_ALL="C" MAKEFLAGS="-j --jobserver-fds=8,9 --jobserver-auth=8,9" "cmake" "--build" "/target/riscv64gc-unknown-linux-gnu/release/build/libz-ng-sys-8bddb93fba0c92f8/out/build" "--target" "install" "--config" "MinSizeRel"
  /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libz-ng-sys-1.1.24/src/zlib-ng/functable.c: In function 'init_functable':
  /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libz-ng-sys-1.1.24/src/zlib-ng/functable.c:304:11: error: 'struct cpu_features' has no member named 'riscv'
    304 |     if (cf.riscv.has_zbc) {
        |           ^
  /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libz-ng-sys-1.1.24/src/zlib-ng/functable.c:305:21: error: 'crc32_riscv64_zbc' undeclared (first use in this function)
    305 |         ft.crc32 = &crc32_riscv64_zbc;
        |                     ^~~~~~~~~~~~~~~~~
  /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libz-ng-sys-1.1.24/src/zlib-ng/functable.c:305:21: note: each undeclared identifier is reported only once for each function it appears in
  gmake[2]: *** [CMakeFiles/zlib-ng.dir/build.make:342: CMakeFiles/zlib-ng.dir/functable.c.o] Error 1
  gmake[1]: *** [CMakeFiles/Makefile2:839: CMakeFiles/zlib-ng.dir/all] Error 2
  gmake: *** [Makefile:166: all] Error 2

  thread 'main' (337) panicked at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cmake-0.1.57/src/lib.rs:1132:5:

  command did not execute successfully, got: exit status: 2

  build script failed, must exit now
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
Error: Process completed with exit code 101.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the release build for riscv64gc-unknown-linux-gnu using the shown /opt/toolchain.cmake settings, then inspect src/zlib-ng/functable.c around init_functable and the CMake configuration. Done means libz-ng-sys 1.1.24 compiles successfully for that target without the reported cpu_features/riscv errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, cmake, rust
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.