-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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][Docs] ArrowSubstrait options preventing jni modules from being build #36885
Comments
Hi @zinking thank for reporting this. I will update the documentation to include Substrait changes as well. |
You need to build with |
Hey @davisusanibar , I went ahead and created a PR to fix it. |
…es (#36899) ### Rationale for this change The Java JNI dataset module recently included the Substrait module as a dependency. The dependency was added to the CI scripts, but not added to the build profiles and documentation yet. ### What changes are included in this PR? - Update maven build profiles - Update Java build documentation ### Are these changes tested? I tested locally on MacOS and was able to reproduce + fix with this change. ### Are there any user-facing changes? No * Closes: #36885 Authored-by: Dane Pitkin <dane@voltrondata.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
@danepitkin I'm actually not sure why dataset isn't built by default in the java folder, I suppose there is currently nothing stopping us from doing so? |
The dataset module relies on C++ shared libraries, which need to be built first. The default java modules (e.g. built from |
@danepitkin it seems I still have to figure out how to build the complete jni dataset jar myself (mvn clean install usually misses the jni libraries), instead of one maven command. |
Are you suggesting to have one maven build profile that builds all of java modules/C++ libs/JNI modules? You could script this pretty easily. I believe maven is meant to be used to build one component at a time which is why there is one maven command for each of java modules/C++ libs/JNI modules. @davisusanibar any thoughts on this? |
Actually, I guess this is trivial to do. This CI build script supposedly builds all of Java in one command: https://github.com/apache/arrow/blob/main/ci/scripts/java_full_build.sh#L49 |
exactly what I am looking for, thanks a lot. |
@danepitkin one more question: I can now successfully build the arm64 arch artifact, but in the jar there is no x8664 arch artifact. I am not sure if this is possible on mac build environment. or how should I do the cross compilation to get a usable release artifact jar? thanks. |
You can use Docker to build x86_64 artifacts on arm64 machine. Our CI job also uses Docker: arrow/dev/tasks/java-jars/github.yml Lines 54 to 57 in 37cb592
BTW, for a development use case, you may want to use nightly packages: https://arrow.apache.org/docs/dev/developers/java/building.html#installing-nightly-packages |
…profiles (apache#36899) ### Rationale for this change The Java JNI dataset module recently included the Substrait module as a dependency. The dependency was added to the CI scripts, but not added to the build profiles and documentation yet. ### What changes are included in this PR? - Update maven build profiles - Update Java build documentation ### Are these changes tested? I tested locally on MacOS and was able to reproduce + fix with this change. ### Are there any user-facing changes? No * Closes: apache#36885 Authored-by: Dane Pitkin <dane@voltrondata.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
…profiles (apache#36899) ### Rationale for this change The Java JNI dataset module recently included the Substrait module as a dependency. The dependency was added to the CI scripts, but not added to the build profiles and documentation yet. ### What changes are included in this PR? - Update maven build profiles - Update Java build documentation ### Are these changes tested? I tested locally on MacOS and was able to reproduce + fix with this change. ### Are there any user-facing changes? No * Closes: apache#36885 Authored-by: Dane Pitkin <dane@voltrondata.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Describe the enhancement requested
I am following documentation doc to build up the dataset jar. everything works fine till this step
To build all JNI libraries (MacOS / Linux) except the JNI C Data Interface library:
and then I encountered following error:
I took a look at the commit history and tried with following updated command
still the same error?
I suppose the documentation should be added after ArrowSubstrait change?
Component(s)
Java
The text was updated successfully, but these errors were encountered: