-
Notifications
You must be signed in to change notification settings - Fork 7
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
32bit build support #27
Comments
Hey @juntyr, could you give me the exact error message that you get? And could you let me know roughly what build process you're using so I can attempt to reproduce it? |
The following check fails: Line 38 in fd66f61
I’m trying to build odc for 32bit WebAssembly using Emscripten, as part of porting the codc package (sibling to pyodc) to Pyodide (Python in WebAssembly). |
Happy to try to help on this but I fear the issues might go further up the stack. Could you give me the exact command and CMakeLists.txt you're using? And did you manage to first compile eckit to WebAssembly? I had a go at reproducing by just commenting out the checks on export ECBUILD_DIR=/path/to/ecbuild/bin # clone from https://github.com/ecmwf/ecbuild
emcmake cmake -S . -B build -DENABLE_MPI=OFF -DDISABLE_OS_CHECK=ON -DCMAKE_MODULE_PATH=$ECBUILD_DIR/cmake
cd build
emmake make with CMakeLists.txt: cmake_minimum_required( VERSION 3.12 FATAL_ERROR )
find_package( ecbuild 3.7 REQUIRED HINTS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../ecbuild)
project( Bundle VERSION 0.0.1 LANGUAGES C CXX )
ecbuild_bundle_initialize()
ecbuild_bundle( PROJECT eckit GIT "[email protected]:ecmwf/eckit" BRANCH develop UPDATE)
ecbuild_bundle( PROJECT odc SOURCE "./odc")
ecbuild_bundle_finalize() but I'm not well versed in emscripten so maybe you have already gotten further than this. |
Thank you for looking into this! I made some progress as well, on the https://github.com/climet-eu/pyodide/tree/libodc branch, which includes small patches to make eckit and libodc "just build" as far as I can. You can reproduce as follows:
This now fails (you can find the error log at pyodide/packages/libodc/build.log) with:
|
What happened?
I'm trying to build odc on a 32bit system, where the size of the
long
type is 32 bits, not 64 bits as required.Using an OS-dependently-sized type but requiring a specific size feels like the wrong solution. Would it be possible to use
int64_t
instead?What are the steps to reproduce the bug?
Build on a 32bit system
Version
v1.5.2
Platform (OS and architecture)
Emscripten
Relevant log output
Accompanying data
No response
Organisation
University of Helsinki
The text was updated successfully, but these errors were encountered: