Skip to content

GH-46077: [CI][C++] Disable -Werror on macos-13 #46106

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

Merged
merged 2 commits into from
Apr 11, 2025

Conversation

kou
Copy link
Member

@kou kou commented Apr 11, 2025

Rationale for this change

Our C++ build started failing with GitHub Actions runner macos-13 (13.7.5 (22H527)):

FAILED: src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o 
/usr/local/bin/ccache /usr/bin/c++ -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -DARROW_WITH_TIMING_TESTS -DURI_STATIC_BUILD -I/Users/runner/work/arrow/arrow/build/cpp/src -I/Users/runner/work/arrow/arrow/cpp/src -I/Users/runner/work/arrow/arrow/cpp/src/generated -isystem /usr/local/Cellar/boost/1.87.0_1/include -isystem /usr/local/Cellar/brotli/1.1.0/include -isystem /usr/local/opt/lz4/include -fno-aligned-new  -Qunused-arguments -fcolor-diagnostics  -Wall -Wextra -Wdocumentation -DARROW_WARN_DOCUMENTATION -Wshorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Wdate-time -Wno-unknown-warning-option -Wno-pass-failed -msse4.2  -g -Werror -O0 -ggdb -g1 -std=c++17 -mmacosx-version-min=12 -fPIC -MD -MT src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o -MF src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o.d -o src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o -c /Users/runner/work/arrow/arrow/cpp/src/arrow/util/utf8.cc
In file included from /Users/runner/work/arrow/arrow/cpp/src/arrow/util/utf8.cc:28:
In file included from /Users/runner/work/arrow/arrow/cpp/src/arrow/util/utf8_internal.h:28:
In file included from /usr/local/include/xsimd/xsimd.hpp:57:
/usr/local/include/xsimd/memory/xsimd_aligned_allocator.hpp:165:15: error: parameter 'hint' not found in the function declaration [-Werror,-Wdocumentation]
     * @param hint unused parameter provided for standard compliance.
              ^~~~
/usr/local/include/xsimd/memory/xsimd_aligned_allocator.hpp:186:15: error: parameter 'n' not found in the function declaration [-Werror,-Wdocumentation]
     * @param n number of objects earlier passed to allocate().
              ^

It's caused by warnings in XSimd headers. (There are similar warnings in RaipdJSON headers and so on.)

In general, warnings in external libraries are ignored by -isystem. But -isystem /usr/local/include isn't used in the runner.

I don't know what is the cause of this behavior change in the runner update. But CMake 3.31.6 -> 4.0.0 update may be related.

What changes are included in this PR?

Disable -Werror because it's difficult to suppress warnings all packages installed by Homebrew.

Are these changes tested?

Yes.

Are there any user-facing changes?

No.

Copy link

⚠️ GitHub issue #46077 has been automatically assigned in GitHub to PR creator.

@github-actions github-actions bot added the awaiting committer review Awaiting committer review label Apr 11, 2025
@kou
Copy link
Member Author

kou commented Apr 11, 2025

Hmm... XSimd related warnings were suppressed but there are similar problems for RapidJSON...

@kou kou changed the title GH-46077: [CI][C++] Use bundled XSimd on macos-13 GH-46077: [CI][C++] Disable -Werror on macos-13 Apr 11, 2025
Copy link
Member

@raulcd raulcd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @kou
Given that macos-13 support probably ends in ~6 months this approach seems sensible to me

@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting committer review Awaiting committer review labels Apr 11, 2025
@raulcd raulcd merged commit 327aca6 into apache:main Apr 11, 2025
23 of 24 checks passed
@raulcd raulcd removed the awaiting merge Awaiting merge label Apr 11, 2025
@kou kou deleted the ci-cpp-macos-13-xsimd branch April 11, 2025 16:32
Copy link

After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 327aca6.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 46 possible false positives for unstable benchmarks that are known to sometimes produce them.

zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Apr 15, 2025
### Rationale for this change

