LINUX.ORG.RU

Не собирается jinput

 , ,


0

1
...
jar:
      [jar] Building jar: /dev/shm/jinput_jinput/plugins/linux/bin/linux.jar

createJNIHeaders:
    [javah] ClassArgument.name=net.java.games.input.LinuxEventDevice
    [javah] ClassArgument.name=net.java.games.input.LinuxJoystickDevice

BUILD FAILED
/dev/shm/jinput_jinput/build.xml:122: The following error occurred while executing this line:
/dev/shm/jinput_jinput/build.xml:80: The following error occurred while executing this line:
/dev/shm/jinput_jinput/plugins/linux/build.xml:56: java.lang.NoSuchMethodError: com.sun.tools.javah.Main.<init>([Ljava/lang/String;)V
        at org.apache.tools.ant.taskdefs.optional.Javah.doClassicCompile(Javah.java:350)
        at org.apache.tools.ant.taskdefs.optional.Javah.execute(Javah.java:320)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
...

jdk1.8.0_162, ant-1.10.1

verbose и debug вывод не помогают понять в чем проблема, кроме того, что стопорится на сборке libjinput-linux64.so

jinput последний из github или последний релиз

Похоже javah будет скоро удален в пользу javac -h. И вот тут заметки по поводу java8:

If you are building with Java 8 or above consider using javac's nativeheaderdir attribute instead which allows you to compile the classes and generate the native header files with a single step.

Тебе наверное надо проапгрейдит билд конфигурацию, заменить таск javah на javac, там появился новый параметр nativeheaderdir.

Aber ★★★★★
()
Ответ на: комментарий от panzerito

Тогда одно из двух — либо переменные JAVA_HOME и/или JRE_HOME не выставлены, либо они (или одна из них) выставлены неправильно.

У меня JAVA_HOME указывает на каталог установки JDK (в моём случае — /usr/lib/jvm/oracle-java8-jdk-amd64), а JRE_HOME="${JAVA_HOME}/jre".

Bass ★★★★★
()
Ответ на: комментарий от Aber

проапгрейдит билд конфигурацию, заменить таск javah на javac,

Нет. Между minor-обновлениями совместимость не ломают. javah есть и в Java 9, а удалён он будет лишь в Java 10.

Bass ★★★★★
()
Ответ на: комментарий от Bass
$ ls $JAVA_HOME/lib/tools.jar
/opt/jdk/lib/tools.jar
$ echo $JRE_HOME
/opt/jdk/jre
jinput-20100502$ ant init
jinput-20100502$ ant dist
...
createJNIHeaders:
    [javah] ClassArgument.name=net.java.games.input.LinuxEventDevice
    [javah] ClassArgument.name=net.java.games.input.LinuxJoystickDevice

BUILD FAILED
/dev/shm/jinput-20100502/build.xml:110: The following error occurred while executing this line:
/dev/shm/jinput-20100502/build.xml:69: The following error occurred while executing this line:
/dev/shm/jinput-20100502/plugins/linux/build.xml:56: java.lang.NoSuchMethodError: com.sun.tools.javah.Main.<init>([Ljava/lang/String;)V
        at org.apache.tools.ant.taskdefs.optional.Javah.doClassicCompile(Javah.java:350)

С jinput-2.0.7 или https://github.com/jinput/jinput тоже самое.

Скачаю 151 и попробую создать issue

panzerito
() автор топика
Последнее исправление: panzerito (всего исправлений: 1)
Ответ на: комментарий от Bass

Очистил от старых jar ~/.ant и jinput github собрался

panzerito
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.