diff --git a/NativeLand/LibraryItem.cs b/NativeLand/LibraryItem.cs index 06d9d99..3863d66 100644 --- a/NativeLand/LibraryItem.cs +++ b/NativeLand/LibraryItem.cs @@ -116,7 +116,16 @@ internal IntPtr LoadSymbol(string symbolName) if (PlatformHelper.IsRunningFromMono()) result = Mono.dlsym(file.handle, symbolName); else - result = Linux.dlsym(file.handle, symbolName); + { + try + { + result = Linux.dlsym(file.handle, symbolName); + } + catch + { + result = Linux.dlsym_new(file.handle, symbolName); + } + } found = result != IntPtr.Zero; } else diff --git a/TestProcess/Program.cs b/TestProcess/Program.cs index 0b1d722..3e3ea5e 100644 --- a/TestProcess/Program.cs +++ b/TestProcess/Program.cs @@ -95,7 +95,7 @@ private static int CanLoadLibraryAndCallFunction() new LibraryItem(Platform.Linux, Architecture.X64, new LibraryFile(tempDir + @"/libTestLib.so")), new LibraryItem(Platform.Linux, Architecture.Arm64, - new LibraryFile(tempDir + @"/libTestLib.so"))); + new LibraryFile(tempDir + @"/libTestLib_Arm64.so"))); // Load the library libManager.LoadNativeLibrary();