Hier ist mein Problem und es tritt bei jeder Version von RXTX auf, die ich zu kompilieren versuche. Ich verwende Ubuntu 18.04 GCC ist 7.4
Die letzten Zeilen meiner Zusammenstellung:
/bin/bash: /usr/java-8-openjdk-amd64/bin/javac: No such file or directory
Ich bin nicht wahr, wenn es existiert und mein Pfad existiert, ebenso wie JAVA_HOME usw.
Das ist das Problem:
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.
Ich habe keine Ahnung, was das soll, weil es von diesem Code in Zeile 610 des Makefiles abgeleitet ist: (JAVA_FIX)
Irgendwelche Hilfe/Ideen zur Problemlösung?
David
Makefile-Eintrag:
kompilieren Sie src/RXTXPort.java und ähnliche Dateien in Klassen
Erstellen Sie dann die .jar-Datei
$(KLASSEN): $(javafiles) $(TOP)/Makefile $(JAVAH_FIX) $(JAVAC) $(javafiles) $(JAVAH) (für i in $(javahfiles);führe \ aus, wenn grep > /dev/null native.( $(SPATH)/gnu/io/$$i.java; dann \ echo $(CLASSDIR).$$i; \ fi; \ fertig)` $(JAR) cf $(JARTARGET) $(CLASSTOP)/
Ich verstehe, dass Fehler 127 ein Bash-Fehler und kein Makefile-Fehler ist.
Antwort1
Versuchen Sie zunächst mit diesem Befehl herauszufinden, ob javac wirklich installiert ist:
java -version
which java
Wenn Sie den Pfad zu Java sehen, müssen Sie Ihren JAVA_PATH als die von zurückgegebene Zeile festlegen, which java
ohne den /bin
endgültigen Ordner
Gehen wir also davon aus, dass Sie Java unter haben /opt/SP/SDK/Java1.8/bin/java
. Dann müssen Sie die folgenden Befehle eingeben:
echo 'export JAVA_HOME=/opt/SP/SDK/Java1.8' >>/home/$(whoami)/.bashrc
echo 'export PATH=$PATH:$JAVA_HOME/bin' >>/home/$(whoami)/.bashrc
source $_
Falls Java nicht gefunden wird, müssen Sie Java installieren
Herunterladen eines kompatiblen JDK und Festlegen des Pfads
apt-get install default-jdk
Antwort2
Ich habe ein nicht richtig funktionierendes Java deinstalliert und bin jetzt dabei, dieses Programm neu zu installieren. Es lag nicht an einem Fehler in der Programmierung anderer, sondern daran, dass ich meine Java-Installation und Java selbst nicht richtig verstanden habe. Ich bin auf einem neuen Weg, das zu beheben, indem ich Java von Grund auf neu installiere und Java anschließend besser verstehe. Danke für all die Hilfe.