В AIX 6.1 ppc64 для загрузки libm.a наше приложение использует System.loadLibrary("m")
.
Или происходит сбой с сообщением об ошибке
модуль имеет неверный магический номер
Согласно документации IBM, это может произойти, если имеется несоответствие между 32-битными и 64-битными двоичными файлами. Или это происходит независимо от того, используем ли мы Java6 (32 бита) или Java6_64 (64 бита) JVM.
Так что это не так.
Другая возможная причина: /usr/lib/libm.a
НЕ является общей библиотекой. Но мы просто не можем найти общий режим libm.a
на платформе для использования!
В соответствии с Javadoc, в System.loadLibrary («name») отображение «name» в реальной библиотеке зависит от системы. В большинстве систем Unix он сопоставлен с lib.so, а в AIX - с lib.a; Обратите внимание, что в AIX .a может быть гибридным, т.е. он может содержать как статический, так и общий объект, 32-битный и 64-битный объект. Моя проблема - найти общий режим libm.a в AIX.
Кто-нибудь знает, как использовать System.loadLibrary("m")
для загрузки libm.a
?
P.S
System.loadLibrary("m")
отлично работает на большинстве протестированных нами платформ UNIX.