-
Notifications
You must be signed in to change notification settings - Fork 36
Switch -isystem
with -I
in build flags
#419
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
base: develop
Are you sure you want to change the base?
Conversation
-isystem
with -I
in build flags
@suvayu I see you cancelled the latest build, was that intentional? |
@suvayu It may be relevant for you: I've seen the Mac and Windows CI fail consistently everywhere. It looks to be a package incompatibility that occurs since Github updated they're runners. Some of our own-built dependencies (cspice, sofa, nrlmsise) are 1-2 years old. I'll rebuild their conda packages on Azure the coming week |
@DominicDirkx , thanks! That's very helpful! I was going a bit crazy 😛 The solution I found for our original problem got the builds past the configure step. In that case, I'll do the following:
|
Sorry, I deleted |
@suvayu Since |
- `-isystem` marks an include directory as a system include, which breaks conda-free builds. It breaks the order of header file discovery for dependencies like Eigen. - Update conda environment to include compilers, and use that for building so that conda builds do not pick system includes.
On OSX still the platform's compiler is getting picked. So try adding cmake to the environment to pick the compiler provided by conda.
On OSX make from the platform is pulling in the platform compilers
This reverts commit 62ea2e3.
Hi, can someone on a Mac check if the build finishes successfully? I don't really know what to do for the build time. I guess some of the planned changes based on the comments from Louis will address this. |
Changes
-isystem
marks an include directory as a system include, which breaks conda-free builds, because it breaks the order of header file discovery for dependencies like Eigen.Testing
In a fresh conda environment created with the updated environment file, I did two separate builds, one with
build.py
script, the other with the cmake flags from CI.Build with
build.py
pytest
gives me this failure, but it seems like an unrelated failure.CMake build from CI flags
All tests pass!
Notes on my environment
I'm on a Fedora Linux machine, with many Boost libraries, including the development headers are installed.
But both builds still pick the Boost libraries from conda:
build.py
buildCaveats
I don't know how this behaves on Mac or Windows. I have a hunch for a Mac the conda compiler packages might have different names (
clang
andclangxx
). For Windows, I don't know yet.