-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[macos] Missing cmath.h definitions #2274
Comments
Hello @csparker247 ! We've reproduced this issue, but unfortunately we have not found the root cause yet. As a temporary solution you can define the
We will continue to investigate the issue, I will keep you posted. |
Xcode Command Line Tools (12.2) installed on the
To fix this issue you can override the
|
Confirmed that this works on I am confused as to why it wouldn't work outright on Anyway, this hints to me that maybe there's something broken in CMake or ITK for resolving the correct SDK. If |
In this case, I am going to close this issue, but feel free to contact us if you have any concerns! |
1. Parameterize Ubuntu20Dockerfile with the branch name. Previously the Dockerfile was still creating container images from the hardcoded release_13x branch. 2. Update the workaround for MacOS X build failures according to actions/runner-images#2274. 3. Delete the repo-lockdown workflow to eliminate the job which is always a no-op for classic-flang-llvm-project. 4. For debugging purpose, add a -v option to build-llvm-project.sh to enable verbose output.
1. Parameterize Ubuntu20Dockerfile with the branch name. Previously the Dockerfile was still creating container images from the hardcoded release_13x branch. 2. Update the workaround for MacOS X build failures according to actions/runner-images#2274. 3. For debugging purpose, add a -v option to build-llvm-project.sh to enable verbose output. The option sets $VERBOSE to an non-empty string which forces the CMake-generated Makefile to print every command it runs. 4. Delete the repo-lockdown workflow to eliminate the job which is always a no-op for classic-flang-llvm-project.
1. Parameterize Ubuntu20Dockerfile with the branch name. Previously the Dockerfile was still creating container images from the hardcoded release_13x branch. 2. Update the workaround for MacOS X build failures according to actions/runner-images#2274. 3. For debugging purpose, add a -v option to build-llvm-project.sh to enable verbose output. The option sets $VERBOSE to an non-empty string which forces the CMake-generated Makefile to print every command it runs. 4. Delete the repo-lockdown workflow to eliminate the job which is always a no-op for classic-flang-llvm-project.
This commit squashes the following commits from the release_14x branch: commit 84ed34d Author: Bryan Chan <bryan.chan@huawei.com> Date: Sun Apr 24 19:13:25 2022 -0400 [workflows] support GitHub actions for release_14x branch commit dd852a6 Author: Bryan Chan <bryanpkc@gmail.com> Date: Fri Jul 15 21:50:21 2022 -0400 [workflows] Fix CI for release_14x 1. Parameterize Ubuntu20Dockerfile with the branch name. Previously the Dockerfile was still creating container images from the hardcoded release_13x branch. 2. Update the workaround for MacOS X build failures according to actions/runner-images#2274. 3. For debugging purpose, add a -v option to build-llvm-project.sh to enable verbose output. The option sets $VERBOSE to an non-empty string which forces the CMake-generated Makefile to print every command it runs. 4. Delete the repo-lockdown workflow to eliminate the job which is always a no-op for classic-flang-llvm-project.
This commit squashes the following commits from the release_14x branch: commit 84ed34d Author: Bryan Chan <bryan.chan@huawei.com> Date: Sun Apr 24 19:13:25 2022 -0400 [workflows] support GitHub actions for release_14x branch commit dd852a6 Author: Bryan Chan <bryanpkc@gmail.com> Date: Fri Jul 15 21:50:21 2022 -0400 [workflows] Fix CI for release_14x 1. Parameterize Ubuntu20Dockerfile with the branch name. Previously the Dockerfile was still creating container images from the hardcoded release_13x branch. 2. Update the workaround for MacOS X build failures according to actions/runner-images#2274. 3. For debugging purpose, add a -v option to build-llvm-project.sh to enable verbose output. The option sets $VERBOSE to an non-empty string which forces the CMake-generated Makefile to print every command it runs. 4. Delete the repo-lockdown workflow to eliminate the job which is always a no-op for classic-flang-llvm-project.
This commit squashes the following commits from the release_14x branch: commit 84ed34d Author: Bryan Chan <bryan.chan@huawei.com> Date: Sun Apr 24 19:13:25 2022 -0400 [workflows] support GitHub actions for release_14x branch commit dd852a6 Author: Bryan Chan <bryanpkc@gmail.com> Date: Fri Jul 15 21:50:21 2022 -0400 [workflows] Fix CI for release_14x 1. Parameterize Ubuntu20Dockerfile with the branch name. Previously the Dockerfile was still creating container images from the hardcoded release_13x branch. 2. Update the workaround for MacOS X build failures according to actions/runner-images#2274. 3. For debugging purpose, add a -v option to build-llvm-project.sh to enable verbose output. The option sets $VERBOSE to an non-empty string which forces the CMake-generated Makefile to print every command it runs. 4. Delete the repo-lockdown workflow to eliminate the job which is always a no-op for classic-flang-llvm-project.
Cherry-pick the following commit from release_14x, dropping stuff that do not apply: commit dd852a6 Author: Bryan Chan <bryanpkc@gmail.com> Date: Fri Jul 15 21:50:21 2022 -0400 [workflows] Fix CI for release_14x 1. Parameterize Ubuntu20Dockerfile with the branch name. Previously the Dockerfile was still creating container images from the hardcoded release_13x branch. 2. Update the workaround for MacOS X build failures according to actions/runner-images#2274. 3. For debugging purpose, add a -v option to build-llvm-project.sh to enable verbose output. The option sets $VERBOSE to an non-empty string which forces the CMake-generated Makefile to print every command it runs. 4. Delete the repo-lockdown workflow to eliminate the job which is always a no-op for classic-flang-llvm-project.
Description
I've recently been getting build errors on a C++ project in the
macos-10.15
image. A compiler error is thrown because multiple things fromcmath.h
aren't found, like::signbit
,::isless
, and::isgreater
. These are compiler errors from deep inside a dependency, in this case ITK, and not my code.I've seen this before on my personal machine, and it's almost always caused by something weird in the SDK configuration. My solution in those cases has been to make sure Xcode.app is uninstalled and only rely on the Command Line Tools. I first noticed this in Github Actions on 12/2/20 when a job failed for a commit, but then another job succeeded on a tagged version of the same commit. Prior to this, the job ran successfully. The timing implies that this has something to do with the change to a default Xcode 12.2.
I've setup a minimal project to explore the issue here. Thus far, I have observed the problem in both
macos-10.15
andmacos-11.0
when using the default Xcode. I do not have the problem onmacos-11.0
when I use:sudo xcode-select -s "/Library/Developer/CommandLineTools/"
but this does not work on
macos-10.15
. On that environment, I've tried usingXcode_12.app
,Xcode_12.1.1.app
, and/Library/Developer/CommandLineTools/
, none of which work. I've also tried doingexport SDKROOT=[full SDK path]
along withxcode-select
, since CMake pulls from that variable when determining the SDK to use.I have already referred to #2056, #2211 (comment), and #2218 for possible solutions.
Area for Triage:
Apple, C/C++
Question, Bug, or Feature?:
Bug
Virtual environments affected
Expected behavior
Project builds successfully.
Actual behavior
Compiler error due to missing definitions.
Repro steps
I've setup a minimal example project here. It contains one action which performs all of the requisite steps. In brief, those steps are:
brew install itk
itkMesh.h
and links againstITKCommon
The text was updated successfully, but these errors were encountered: