Skip to content
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

[Java][CI] Java Jars failing on MacOS #38653

Closed
danepitkin opened this issue Nov 9, 2023 · 3 comments · Fixed by #38677
Closed

[Java][CI] Java Jars failing on MacOS #38653

danepitkin opened this issue Nov 9, 2023 · 3 comments · Fixed by #38677

Comments

@danepitkin
Copy link
Contributor

danepitkin commented Nov 9, 2023

Describe the bug, including details regarding any error messages, version, and platform.

According to crossbow,

First failure: https://github.com/ursacomputing/crossbow/actions/runs/6795651621/job/18475552909

Last successful commit: 25c18d8...e62ec62

We're seeing a lot of version mismatches in the logs.

aarch64 example:

In file included from /Users/voltrondata/github-actions-runner/_work/crossbow/crossbow/arrow/cpp-build/cpp/src/gandiva/CMakeFiles/gandiva-internals-test.dir/Unity/unity_2_cxx.cxx:22:
/Users/voltrondata/github-actions-runner/_work/crossbow/crossbow/arrow/cpp/src/gandiva/tests/test_util.cc:35:18: error: 'string' is unavailable: introduced in macOS 10.15
  return ir_file.string();
                 ^
/Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/__filesystem/path.h:852:39: note: 'string' has been explicitly marked unavailable here
  _LIBCPP_HIDE_FROM_ABI _VSTD::string string() const { return __pn_; }
                                      ^

x86_64 example:

In file included from /Users/runner/work/crossbow/crossbow/arrow/cpp-build/cpp/src/gandiva/CMakeFiles/gandiva-internals-test.dir/Unity/unity_2_cxx.cxx:22:
/Users/runner/work/crossbow/crossbow/arrow/cpp/src/gandiva/tests/test_util.cc:35:18: error: 'string' is unavailable: introduced in macOS 10.15
return ir_file.string();
                  ^

/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/include/c++/v1/filesystem:1266:43: note: 'string' has been explicitly marked unavailable here
   _LIBCPP_INLINE_VISIBILITY _VSTD::string string() const { return __pn_; }
                                           ^

Component(s)

Continuous Integration, Java

@kou
Copy link
Member

kou commented Nov 9, 2023

Oh.
@niyue could you take a look at this?

@niyue
Copy link
Contributor

niyue commented Nov 10, 2023

Sure. I took a brief look and the CI seems to complain std::filesystem::path cannot be used on macOS 14.0 aarch64, but this env is also what I use locally and I don't find such issue. I will take a closer look today.

@niyue
Copy link
Contributor

niyue commented Nov 10, 2023

I submitted a PR trying to address this issue: #38677

But it requires raising the minimum macOS deployment target from 10.14 to 10.15, and you can check out the PR for more details.

If it is not desirable to raise the macOS deployment target version, we may need to revise the code to avoid such API usage. But since std::filesystem::path is part of C++17 API and the arrow codebase starts to support C++17, and we may have to document which subset of C++17 APIs could be used, otherwise, the issue may happen again next time.

kou pushed a commit that referenced this issue Nov 14, 2023
…sion to 10.15 catalina to allow using new APIs in C++17 (#38677)

### Rationale for this change
For macOS, some new APIs in C++17, e.g. `std::filesystem::path` is only visible when the compiling target is >= macOS 10.15 (Catalina). But currently the minimum macOS target is set to 10.14 (Mojave).

* macOS 10.14 Mojave was released on 2018-09-24 [1] 
* macOS 10.15 Catalina was released on 2019-10-07 [2]
* Both macOS 10.14 and 10.15 are end of life [3]

There is a [similar issue](ClickHouse/ClickHouse#8541) [4] and [its fix](ClickHouse/ClickHouse#8600) [5] for ClickHouse on year 2020, which raised minimum macOS version from 10.14 to 10.15.

### What changes are included in this PR?
Raise the minimum macOS version from 10.14 to 10.15

### Are these changes tested?
This should be tested and verified on CI.
 
### Are there any user-facing changes?
* Users using macOS <= 10.14 may not able to run these CI jobs locally. 
* The new version of python wheels may not be able to be deployed to environments with macOS <= 10.14 (not completely sure how this affects the deployment)
* Closes: #38653

### References
* [1] https://en.wikipedia.org/wiki/MacOS_Mojave
* [2] https://en.wikipedia.org/wiki/MacOS_Catalina
* [3] https://endoflife.date/macos 
* [4] ClickHouse/ClickHouse#8541
* [5] ClickHouse/ClickHouse#8600

Authored-by: Yue Ni <niyue.com@gmail.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
@kou kou added this to the 15.0.0 milestone Nov 14, 2023
dgreiss pushed a commit to dgreiss/arrow that referenced this issue Feb 19, 2024
…OS version to 10.15 catalina to allow using new APIs in C++17 (apache#38677)

### Rationale for this change
For macOS, some new APIs in C++17, e.g. `std::filesystem::path` is only visible when the compiling target is >= macOS 10.15 (Catalina). But currently the minimum macOS target is set to 10.14 (Mojave).

* macOS 10.14 Mojave was released on 2018-09-24 [1] 
* macOS 10.15 Catalina was released on 2019-10-07 [2]
* Both macOS 10.14 and 10.15 are end of life [3]

There is a [similar issue](ClickHouse/ClickHouse#8541) [4] and [its fix](ClickHouse/ClickHouse#8600) [5] for ClickHouse on year 2020, which raised minimum macOS version from 10.14 to 10.15.

### What changes are included in this PR?
Raise the minimum macOS version from 10.14 to 10.15

### Are these changes tested?
This should be tested and verified on CI.
 
### Are there any user-facing changes?
* Users using macOS <= 10.14 may not able to run these CI jobs locally. 
* The new version of python wheels may not be able to be deployed to environments with macOS <= 10.14 (not completely sure how this affects the deployment)
* Closes: apache#38653

### References
* [1] https://en.wikipedia.org/wiki/MacOS_Mojave
* [2] https://en.wikipedia.org/wiki/MacOS_Catalina
* [3] https://endoflife.date/macos 
* [4] ClickHouse/ClickHouse#8541
* [5] ClickHouse/ClickHouse#8600

Authored-by: Yue Ni <niyue.com@gmail.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment