Wie kriege ich die Fehlermeldung "java: symbol lookup error: ..." weg?

Mick P. F.

Mitglied
Hallo Leute,

zunächst zur Laufzeit- und Entwicklungsumgebung:
  • Ubuntu 22.04 64 bit
  • Oracle Java 1.8.0_341
ich möchte die Backup-Software Areca-7.5 zum Laufen kriegen, die ich als Quell-Code vorliegen habe, und die zum größten Teil in Java geschrieben ist. Für die Benutzung der System-Bibliothek "ACL" wurde ein kleiner Teil dieser Software in C geschrieben (JNI).
Die Bibliothek "libacl" ist installiert, die Dateien liegen in "/usr/lib/x86_64-linux-gnu".
Beim Start der Software mit
j
Java:
java -Xmx1024m -Xms64m -cp :/home/mick/Projects/areca:/home/mick/Projects/areca/config:/home/mick/Projects/areca/translations:/home/mick/Projects/areca/lib/areca.jar:/home/mick/Projects/areca/lib/mail.jar:/home/mick/Projects/areca/lib/activation.jar:/home/mick/Projects/areca/lib/commons-net-1.4.1.jar:/home/mick/Projects/areca/lib/jakarta-oro-2.0.8.jar:/home/mick/Projects/areca/lib/jsch.jar:/home/mick/Projects/areca/lib/org.eclipse.core.commands_3.2.0.I20060605-1400.jar:/home/mick/Projects/areca/lib/org.eclipse.equinox.common_3.2.0.v20060603.jar:/home/mick/Projects/areca/lib/org.eclipse.jface_3.2.0.I20060605-1400.jar:/home/mick/Projects/areca/lib/org.eclipse.swt.gtk.linux.x86_64-4.2.jar:/home/mick/Projects/areca/lib/commons-codec-1.4.jar -Duser.dir=/home/mick/Projects/areca -Djava.library.path=/home/mick/Projects/areca/lib:/usr/lib/x86_64-linux-gnu:/usr/lib:/lib/x86_64-linux-gnu:/lib -Djava.system.class.loader=com.application.areca.impl.tools.ArecaClassLoader com.application.areca.launcher.gui.Launcher

bekomme ich die Fehlermeldung
Code:
java: symbol lookup error: /home/mick/Projects/areca/lib/libarecafs.so: undefined symbol: acl_get_file
Wie man in den Aufruf-Parametern von Java sieht, ist die Umgebungsvariable "java.library.path" korrekt gesetzt.
Der Java-Code
Code:
        System.loadLibrary("arecafs");
        System.loadLibrary("acl");
wird ausgeführt, das habe ich überprüft.

Wie kann ich diesen Fehler beseitigen?

Mit Dank im voraus
Michael
 

KonradN

Super-Moderator
Mitarbeiter
Da solltest Du Dich ggf. an die Macher von dem Tool wenden.

Evtl. ist https://sourceforge.net/p/areca/bugs/ ein guter Anlaufpunkt.

Was man da z.B. teilweise findet sind Hinweise, dass man das 32 Bit Java statt einem 64 Bit Java verwenden soll oder so. Aber ich kenne das Tool nicht.

Was aber wichtig ist: Das ist ein Tool Problem und kein Java Problem.
 

Robert Zenz

Top Contributor
Was man da z.B. teilweise findet sind Hinweise, dass man das 32 Bit Java statt einem 64 Bit Java verwenden soll oder so. Aber ich kenne das Tool nicht.

Das wird die Antwort sein vermute ich. Eventuell sind die nativen Teile alle als 32-Bit kompiliert und damit zaehlt deine 64-Bit Bibliothek natuerlich nicht.

Auszerdem gibt es den Import

C:
#include <acl/libacl.h>

in der JNI Bruecke, aber laut man-page sollte es eher sys/acl.h sein, wenn ich das richtig sehe. Koennte gut sein dass sich da einiges am System veraendert hat und Acera da einfach nicht mehr am neuesten Stand ist um es "einfach so" auf aktuellen Linux-System laufen zu lassen. Du wirst da eventuell etwas mehr Zeit investieren muessen um das auf Stand zu bringen.
 

Mick P. F.

Mitglied
Ich habe alle Ursachen außerhalb der Java-Laufzeitumgebung (Symbols in der Datei "/usr/lib//usr/lib/x86_64-linux-gnu/libacl.so", 64-bit etc,) überprüft, es ist alles vorhanden. Der Code von areca ist in diesem Punkt einfach...
Im Forum von areca war ich längst, es bringt mich nicht weiter. In Google habe ich auch schon alles abgesucht und alle dort gefundenen Lösungen durchprobiert.
Im Forum von areca kann man zwar Anfragen erstellen, man kriegt aber schon seit Jahren keine Antworten. Die Software wird auch nicht weiter entwickelt bzw. nicht mehr bug-fixed, obwohl sie recht gut ist.

Mag sein, dass das Problem nicht in der Java-Laufzeitumgebung liegt, sondern in areca selbst, aber wo?

Ich habe gehofft, ich würde hier ein Paar Vorschläge zur Lösung des Problems zu bekommen...
 

Mick P. F.

Mitglied
ich habe eine reine 64 bit Umgebung von Linux, darauf achte ich sehr penibel.
In der JNI-"Brücke" steht
Java:
#include <sys/acl.h>

Ich bin gerne bereit, mehr Zeit zu investieren, wenn ich wüßte, mit was.
Meine Java-Kenntnisse sind relativ bescheiden, auf dem Stand von etwa vor 20 Jahren... Dafür sind meine C- und Linux-Kenntnisse sehr gut!
 

KonradN

Super-Moderator
Mitarbeiter
Evtl. ist es ein Versuch wert, alles vom Source neu zu übersetzen. dann wird ja gegen die aktuellen Libraries gelinkt. Änderungen in den Abhängigkeiten führen dann zu Problemen bei der Übersetzung und da könnte man dann ansetzen.

Ansonsten bliebe nur der Versuch, ob man da alte Versionen der Abhängigkeiten nutzen kann - das wird aber nicht leicht. Und da geht es dann mehr um C/C++ als um Java, denn man muss sich die Libraries ansehen, die da vom JNI Code verwendet werden.

Ob sich das bei einer 7 Jahre alten Software überhaupt rentiert, ist dann auch eine Frage, die man sich stellen sollte. Wenn es um das zurück spielen von Backups gehen sollte, dann wäre eine Überlegung, auf einem System eine alte Ubuntu Version (ggf. in 32 Bit) zu installieren.
 

Mick P. F.

Mitglied
Ich benutze den Quell-Code, sprich, ich habe es komplett neu kompiliert! Ich musste das ANT-File "build.xml" sowie die Datei "areca_run.sh" anpassen, damit ich es kompileren konnte und damit es überhaupt läuft. Das hat mich zwar sehr viel weiter gebracht, aber nur bis zu diesem Punkt.
Ja, für mich lohnt es sich, Areca zum Laufen zu kriegen, sonst würde ich nicht so viel Zeit dafür investieren. Ich möchte den Befehl "tar" nicht mehr benutzen, aber letztendlich eine tar-Datei erzeugen. Cloud-Lösungen und andere Backup-Lösungen für Linux halte ich für meinen Fall entweder für "weit über das Ziel hinausgeschossen", viel zu umständlich (siehe bacula) oder sie sind Versager (sprich Laufzeitfehler etc.).
 

KonradN

Super-Moderator
Mitarbeiter
Ok, was es sein könnte: Die libacl fehlt. Ursache kann die Reihenfolge der Argumente sein:
XML:
        <!-- Compile the JNI code -->
        <exec dir="${root}/jni" executable="gcc">
            <arg value="-c"/>
            <arg value="-fPIC"/>
            <arg value="-lacl"/>
            <arg value="com_myJava_file_metadata_posix_jni_wrapper_FileAccessWrapper.c"/>
            <arg value="-o"/>
            <arg value="com_myJava_file_metadata_posix_jni_wrapper_FileAccessWrapper.o"/>
        </exec>

Setze den -lacl Parameter mal an das Ende:
XML:
        <!-- Compile the JNI code -->
        <exec dir="${root}/jni" executable="gcc">
            <arg value="-c"/>
            <arg value="-fPIC"/>
            <arg value="com_myJava_file_metadata_posix_jni_wrapper_FileAccessWrapper.c"/>
            <arg value="-o"/>
            <arg value="com_myJava_file_metadata_posix_jni_wrapper_FileAccessWrapper.o"/>
            <arg value="-lacl"/>
        </exec>

(Evtl. auch mal vor das -o setzen. Ich bin da nicht so tief drin beim gcc.)
 

Mick P. F.

Mitglied
Hingegen bin ich in diesen Sache sehr tief drin... Entschuldige, wenn ich es etwas undiplomatisch ausdrücke!
Beim Kompileren zum Objekt vom Type "*.o" muss es überhaupt nicht angegeben werden, es ist überflüssig. Erst beim zweiten Befehl zum erzeugen der DLL ist es erforderlich. Aber auch da habe ich schon alles ausprobiert bzw. überprüft.
Die JNI-Brücke wird aufgerufen, aber der erste Aufruf der acl-Bibliothek innerhalb dieser "Brücke" bringt diesen Fehler, obwohl das Symbol "acl_get_file" in der Bibliothek vorhanden ist. Leider gibt es keine Möglichkeit, die acl-Bibliothek statisch einzubinden, da man ja eine DLL erzeugt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wie kriege ich die PID eines Progammes ? Allgemeine Java-Themen 6
R Wo kriege ich einen JIT-Compiler her? Allgemeine Java-Themen 6
thor_norsk Eclipse - Fehlermeldung - JavaFX Allgemeine Java-Themen 24
Zrebna Was bedeutet folgende Fehlermeldung...? Allgemeine Java-Themen 1
A Die unerklärliche Fehlermeldung Allgemeine Java-Themen 5
O long Fehlermeldung Allgemeine Java-Themen 8
ReinerCoder Eclipse Fehlermeldung - The constructor Double(double) is deprecated Allgemeine Java-Themen 8
F Fehlermeldung: java.lang.NoClassDefFoundError: org/apache/commons/net/ntp/NTPUDPClient Allgemeine Java-Themen 6
N Fehlermeldung beheben Allgemeine Java-Themen 6
J Fehlermeldung bei Ausführung von .jar-Datei Allgemeine Java-Themen 9
M stream.Collectors Fehlermeldung Allgemeine Java-Themen 1
R Schlüsselworte "Throw new exception" gibt nicht den String als Fehlermeldung aus Allgemeine Java-Themen 2
N Neustarten des Codes nach der Fehlermeldung Allgemeine Java-Themen 17
M Java-Programminstallation stoppt mit Fehlermeldung Allgemeine Java-Themen 1
C Fehlermeldung Allgemeine Java-Themen 1
M Java Virtual Machine Launcher (Fehlermeldung) Allgemeine Java-Themen 8
0 Code startet nicht (Keine Warnung/Fehlermeldung) Allgemeine Java-Themen 4
Shido JDK installieren Eclipse - Fehlermeldung Allgemeine Java-Themen 4
E Fehlermeldung vor dem Programm code Allgemeine Java-Themen 1
K Interpreter-Fehler Java Zahl Raten Spiel- Fehlermeldung mir unbekannt Allgemeine Java-Themen 12
C Hilfe bei einer Fehlermeldung Allgemeine Java-Themen 5
H Java Mail Fehlermeldung: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException Allgemeine Java-Themen 5
G UUencoding bring Fehlermeldung: No beginn line / Missing 'end' line Allgemeine Java-Themen 0
J Runnable jar-File: Fehlermeldung Allgemeine Java-Themen 2
0 Lösungsweg Client Server Kommunikation Fehlermeldung ausgeben Allgemeine Java-Themen 12
A Fehlermeldung "No vertex field found" Allgemeine Java-Themen 18
K Fehlermeldung mit jar-Datei Allgemeine Java-Themen 2
C Button geben Fehlermeldung aus Allgemeine Java-Themen 5
Hindi93 Fehlermeldung UnsatisfiedLinkError Allgemeine Java-Themen 8
N Hibernate und Fehlermeldung Allgemeine Java-Themen 18
I Fehlermeldung im zusammenhang mit String Allgemeine Java-Themen 5
hdi JVM kackt ab mit spezieller Fehlermeldung Allgemeine Java-Themen 8
A Jar-File startet ohne Aktion und ohne Fehlermeldung Allgemeine Java-Themen 4
Daniel_L Mac-spezifische Fehlermeldung auf nicht OS-X-Systemen Allgemeine Java-Themen 9
E Datenbank/iBatis Fehlermeldung Allgemeine Java-Themen 4
G RCP Eclipse Fehlermeldung beim export Allgemeine Java-Themen 5
J Was bedeutet diese Fehlermeldung? Allgemeine Java-Themen 4
0 case orphaned Fehlermeldung! Allgemeine Java-Themen 2
V fehlermeldung heap space, endlosschleife??? Allgemeine Java-Themen 4
T Merkwürdige Fehlermeldung Allgemeine Java-Themen 5
D jdk fehlermeldung probleme wegen der partition? Allgemeine Java-Themen 10
P JFreeChart Fehlermeldung Allgemeine Java-Themen 2
@ [Eclipse] Fehlermeldung bei import-Anweisung Allgemeine Java-Themen 3
T Unbekannte Fehlermeldung + Lösung? Allgemeine Java-Themen 4
G Fehlermeldung bei RFC Allgemeine Java-Themen 4
G Nachdem die neuste Version v. Java installiert-Fehlermeldung Allgemeine Java-Themen 22
T Fehlermeldung Allgemeine Java-Themen 4
P Fehlermeldung Allgemeine Java-Themen 15
G Split String Array bringt Fehlermeldung Allgemeine Java-Themen 7
P Fehlermeldung Allgemeine Java-Themen 8
MQue Fehlermeldung Allgemeine Java-Themen 5
P ständige Fehlermeldung im Eclipse Allgemeine Java-Themen 2
E Fehlermeldung Allgemeine Java-Themen 3
M Fehlermeldung! (Problem mit einem Prog) Allgemeine Java-Themen 5
E JExcel- Zugriff auf leere Zellen kommt eine Fehlermeldung Allgemeine Java-Themen 6
D JavaMail SMTP Fehlermeldung Allgemeine Java-Themen 2
D JavaMail Fehlermeldung Allgemeine Java-Themen 4
K log4j - Fehlermeldung Allgemeine Java-Themen 2
T Konsole "Fehlermeldung": error hereerror here Allgemeine Java-Themen 4
B Fehlermeldung von dispatcher.forward abfangen Allgemeine Java-Themen 2
A JSP include - keine Fehlermeldung Allgemeine Java-Themen 2
P Fehlermeldung "Die Klasse sun/plugin/javaRunTime kann n Allgemeine Java-Themen 3
E Java Fehlermeldung java.lang.NoClassDefFoundError Allgemeine Java-Themen 3
J Fehlermeldung Allgemeine Java-Themen 5
D Fehlermeldung in .txt speichern Allgemeine Java-Themen 2
S Fehlermeldung Allgemeine Java-Themen 2
P Fehlermeldung beim Speichern eines java files Allgemeine Java-Themen 5
S Fehlermeldung bzgl. VM -> ständiger Absturz Allgemeine Java-Themen 7
S fehlermeldung java.lang.OutOfMemoryError Allgemeine Java-Themen 5
sokobus Fehlermeldung Allgemeine Java-Themen 25
A Fehlermeldung: cannot be resolved Allgemeine Java-Themen 5
C Frage zur Fehlermeldung Allgemeine Java-Themen 3
G Fehlermeldung "cannot resolve symbol" Allgemeine Java-Themen 7
N Fehlermeldung Allgemeine Java-Themen 7
T Hilfe!!! Fehlermeldung... "unable..." Allgemeine Java-Themen 2
OnDemand Java Deployment Vaadin Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4
G java.io.listFiles() Allgemeine Java-Themen 2
N Java Dynamic Proxy Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben