diff --git a/ci/vcpkg/ports.patch b/ci/vcpkg/ports.patch index 68f6cae5addc9..d280938cec780 100644 --- a/ci/vcpkg/ports.patch +++ b/ci/vcpkg/ports.patch @@ -64,3 +64,15 @@ index 4d7e26a..1f054a2 100644 ) vcpkg_cmake_install(ADD_BIN_TO_PATH) +diff --git a/ports/liblzma/portfile.cmake b/ports/liblzma/portfile.cmake +index 0fdc38dff..338d151e5 100644 +--- a/ports/liblzma/portfile.cmake ++++ b/ports/liblzma/portfile.cmake +@@ -1,6 +1,6 @@ + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH +- REPO tukaani-project/xz ++ REPO bminor/xz + REF "v${VERSION}" + SHA512 c28461123562564e030f3f733f078bc4c840e87598d9f4b718d4bca639120d8133f969c45d7bdc62f33f081d789ec0f14a1791fb7da18515682bfe3c0c7362e0 + HEAD_REF master \ No newline at end of file diff --git a/java/gandiva/pom.xml b/java/gandiva/pom.xml index d7a36ed7d282c..1ce87830d4bf8 100644 --- a/java/gandiva/pom.xml +++ b/java/gandiva/pom.xml @@ -26,6 +26,7 @@ 1.8 1.8 3.25.1 + 5.14.0 true ../../../cpp/release-build @@ -62,6 +63,11 @@ org.slf4j slf4j-api + + net.java.dev.jna + jna + ${jna.version} + 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 2528989f3784b..9d00bb04286c9 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 @@ -24,10 +24,14 @@ import java.io.InputStream; import java.nio.file.Files; import java.nio.file.StandardCopyOption; +import java.util.Collections; import java.util.Locale; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; +import com.sun.jna.Library; +import com.sun.jna.NativeLibrary; +import com.sun.jna.Platform; import org.apache.arrow.gandiva.exceptions.GandivaException; /** @@ -73,6 +77,9 @@ private static void loadGandivaLibraryFromJar(final String tmpDir) final String libraryToLoad = getNormalizedArch() + "/" + System.mapLibraryName(LIBRARY_NAME); final File libraryFile = moveFileFromJarToTemp(tmpDir, libraryToLoad, LIBRARY_NAME); + if (Platform.isLinux()) { + NativeLibrary.getInstance(libraryFile.getAbsolutePath(), Collections.singletonMap(Library.OPTION_OPEN_FLAGS, new Integer(257))); + } System.load(libraryFile.getAbsolutePath()); }