Вот моя проблема, и она возникает на каждой версии RXTX, которую я пытаюсь скомпилировать. Я использую Ubuntu 18.04 GCC 7.4
Последние строки моей подборки:
/bin/bash: /usr/java-8-openjdk-amd64/bin/javac: No such file or directory
Я не прав, если он существует и мой путь существует, как и JAVA_HOME и т. д.
Это проблема:
Makefile:610: recipe for target '/home/david/hidden/rxtx-devel/gnu/io/RawPortEventListener.class' failed
make: *** [/home/david/hidden/rxtx-devel/gnu/io/RawPortEventListener.class] Error 127
make: Target 'all' not remade because of errors.
Я понятия не имею, что он пытается сделать, потому что он получен из этого кода в строке 610 Makefile: (JAVA_FIX)
Есть ли у вас помощь/идеи по решению проблемы?
Дэйвид
Запись в Makefile:
скомпилировать src/RXTXPort.java и подобные файлы в классы
затем создайте файл .jar
$(CLASSES): $(javafiles) $(TOP)/Makefile $(JAVAH_FIX) $(JAVAC) $(javafiles) $(JAVAH) (for i in $(javahfiles);do \ if grep > /dev/null native.( $(SPATH)/gnu/io/$$i.java; then \ echo $(CLASSDIR).$$i; \ fi; \ done)` $(JAR) cf $(JARTARGET) $(CLASSTOP)/
Я понимаю, что ошибка 127 — это ошибка bash, а не ошибка makefile.
решение1
В первую очередь попробуйте выполнить следующие команды, чтобы понять, действительно ли установлен javac:
java -version
which java
Если вы видите путь, относящийся к Java, то вам нужно установить JAVA_PATH как строку, возвращаемую which java
без /bin
конечной папки.
Итак, предположим, что у вас есть Java, расположенный по адресу /opt/SP/SDK/Java1.8/bin/java
, вам нужно ввести следующие команды:
echo 'export JAVA_HOME=/opt/SP/SDK/Java1.8' >>/home/$(whoami)/.bashrc
echo 'export PATH=$PATH:$JAVA_HOME/bin' >>/home/$(whoami)/.bashrc
source $_
В случае, если Java не найдена, вам необходимо установить Java.
Загрузка совместимого jdk и указание пути
apt-get install default-jdk
решение2
Я удалил неправильно работающую Java, и теперь я в процессе переустановки этой программы. Это не было вопросом ошибки в программировании других, а было вопросом моего неясного понимания моей установки Java и самой Java. Я на новом пути исправления этого, переустановив Java с нуля и впоследствии лучше понимая Java. Спасибо за всю помощь.