ci: building the C library silently fails
abrown opened this issue · comments
Andrew Brown commented
In #40, I added a way to build the C library during CI to verify that things are working as expected. The CI workflow passed (as expected) using python buildall.py
and I didn't give it much more thought. Recently, @bnjbvr brought to my attention that the python buildall.py
can silently fail, giving us the impression that the C library has been built when in fact it has not. In a recent commit, here are the results:
- on Windows, CI seems to be fine: the libraries are built with no issue (log)
- on macOS, the script calls CMake incorrectly (log); it looks like the
--target
flag should have a parameter (BUILD_ALL
is used on Windows) - on Ubuntu, the script emits the same error as macOS but additionally fails with a missing include,
bits/libc-header-start.h
(log); it is unclear whether these glibc headers need to be installed as a separate dependency or if some include path is missing
There are multiple issues here that need to be fixed:
buildall.py
should not fail silently; it should exit immediately with a non-zero error code if any command fails- the
buildall.py
--target
flag should be filled in for non-Windows builds - any needed include paths (or dependencies that provide them) should be a) documented in the README and b) updated in the
main.yml
GitHub workflow
Andrew Brown commented
cc: @ekovanova