extlib: update zlib, libpng, and mimalloc to their latest releases#1611
extlib: update zlib, libpng, and mimalloc to their latest releases#1611iscgar wants to merge 3 commits intosolvespace:masterfrom
Conversation
This solves an issue with CMake 4.0.0, which doesn't support configs for versions earlier than 3.5.
|
The macOS build issue seems unrelated to this change, and I'm not sure what's causing it. Interesting that we run into an ASan issue on Ubuntu with the new mimalloc version. I'll try to debug it and report back. |
|
This is an upstream regression (mimalloc#1124), so I'm downgrading mimalloc to v2.2.3 in order to avoid it. I'll open a separate PR to fix two minor test issues that I found while investigating this. |
This solves an issue with CMake 4.0.0, which doesn't support configs for versions earlier than 3.5.
This solves an issue with CMake 4.0.0, which doesn't support configs for versions earlier than 3.5. This unfortunately also requires messing with the way we include zlib, because the static libpng target isn't really compatible with the way zlib is built.
2b78236 to
f6ac85a
Compare
|
The macOS issue indeed isn't related to this change (encountered 4 months ago by this HN commenter: https://news.ycombinator.com/item?id=43552607), but I have no idea what's causing it and how to fix it becuase I don't have access to a macOS setup. Based on this CMake issue, I temporarily pushed a commit with the diff below, and it seems to work, so I opened #1614 to fix that, as it's not related to the changes in this PR. I'll rebase this and the other PRs on it after it's merged. --- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -136,7 +136,7 @@ if(ENABLE_OPENMP)
find_package( OpenMP REQUIRED )
if(OPENMP_FOUND)
add_library(slvs_openmp INTERFACE)
- target_compile_options(slvs_openmp INTERFACE ${OpenMP_CXX_FLAGS})
+ target_compile_options(slvs_openmp INTERFACE "SHELL:${OpenMP_CXX_FLAGS}")
target_link_libraries(slvs_openmp INTERFACE
${OpenMP_CXX_LIBRARIES})
target_include_directories(slvs_openmp SYSTEM INTERFACE |
acc0966 to
f6ac85a
Compare
|
Offff mimalloc is a PITA, always has been, now the Emscripten builds fail :-( As does all the Python stuff: @vespakoen can you take a look? |
|
The Python issue is an upstream mimalloc issue, which was fixed in 2.2.4, that we cannot use due to the issue mentioned above. I'll try to find a version that works later today, and report back if I find a good solution that doesn't require reverting the update altogether. The WASM issue seems to be caused by Emscripten support in mimalloc, which layers it on top of emmalloc (see emscripten-core/emscripten#20651). Choosing to specify |
|
#1616 should take care of both issues. |
|
Thanks @iscgar for looking at this so quickly and finding a workaround! |
This takes care of the outdated libraries that use the upstream repositories directly, and should fix the build issues on macOS reported in #1579 and #1595. I have a separate branch that also updates pixman and cairo, but they require updating the SolveSpace forks first, and I'm not sure what the best way to tackle it is, given that both of them have a non default branch where the SolveSpace patches are added, so I can't just open a PR against them. I also want to update ANGLE while I'm at it, and it's taking longer than expected, so I wanted to get the low hanging fruit out of the way first.