Repository navigation
Conversation
ExtractNumeric returned key_t, which comes from <sys/ipc.h>. That header is only included under #ifdef __linux__, so concore.hpp and concoredocker.hpp failed to compile anywhere else, including the windows build that mkconcore generates. The value is already stored in an int and the shared memory code that needs key_t is Linux only, so just return int. Added CI jobs that build and run the C++ tests on Windows (MSYS2 UCRT64 gcc) and macOS, since the existing C++ job only covers Linux.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
concore.hppandconcoredocker.hppdon't compile on Windows or macOS right now.ExtractNumericreturnskey_t, which comes from<sys/ipc.h>, but that header is only included under#ifdef __linux__. So any C++ node fails to build outside Linux, including the windows build that mkconcore generates.The value it returns is already stored in an
intin the constructor, and the shared memory functions that actually needkey_tare all inside the Linux guard, so I just changed the return type tointin both headers.The existing C++ CI job only runs on Linux, which is why this wasn't caught. I added two jobs that build and run
TestLiteralEvalCppandTestConcoreHppon Windows and macOS. On Windows it uses the MSYS2 UCRT64 gcc. I first tried the g++ that's already on the windows runner's PATH, but therestd::ifstreamreports success when opening a file that doesn't exist, which made one of the read status tests fail for reasons unrelated to concore.Before
After