Our C++ build started failing with GitHub Actions runner macos-13 ([13.7.5 (22H527)](actions/runner-images#11962)):

```text
FAILED: src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o 
/usr/local/bin/ccache /usr/bin/c++ -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -DARROW_WITH_TIMING_TESTS -DURI_STATIC_BUILD -I/Users/runner/work/arrow/arrow/build/cpp/src -I/Users/runner/work/arrow/arrow/cpp/src -I/Users/runner/work/arrow/arrow/cpp/src/generated -isystem /usr/local/Cellar/boost/1.87.0_1/include -isystem /usr/local/Cellar/brotli/1.1.0/include -isystem /usr/local/opt/lz4/include -fno-aligned-new  -Qunused-arguments -fcolor-diagnostics  -Wall -Wextra -Wdocumentation -DARROW_WARN_DOCUMENTATION -Wshorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Wdate-time -Wno-unknown-warning-option -Wno-pass-failed -msse4.2  -g -Werror -O0 -ggdb -g1 -std=c++17 -mmacosx-version-min=12 -fPIC -MD -MT src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o -MF src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o.d -o src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o -c /Users/runner/work/arrow/arrow/cpp/src/arrow/util/utf8.cc
In file included from /Users/runner/work/arrow/arrow/cpp/src/arrow/util/utf8.cc:28:
In file included from /Users/runner/work/arrow/arrow/cpp/src/arrow/util/utf8_internal.h:28:
In file included from /usr/local/include/xsimd/xsimd.hpp:57:
/usr/local/include/xsimd/memory/xsimd_aligned_allocator.hpp:165:15: error: parameter 'hint' not found in the function declaration [-Werror,-Wdocumentation]
     * @ param hint unused parameter provided for standard compliance.
              ^~~~
/usr/local/include/xsimd/memory/xsimd_aligned_allocator.hpp:186:15: error: parameter 'n' not found in the function declaration [-Werror,-Wdocumentation]
     * @ param n number of objects earlier passed to allocate().
              ^
```

It's caused by warnings in XSimd headers. (There are similar warnings in RaipdJSON headers and so on.)

In general, warnings in external libraries are ignored by `-isystem`. But `-isystem /usr/local/include` isn't used in the runner.

I don't know what is the cause of this behavior change in the runner update. But CMake 3.31.6 -> 4.0.0 update may be related.

### What changes are included in this PR?

Disable `-Werror` because it's difficult to suppress warnings all packages installed by Homebrew.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.
* GitHub Issue: apache#46077

Authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Raúl Cumplido <[email protected]>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Apr 15, 2025
### Rationale for this change

Our C++ build started failing with GitHub Actions runner macos-13 ([13.7.5 (22H527)](actions/runner-images#11962)):

```text
FAILED: src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o 
/usr/local/bin/ccache /usr/bin/c++ -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -DARROW_WITH_TIMING_TESTS -DURI_STATIC_BUILD -I/Users/runner/work/arrow/arrow/build/cpp/src -I/Users/runner/work/arrow/arrow/cpp/src -I/Users/runner/work/arrow/arrow/cpp/src/generated -isystem /usr/local/Cellar/boost/1.87.0_1/include -isystem /usr/local/Cellar/brotli/1.1.0/include -isystem /usr/local/opt/lz4/include -fno-aligned-new  -Qunused-arguments -fcolor-diagnostics  -Wall -Wextra -Wdocumentation -DARROW_WARN_DOCUMENTATION -Wshorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Wdate-time -Wno-unknown-warning-option -Wno-pass-failed -msse4.2  -g -Werror -O0 -ggdb -g1 -std=c++17 -mmacosx-version-min=12 -fPIC -MD -MT src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o -MF src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o.d -o src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o -c /Users/runner/work/arrow/arrow/cpp/src/arrow/util/utf8.cc
In file included from /Users/runner/work/arrow/arrow/cpp/src/arrow/util/utf8.cc:28:
In file included from /Users/runner/work/arrow/arrow/cpp/src/arrow/util/utf8_internal.h:28:
In file included from /usr/local/include/xsimd/xsimd.hpp:57:
/usr/local/include/xsimd/memory/xsimd_aligned_allocator.hpp:165:15: error: parameter 'hint' not found in the function declaration [-Werror,-Wdocumentation]
     * @ param hint unused parameter provided for standard compliance.
              ^~~~
/usr/local/include/xsimd/memory/xsimd_aligned_allocator.hpp:186:15: error: parameter 'n' not found in the function declaration [-Werror,-Wdocumentation]
     * @ param n number of objects earlier passed to allocate().
              ^
```

It's caused by warnings in XSimd headers. (There are similar warnings in RaipdJSON headers and so on.)

In general, warnings in external libraries are ignored by `-isystem`. But `-isystem /usr/local/include` isn't used in the runner.

I don't know what is the cause of this behavior change in the runner update. But CMake 3.31.6 -> 4.0.0 update may be related.

### What changes are included in this PR?

Disable `-Werror` because it's difficult to suppress warnings all packages installed by Homebrew.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.
* GitHub Issue: apache#46077

Authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Raúl Cumplido <[email protected]>
assignUser pushed a commit that referenced this pull request Apr 22, 2025
### Rationale for this change

Our C++ build started failing with GitHub Actions runner macos-13 ([13.7.5 (22H527)](actions/runner-images#11962)):

```text
FAILED: src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o 
/usr/local/bin/ccache /usr/bin/c++ -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -DARROW_WITH_TIMING_TESTS -DURI_STATIC_BUILD -I/Users/runner/work/arrow/arrow/build/cpp/src -I/Users/runner/work/arrow/arrow/cpp/src -I/Users/runner/work/arrow/arrow/cpp/src/generated -isystem /usr/local/Cellar/boost/1.87.0_1/include -isystem /usr/local/Cellar/brotli/1.1.0/include -isystem /usr/local/opt/lz4/include -fno-aligned-new  -Qunused-arguments -fcolor-diagnostics  -Wall -Wextra -Wdocumentation -DARROW_WARN_DOCUMENTATION -Wshorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Wdate-time -Wno-unknown-warning-option -Wno-pass-failed -msse4.2  -g -Werror -O0 -ggdb -g1 -std=c++17 -mmacosx-version-min=12 -fPIC -MD -MT src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o -MF src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o.d -o src/arrow/CMakeFiles/arrow_util.dir/util/utf8.cc.o -c /Users/runner/work/arrow/arrow/cpp/src/arrow/util/utf8.cc
In file included from /Users/runner/work/arrow/arrow/cpp/src/arrow/util/utf8.cc:28:
In file included from /Users/runner/work/arrow/arrow/cpp/src/arrow/util/utf8_internal.h:28:
In file included from /usr/local/include/xsimd/xsimd.hpp:57:
/usr/local/include/xsimd/memory/xsimd_aligned_allocator.hpp:165:15: error: parameter 'hint' not found in the function declaration [-Werror,-Wdocumentation]
     * @ param hint unused parameter provided for standard compliance.
              ^~~~
/usr/local/include/xsimd/memory/xsimd_aligned_allocator.hpp:186:15: error: parameter 'n' not found in the function declaration [-Werror,-Wdocumentation]
     * @ param n number of objects earlier passed to allocate().
              ^
```

It's caused by warnings in XSimd headers. (There are similar warnings in RaipdJSON headers and so on.)

In general, warnings in external libraries are ignored by `-isystem`. But `-isystem /usr/local/include` isn't used in the runner.

I don't know what is the cause of this behavior change in the runner update. But CMake 3.31.6 -> 4.0.0 update may be related.

### What changes are included in this PR?

Disable `-Werror` because it's difficult to suppress warnings all packages installed by Homebrew.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.
* GitHub Issue: #46077

Authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Raúl Cumplido <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants