rust-lang / rust-lang/libz-sys

Compile error on Windows 11 (and Github actions) when using libz-ng-sys 1.1.20

Open
#225 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

👋 Hello I am getting an odd compile error when trying version 1.1.20 for libz-ng-sys. I was updating dependencies for my project. I ran cargo update which updated libz-ng-sys to 1.1.20. When I then tried to compile my project I get the error below on Windows:

= note: LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
          liblibz_ng_sys-cff43ade2a43af17.rlib(zutil.obj) : error LNK2019: unresolved external symbol __imp__aligned_free referenced in function zng_free
          liblibz_ng_sys-cff43ade2a43af17.rlib(zutil.obj) : error LNK2019: unresolved external symbol __imp__aligned_malloc referenced in function zng_alloc
          liblibz_ng_sys-cff43ade2a43af17.rlib(slide_hash_sse2.obj) : error LNK2019: unresolved external symbol __imp__wassert referenced in function slide_hash_sse2
          liblibz_ng_sys-cff43ade2a43af17.rlib(crc32_pclmulqdq.obj) : error LNK2001: unresolved external symbol __imp__wassert
          liblibz_ng_sys-cff43ade2a43af17.rlib(crc32_vpclmulqdq.obj) : error LNK2001: unresolved external symbol __imp__wassert
          C:\Users\bob\Projects\artemis\target\release\deps\artemis_server-7e7883e1c1704562.exe : fatal error LNK1120: 3 unresolved externals

I downgraded back to version 1.1.16 and my project compiles fine again. I use flate2-rs in my project and I noticed it still uses 1.1.16. So this may be an issue of using cargo update too hastily?

I just wanted to check if I need to install another dependency similar to cmake?
Let me know if more info is required

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

Start by reproducing the Windows 11 linker failure with libz-ng-sys 1.1.20 after cargo update, then compare the build and linking behavior with 1.1.16 and the GitHub Actions environment. Done means identifying the dependency or configuration change responsible for the unresolved symbols and confirming that the crate builds successfully on the affected Windows targets.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.