Hi,
so, weiter geht\'s mit meinen Debian-Forschungen. Wie kann ich raus finden, welche Datei zu welcher Bibliothek beghört? Beispiel: qconf.o - wo drin ist die/was muss ich installieren?
Linux 15.070 Themen, 107.540 Beiträge
Ich weiß nicht was du für eine Vorstellung von einer Bibliothek hast, Bibliotheken sind Funktionssammlungen. Diese Funktionen kann der Programmierer mitbenutzen. Dazu muß er die entsprechende Headerdatei in das Programm einbinden z.B. #include math.h (ich lasse die Pfeile weg, weil das bei nickles nicht richtig dargestellt wird) und die Option -l dem gcc mit dem Namen der Bibliothek übergeben. In der Bibliothek /lib/libm.so.6 sind mathematische Funktionen implementiert. Um sie in einem Programm nutzen zu können muß die Option -lm heißen.
In den /lib-Verzeichnissen sind Bibliotheken abgespeichert. Ich habe da auch meine Probleme und weiß nicht welche Funktionen in den Bibliotheken implementiert sind.
Um herauszufinden ,welche Bibliotheken ein dynamisch gelinktes Programm braucht, kannst du den Befehl "ldd Programm" benutzen. Auf der linken Seite der Ausgabe dieses Befehls stehen die entsprechenden Bibliotheken und auf der rechten Seite sind die Verzeichnisse aufgelistet , welche die installierten Bibliotheken enthalten (oder auch nicht wenn sie fehlen).
Normalerweiße erkennen die Installationsmanager (apt bei Debian) , welche Bibliotheken ein Programm braucht. Nur wenn man ein fremdes Programm unter /usr/local installieren will, muß man sich selbst kundig machen.
Oder was meinst du ?
Hmm ... dann meine ich wohl mit Bibliotheken etwas anders.
Ich möchte xconfig ausführen, doch er vermisst die Datei qconf.o (wovon ich dachte, dass es sowas wie eine Bibliothek ist). Nun möchte ich herrausfinden, wo diese Datei herkommt bzw. welches Paket ich installieren muss, wo diese Datei bei ist.
Bibliotheken werden immer mit libname.so oder so ähnlich bezeichnet.
Du kannst ja mal X starten und mit dem Programm synaptic eine Anfrage an die Paketdatenbank starten. Du kannst im Namen und/oder Beschreibung suchen lassen.
kompilierte Objectdateien werden immer mit .o - Suffix bezeichnet.
Ein großes Programm besteht aus mehreren Teilen (Module). Diese Module werden getrennt kompiliert und dann vom Linker zusammengefügt (gelinkt) zu einer großen ausführbaren Datei. Aber ich weiß nicht was qconf.o für eine Datei sein soll.
PS.: Versuchst du irgendein Programm oder eventuell Gnome, KDE selbst zu kompilieren? Dann mußt du eventell eine bestimmte Reihenfolge beachten, weil die Pakte voneinander abhängig sind. Das soll bei KDE oder Gnome gar nicht so einfach sein.
Falls du "make xconfig" von 2.6-er Kernel machen willst, brauchst du noch die qt3-dev (libqt3-dev ODER libqt3-mt-dev mindestens) packages. Kann man alles mit apt-get holen. die qconf.o wird beim ausführen von make xconfig erst erstellt und dazu brauch er die qt3-header welche in den dev-Paketen drin sind.
Gruß, FrogPR
