Open
Description
Describe the bug
Compile fails compiling mimalloc. See below.
To Reproduce
Steps to reproduce the behavior:
- git clone https://github.com/emilk/egui.git
- cd egui
- cargo test -j 1 --target x86_64-pc-windows-gnu
Expected behavior
Tests compile and run.
Screenshots
Desktop (please complete the following information):
- OS: Ubuntu 22.04 LTS
- Rust: rustc 1.84.0 (9fc6b4312 2025-01-07)
Additional context
Testing latest commit on master, commit 7216d0e
> cargo test -j 1 --target x86_64-pc-windows-gnu
...
Compiling egui_kittest v0.31.1 (/home/john/projects/egui/crates/egui_kittest)
Compiling libmimalloc-sys v0.1.42
Compiling aho-corasick v1.1.3
Compiling regex-syntax v0.8.5
Compiling regex-automata v0.4.8
warning: [email protected]: In file included from c_src/mimalloc/include/mimalloc/types.h:28,
warning: [email protected]: from c_src/mimalloc/include/mimalloc/internal.h:17,
warning: [email protected]: from c_src/mimalloc/src/static.c:17:
warning: [email protected]: c_src/mimalloc/include/mimalloc/atomic.h: In function 'mi_lock_try_acquire':
warning: [email protected]: c_src/mimalloc/include/mimalloc/atomic.h:442:10: warning: implicit declaration of function 'TryAcquireSRWLockExclusive' [-Wimplicit-function-declaration]
warning: [email protected]: 442 | return TryAcquireSRWLockExclusive(lock);
warning: [email protected]: | ^~~~~~~~~~~~~~~~~~~~~~~~~~
warning: [email protected]: c_src/mimalloc/include/mimalloc/atomic.h: In function 'mi_lock_acquire':
warning: [email protected]: c_src/mimalloc/include/mimalloc/atomic.h:445:3: warning: implicit declaration of function 'AcquireSRWLockExclusive' [-Wimplicit-function-declaration]
warning: [email protected]: 445 | AcquireSRWLockExclusive(lock);
warning: [email protected]: | ^~~~~~~~~~~~~~~~~~~~~~~
warning: [email protected]: c_src/mimalloc/include/mimalloc/atomic.h: In function 'mi_lock_release':
warning: [email protected]: c_src/mimalloc/include/mimalloc/atomic.h:448:3: warning: implicit declaration of function 'ReleaseSRWLockExclusive' [-Wimplicit-function-declaration]
warning: [email protected]: 448 | ReleaseSRWLockExclusive(lock);
warning: [email protected]: | ^~~~~~~~~~~~~~~~~~~~~~~
warning: [email protected]: c_src/mimalloc/include/mimalloc/atomic.h: In function 'mi_lock_init':
warning: [email protected]: c_src/mimalloc/include/mimalloc/atomic.h:451:3: warning: implicit declaration of function 'InitializeSRWLock'; did you mean 'InitializeSid'? [-Wimplicit-function-declaration]
warning: [email protected]: 451 | InitializeSRWLock(lock);
warning: [email protected]: | ^~~~~~~~~~~~~~~~~
warning: [email protected]: | InitializeSid
warning: [email protected]: In file included from c_src/mimalloc/src/prim/prim.c:12,
warning: [email protected]: from c_src/mimalloc/src/static.c:38:
warning: [email protected]: c_src/mimalloc/src/prim/windows/prim.c: In function 'win_is_out_of_memory_error':
warning: [email protected]: c_src/mimalloc/src/prim/windows/prim.c:231:10: error: 'ERROR_COMMITMENT_MINIMUM' undeclared (first use in this function); did you mean 'ERROR_COMMITMENT_LIMIT'?
warning: [email protected]: 231 | case ERROR_COMMITMENT_MINIMUM:
warning: [email protected]: | ^~~~~~~~~~~~~~~~~~~~~~~~
warning: [email protected]: | ERROR_COMMITMENT_LIMIT
warning: [email protected]: c_src/mimalloc/src/prim/windows/prim.c:231:10: note: each undeclared identifier is reported only once for each function it appears in
warning: [email protected]: In file included from c_src/mimalloc/src/prim/prim.c:12,
warning: [email protected]: from c_src/mimalloc/src/static.c:38:
warning: [email protected]: c_src/mimalloc/src/prim/windows/prim.c: At top level:
warning: [email protected]: c_src/mimalloc/src/prim/windows/prim.c:689: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
warning: [email protected]: 689 | #pragma comment(linker, "/INCLUDE:_tls_used")
warning: [email protected]: |
warning: [email protected]: c_src/mimalloc/src/prim/windows/prim.c:690: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
warning: [email protected]: 690 | #pragma comment(linker, "/INCLUDE:_mi_tls_callback_pre")
warning: [email protected]: |
warning: [email protected]: c_src/mimalloc/src/prim/windows/prim.c:691: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
warning: [email protected]: 691 | #pragma comment(linker, "/INCLUDE:_mi_tls_callback_post")
warning: [email protected]: |
warning: [email protected]: c_src/mimalloc/src/prim/windows/prim.c:692: warning: ignoring '#pragma const_seg ' [-Wunknown-pragmas]
warning: [email protected]: 692 | #pragma const_seg(".CRT$XLB")
warning: [email protected]: |
warning: [email protected]: c_src/mimalloc/src/prim/windows/prim.c:695: warning: ignoring '#pragma const_seg ' [-Wunknown-pragmas]
warning: [email protected]: 695 | #pragma const_seg()
warning: [email protected]: |
warning: [email protected]: c_src/mimalloc/src/prim/windows/prim.c:696: warning: ignoring '#pragma const_seg ' [-Wunknown-pragmas]
warning: [email protected]: 696 | #pragma const_seg(".CRT$XLY")
warning: [email protected]: |
warning: [email protected]: c_src/mimalloc/src/prim/windows/prim.c:699: warning: ignoring '#pragma const_seg ' [-Wunknown-pragmas]
warning: [email protected]: 699 | #pragma const_seg()
warning: [email protected]: |
warning: [email protected]: In file included from c_src/mimalloc/src/static.c:37:
warning: [email protected]: c_src/mimalloc/src/stats.c:221:13: warning: 'mi_stat_total_print' defined but not used [-Wunused-function]
warning: [email protected]: 221 | static void mi_stat_total_print(const mi_stat_count_t* stat, const char* msg, int64_t unit, mi_output_fun* out, void* arg) {
warning: [email protected]: | ^~~~~~~~~~~~~~~~~~~
error: failed to run custom build command for `libmimalloc-sys v0.1.42`
Caused by:
process didn't exit successfully: `/home/john/projects/egui/target/debug/build/libmimalloc-sys-7e908047d1d35d4d/build-script-build` (exit status: 1)
--- stdout
OPT_LEVEL = Some(2)
OUT_DIR = Some(/home/john/projects/egui/target/x86_64-pc-windows-gnu/debug/build/libmimalloc-sys-e091e8d90fac8144/out)
TARGET = Some(x86_64-pc-windows-gnu)
HOST = Some(x86_64-unknown-linux-gnu)
cargo:rerun-if-env-changed=CC_x86_64-pc-windows-gnu
CC_x86_64-pc-windows-gnu = None
cargo:rerun-if-env-changed=CC_x86_64_pc_windows_gnu
CC_x86_64_pc_windows_gnu = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CROSS_COMPILE
CROSS_COMPILE = None
RUSTC_LINKER = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
RUSTC_WRAPPER = None
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some(true)
CARGO_CFG_TARGET_FEATURE = Some(cmpxchg16b,fxsr,sse,sse2,sse3)
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS_x86_64_pc_windows_gnu
CFLAGS_x86_64_pc_windows_gnu = None
cargo:rerun-if-env-changed=CFLAGS_x86_64-pc-windows-gnu
CFLAGS_x86_64-pc-windows-gnu = None
CARGO_ENCODED_RUSTFLAGS = Some()
cargo:warning=In file included from c_src/mimalloc/include/mimalloc/types.h:28,
cargo:warning= from c_src/mimalloc/include/mimalloc/internal.h:17,
cargo:warning= from c_src/mimalloc/src/static.c:17:
cargo:warning=c_src/mimalloc/include/mimalloc/atomic.h: In function 'mi_lock_try_acquire':
cargo:warning=c_src/mimalloc/include/mimalloc/atomic.h:442:10: warning: implicit declaration of function 'TryAcquireSRWLockExclusive' [-Wimplicit-function-declaration]
cargo:warning= 442 | return TryAcquireSRWLockExclusive(lock);
cargo:warning= | ^~~~~~~~~~~~~~~~~~~~~~~~~~
cargo:warning=c_src/mimalloc/include/mimalloc/atomic.h: In function 'mi_lock_acquire':
cargo:warning=c_src/mimalloc/include/mimalloc/atomic.h:445:3: warning: implicit declaration of function 'AcquireSRWLockExclusive' [-Wimplicit-function-declaration]
cargo:warning= 445 | AcquireSRWLockExclusive(lock);
cargo:warning= | ^~~~~~~~~~~~~~~~~~~~~~~
cargo:warning=c_src/mimalloc/include/mimalloc/atomic.h: In function 'mi_lock_release':
cargo:warning=c_src/mimalloc/include/mimalloc/atomic.h:448:3: warning: implicit declaration of function 'ReleaseSRWLockExclusive' [-Wimplicit-function-declaration]
cargo:warning= 448 | ReleaseSRWLockExclusive(lock);
cargo:warning= | ^~~~~~~~~~~~~~~~~~~~~~~
cargo:warning=c_src/mimalloc/include/mimalloc/atomic.h: In function 'mi_lock_init':
cargo:warning=c_src/mimalloc/include/mimalloc/atomic.h:451:3: warning: implicit declaration of function 'InitializeSRWLock'; did you mean 'InitializeSid'? [-Wimplicit-function-declaration]
cargo:warning= 451 | InitializeSRWLock(lock);
cargo:warning= | ^~~~~~~~~~~~~~~~~
cargo:warning= | InitializeSid
cargo:warning=In file included from c_src/mimalloc/src/prim/prim.c:12,
cargo:warning= from c_src/mimalloc/src/static.c:38:
cargo:warning=c_src/mimalloc/src/prim/windows/prim.c: In function 'win_is_out_of_memory_error':
cargo:warning=c_src/mimalloc/src/prim/windows/prim.c:231:10: error: 'ERROR_COMMITMENT_MINIMUM' undeclared (first use in this function); did you mean 'ERROR_COMMITMENT_LIMIT'?
cargo:warning= 231 | case ERROR_COMMITMENT_MINIMUM:
cargo:warning= | ^~~~~~~~~~~~~~~~~~~~~~~~
cargo:warning= | ERROR_COMMITMENT_LIMIT
cargo:warning=c_src/mimalloc/src/prim/windows/prim.c:231:10: note: each undeclared identifier is reported only once for each function it appears in
cargo:warning=In file included from c_src/mimalloc/src/prim/prim.c:12,
cargo:warning= from c_src/mimalloc/src/static.c:38:
cargo:warning=c_src/mimalloc/src/prim/windows/prim.c: At top level:
cargo:warning=c_src/mimalloc/src/prim/windows/prim.c:689: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
cargo:warning= 689 | #pragma comment(linker, "/INCLUDE:_tls_used")
cargo:warning= |
cargo:warning=c_src/mimalloc/src/prim/windows/prim.c:690: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
cargo:warning= 690 | #pragma comment(linker, "/INCLUDE:_mi_tls_callback_pre")
cargo:warning= |
cargo:warning=c_src/mimalloc/src/prim/windows/prim.c:691: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
cargo:warning= 691 | #pragma comment(linker, "/INCLUDE:_mi_tls_callback_post")
cargo:warning= |
cargo:warning=c_src/mimalloc/src/prim/windows/prim.c:692: warning: ignoring '#pragma const_seg ' [-Wunknown-pragmas]
cargo:warning= 692 | #pragma const_seg(".CRT$XLB")
cargo:warning= |
cargo:warning=c_src/mimalloc/src/prim/windows/prim.c:695: warning: ignoring '#pragma const_seg ' [-Wunknown-pragmas]
cargo:warning= 695 | #pragma const_seg()
cargo:warning= |
cargo:warning=c_src/mimalloc/src/prim/windows/prim.c:696: warning: ignoring '#pragma const_seg ' [-Wunknown-pragmas]
cargo:warning= 696 | #pragma const_seg(".CRT$XLY")
cargo:warning= |
cargo:warning=c_src/mimalloc/src/prim/windows/prim.c:699: warning: ignoring '#pragma const_seg ' [-Wunknown-pragmas]
cargo:warning= 699 | #pragma const_seg()
cargo:warning= |
cargo:warning=In file included from c_src/mimalloc/src/static.c:37:
cargo:warning=c_src/mimalloc/src/stats.c:221:13: warning: 'mi_stat_total_print' defined but not used [-Wunused-function]
cargo:warning= 221 | static void mi_stat_total_print(const mi_stat_count_t* stat, const char* msg, int64_t unit, mi_output_fun* out, void* arg) {
cargo:warning= | ^~~~~~~~~~~~~~~~~~~
--- stderr
error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "x86_64-w64-mingw32-gcc" "-O2" "-ffunction-sections" "-fdata-sections" "-gdwarf-2" "-fno-omit-frame-pointer" "-m64" "-I" "c_src/mimalloc/include" "-I" "c_src/mimalloc/src" "-Wall" "-Wextra" "-DMI_DEBUG=0" "-o" "/home/john/projects/egui/target/x86_64-pc-windows-gnu/debug/build/libmimalloc-sys-e091e8d90fac8144/out/5a07bf3761bb5df8-static.o" "-c" "c_src/mimalloc/src/static.c"