Поддержка последовательного порта в Java – переход с 32 на 64 бит [закрыто]JAVA

Программисты JAVA общаются здесь
Гость
Поддержка последовательного порта в Java – переход с 32 на 64 бит [закрыто]

Сообщение Гость »

Я новичок в Java. У меня есть старая программа Java, использующая libLinuxSerialParallel.so. Я думаю, это единственное, что заставляет нас использовать 32-битную подсистему совместимости в Ubuntu 22, поэтому я хочу перевести ее на 64-битную версию. Я обнаружил, что 64-битную библиотеку можно установить с помощью:

Код: Выделить всё

apt-get install librxtx-java
который устанавливает librxtx-java_2.2.0+dfsg-2_amd64.deb. Что мне тогда делать? Достаточно ли и безопасно ли просто переименовать новую библиотеку и заменить старую?
Это ошибка, которую я получаю при попытке запустить версию, скомпилированную 64-битной Java:

Код: Выделить всё

OpenJDK 64-Bit Server VM warning: You have loaded library /home/alex/MYSRT3/lib/libLinuxSerialParallel.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'.
Error loading LinuxSerialParallel: java.lang.UnsatisfiedLinkError: /home/alex/MYSRT3/lib/libLinuxSerialParallel.so: /home/alex/MYSRT3/lib/libLinuxSerialParallel.so: wrong ELF class: ELFCLASS32 (Possible cause: can't load IA 32 .so on a AMD 64 platform)
Exception in thread "main" java.lang.UnsatisfiedLinkError: 'boolean com.sun.comm.Unix.isDevLink(java.lang.String)'
at com.sun.comm.Unix.isDevLink(Native Method)
at com.sun.comm.PathBundle.add(PathBundle.java:108)
at com.sun.comm.PlatformPortBundle.(PlatformPortBundle.java:44)
at javax.comm.CommPortIdentifier.(CommPortIdentifier.java:138)
at sport.(sport.java:29)
at srt.main(srt.java:152)
Мне удалось избавиться от этого предупреждения execstack при использовании 32-битной Java с помощью:

Код: Выделить всё

sudo execstack -c /home/$USER/MYSRT3/lib/libLinuxSerialParallel.so
но когда я пытаюсь запустить 64-битную версию, она все равно присутствует.

Подробнее здесь: https://stackoverflow.com/questions/781 ... -to-64-bit

Вернуться в «JAVA»