-
Notifications
You must be signed in to change notification settings - Fork 702
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The latest published Docker image uses a version of CMake that appears incompatible with sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=$dynCall #1430
Comments
I've confirmed this is the issue with the following Dockerfile:
With this amended Docker image, the verbose output looks like:
With the |
Quoting in cmake files can indeed be tricky. I'm fairly sure there is some way to make this work on cmake 3.22.1 but before we look into that perhaps you can simply remove the need for this command line flag: Where is the |
The extent of my macro usage is
I could experiment with EM_JS_DEPS, I suppose! I solved the issue by hosting a docker container that contains an updated CMake. (I threw in I imagine this issue will probably solve itself should someone migrate the docker image to noble, but I have not tested it. After using my workaround, I moved on. |
Can you explain why you need |
No, I cannot. I only know that my attempts to build spat out error messages that Edit: I feel I should add that the nature of the |
I appreciate the reason for the explicit |
The version of cmake we supply in the docker image is mostly dictated by the base ubuntu image that we use. I imagine that updating it would probably mean updating the base image. |
Ubuntu 24.04 ships with CMake 3.28.3, so upgrading the base image to |
It appears a known issue (https://gitlab.kitware.com/cmake/cmake/-/issues/25049) makes it impossible or perhaps simply difficult to use
sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=$dynCall
. The version of CMake published in the docker image does not escape command line parameters including$
in the same way as the most recent version of CMake.Version of emscripten/emsdk:
I am using the latest pull of the
emscripten/sdk
docker image.Failing command line in full:
I am using the following commands to build
This results in a working build until the final step:
Using a submodule approach for emsdk, this builds correctly. My infrastructure team has requested we use the docker image, and I'd like to do so.
My build script previously looked like:
This produces working output. The difference appears to be due to the change in CMake versions.
For reference, the problematic CMake line is:
I've tried several variants attempting to properly escape the command line parameter, but it appears there is no way to properly escape this command line parameter with CMake version 3.22.1.
The text was updated successfully, but these errors were encountered: