Hi,
ich wollte mich gerade mal daran versuchen, ein Paket als Quellcode zu laden, es zu ändern und anschließend zu kompilieren und zu debuggen.
Aktueller Stand:
-Paket geholt und entpackt
-build-dependencies installiert
-kleinere Änderungen gemacht
Was ich nun möchte:
-das Ganze kompilieren
-Step-By-Step-Debugging (kann ich es evtl. sogar mit Eclipse-CDT ?)
-es soll sich erstmal alles nur als Duplikat im Home-Verzeichnis abspielen, also NICHT die bereits reguläre Version des Programms auf meinem System ersetzt werden
Achso, und hier mal der Paketname:
es handelt sich um Brasero...
Programm aus Source-Package kompilieren / debuggen
-
- Beiträge: 138
- Registriert: 31.03.2011 12:51:42
Programm aus Source-Package kompilieren / debuggen
Debian 7 Wheezy mit Gnome 3 auf Xeon 1230V2, Asus P8H77, 16 GB DDR3, 120 GB Samsung 830 SSD, Gigabyte GTX 660
Re: Programm aus Source-Package kompilieren / debuggen
Der Eintrag im Debian-Wiki [1] beschreibt deinen Anwendungsfall eigentlich ganz gut. Allerdings steht da nicht, wie innerhalb des Pakets gebaute Bibliotheken verwendet werden (per $LD_LIBRARY_PATH).
In 37565 findest du ein Transkript von meinem Versuch, der letztendlich wegen irgendwelcher glib-internen Scheisse fehlschlaegt. Vor dem Bauen nehme ich eine beispielhafte Aenderung mittelsvor; du wirst da sicher etwas sinnvolleres dran editieren koennen. Die Optionen bzw. Umgebungsvariablenverhindern, dass Debugging-Informationen gestript werden (und noopt deaktiviert Optimierungen, die den Vergleich zwischen Quell- und Binaercode verkomplizieren wuerden).
Nach der Meldungversuche ich, die vermissten dynamisch gelinkten Bibliotheken zu finden, welche sich offensichtlich unter debian/tmp/usr/lib/ befinden. Daher starte ich das Programm nun mit der Umgebungsvariable-- woraufhin es startet, um anschliessend haengenzubleiben... der letzte Befehl zeigt beispielhaft, wie man im Debugger gdb im Code herumsteppen koennte.
Gruss Cae
[1] https://wiki.debian.org/BuildingTutorial
In 37565 findest du ein Transkript von meinem Versuch, der letztendlich wegen irgendwelcher glib-internen Scheisse fehlschlaegt. Vor dem Bauen nehme ich eine beispielhafte Aenderung mittels
Code: Alles auswählen
sed -i '/PACKAGE_STRING/s/"$/ with unicorn powers&/' config.h
Code: Alles auswählen
DEB_BUILD_OPTIONS=nostrip,noopt
Nach der Meldung
Code: Alles auswählen
debian/tmp/usr/bin/brasero: error while loading shared libraries: libbrasero-media3.so.1: cannot open shared object file: No such file or directory
Code: Alles auswählen
LD_LIBRARY_PATH=debian/tmp/usr/lib/:$LD_LIBRARY_PATH
Gruss Cae
[1] https://wiki.debian.org/BuildingTutorial
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier