This is an automated email from the ASF dual-hosted git repository.

lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new f951f0c420 GH-34293: [Java] Error loading native libraries on Windows 
(#34312)
f951f0c420 is described below

commit f951f0c42040ba6f584831621864f5c23e0f023e
Author: david dali susanibar arce <[email protected]>
AuthorDate: Mon Jul 3 07:44:39 2023 -0500

    GH-34293: [Java] Error loading native libraries on Windows (#34312)
    
    To fix error on Java native libraries related to `File.separator` on 
Windows OS: Use `/` to separate path instead of `\`.
    * Closes: #34293
    
    Authored-by: david dali susanibar arce <[email protected]>
    Signed-off-by: David Li <[email protected]>
---
 .../orc/src/main/java/org/apache/arrow/adapter/orc/OrcJniUtils.java     | 2 +-
 java/c/src/main/java/org/apache/arrow/c/jni/JniLoader.java              | 2 +-
 java/dataset/src/main/java/org/apache/arrow/dataset/jni/JniLoader.java  | 2 +-
 .../dataset/src/test/java/org/apache/arrow/dataset/CsvWriteSupport.java | 2 +-
 .../src/test/java/org/apache/arrow/dataset/ParquetWriteSupport.java     | 2 +-
 .../src/main/java/org/apache/arrow/gandiva/evaluator/JniLoader.java     | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git 
a/java/adapter/orc/src/main/java/org/apache/arrow/adapter/orc/OrcJniUtils.java 
b/java/adapter/orc/src/main/java/org/apache/arrow/adapter/orc/OrcJniUtils.java
index f7b839ece0..2701c22870 100644
--- 
a/java/adapter/orc/src/main/java/org/apache/arrow/adapter/orc/OrcJniUtils.java
+++ 
b/java/adapter/orc/src/main/java/org/apache/arrow/adapter/orc/OrcJniUtils.java
@@ -39,7 +39,7 @@ class OrcJniUtils {
     synchronized (OrcJniUtils.class) {
       if (!isLoaded) {
         final String libraryToLoad =
-            getNormalizedArch() + File.separator + 
System.mapLibraryName(LIBRARY_NAME);
+            getNormalizedArch() + "/" + System.mapLibraryName(LIBRARY_NAME);
         final File libraryFile =
             moveFileFromJarToTemp(System.getProperty("java.io.tmpdir"), 
libraryToLoad, LIBRARY_NAME);
         System.load(libraryFile.getAbsolutePath());
diff --git a/java/c/src/main/java/org/apache/arrow/c/jni/JniLoader.java 
b/java/c/src/main/java/org/apache/arrow/c/jni/JniLoader.java
index ed71b6db28..e435461349 100644
--- a/java/c/src/main/java/org/apache/arrow/c/jni/JniLoader.java
+++ b/java/c/src/main/java/org/apache/arrow/c/jni/JniLoader.java
@@ -80,7 +80,7 @@ public class JniLoader {
 
   private void load(String name) {
     final String libraryToLoad =
-        getNormalizedArch() + File.separator + System.mapLibraryName(name);
+        getNormalizedArch() + "/" + System.mapLibraryName(name);
     try {
       File temp = File.createTempFile("jnilib-", ".tmp", new 
File(System.getProperty("java.io.tmpdir")));
       temp.deleteOnExit();
diff --git 
a/java/dataset/src/main/java/org/apache/arrow/dataset/jni/JniLoader.java 
b/java/dataset/src/main/java/org/apache/arrow/dataset/jni/JniLoader.java
index ffdd5e5273..7ada21c058 100644
--- a/java/dataset/src/main/java/org/apache/arrow/dataset/jni/JniLoader.java
+++ b/java/dataset/src/main/java/org/apache/arrow/dataset/jni/JniLoader.java
@@ -78,7 +78,7 @@ public final class JniLoader {
 
   private void load(String name) {
     final String libraryToLoad =
-        getNormalizedArch() + File.separator + System.mapLibraryName(name);
+        getNormalizedArch() + "/" + System.mapLibraryName(name);
     try {
       File temp = File.createTempFile("jnilib-", ".tmp", new 
File(System.getProperty("java.io.tmpdir")));
       temp.deleteOnExit();
diff --git 
a/java/dataset/src/test/java/org/apache/arrow/dataset/CsvWriteSupport.java 
b/java/dataset/src/test/java/org/apache/arrow/dataset/CsvWriteSupport.java
index 954408ce25..9f404522db 100644
--- a/java/dataset/src/test/java/org/apache/arrow/dataset/CsvWriteSupport.java
+++ b/java/dataset/src/test/java/org/apache/arrow/dataset/CsvWriteSupport.java
@@ -29,7 +29,7 @@ public class CsvWriteSupport {
   private final Random random = new Random();
 
   public CsvWriteSupport(File outputFolder) throws URISyntaxException {
-    uri = new URI("file", outputFolder.getPath() + File.separator + 
"generated-" + random.nextLong() + ".csv", null);
+    uri = new URI("file", outputFolder.getPath() + "/" + "generated-" + 
random.nextLong() + ".csv", null);
   }
 
   public static CsvWriteSupport writeTempFile(File outputFolder, String... 
values)
diff --git 
a/java/dataset/src/test/java/org/apache/arrow/dataset/ParquetWriteSupport.java 
b/java/dataset/src/test/java/org/apache/arrow/dataset/ParquetWriteSupport.java
index efdaf46dd5..75f905877c 100644
--- 
a/java/dataset/src/test/java/org/apache/arrow/dataset/ParquetWriteSupport.java
+++ 
b/java/dataset/src/test/java/org/apache/arrow/dataset/ParquetWriteSupport.java
@@ -48,7 +48,7 @@ public class ParquetWriteSupport implements AutoCloseable {
 
   public ParquetWriteSupport(String schemaName, File outputFolder) throws 
Exception {
     avroSchema = readSchemaFromFile(schemaName);
-    path = outputFolder.getPath() + File.separator + "generated-" + 
random.nextLong() + ".parquet";
+    path = outputFolder.getPath() + "/" + "generated-" + random.nextLong() + 
".parquet";
     uri = "file://" + path;
     writer = AvroParquetWriter
         .<GenericRecord>builder(new org.apache.hadoop.fs.Path(path))
diff --git 
a/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/JniLoader.java 
b/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/JniLoader.java
index 01c068f292..5158d52f8c 100644
--- 
a/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/JniLoader.java
+++ 
b/java/gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/JniLoader.java
@@ -71,7 +71,7 @@ class JniLoader {
   private static void loadGandivaLibraryFromJar(final String tmpDir)
           throws IOException, GandivaException {
     final String libraryToLoad =
-        getNormalizedArch() + File.separator + 
System.mapLibraryName(LIBRARY_NAME);
+        getNormalizedArch() + "/" + System.mapLibraryName(LIBRARY_NAME);
     final File libraryFile = moveFileFromJarToTemp(tmpDir, libraryToLoad, 
LIBRARY_NAME);
     System.load(libraryFile.getAbsolutePath());
   }

Reply via email to