|
anno
Anmeldungsdatum: Dez. 10, 2006
Beiträge: 422
|

13. Januar 2012 18:19
Hallo zusammen, ich versuche mir gerade ein Paket von https://sourceforge.net/projects/quazip/ zu bauen. Dabei habe ich die Anleitungen Grundlagen der Paketerstellung und pBuilder verwendet. Dabei lief der Befehl | dpkg-buildpackage -S -rfakeroot
|
komplett durch (siehe dpkg). Nur beim pBuilder um das endgültige Paket zu bauen, gab es eine Fehlermeldung, dass qmake nicht installiert wäre. Dieses Paket und die Qt Entwicklungspakete sind aber korrekt installiert, da ich die Quellen zuvor testweise schon einmal kompiliert habe und das auch funktioniert hat. Kommando das ich für den pBuilder ausgeführt habe:
| sudo pbuilder build *.dsc
|
Fehler von pBuilder: pBuilder
|
|
Lasall
Supporter & Wikiteam
Anmeldungsdatum: März 30, 2010
Beiträge: 7388
Wohnort: ~/Desktop
|

13. Januar 2012 18:34
Hi anno, pbuilder nutzt eine chroot-Umgebung, also spielt es keine Rolle, welche Pakete lokal bei dir installiert sind. Für einen erfolgreichen Paketbau, gebe die entsprechend als fehlend markierten Programme/Pakete als Build-Depends an. Gruss
Lasall
|
|
anno
(Themenstarter)
Anmeldungsdatum: Dez. 10, 2006
Beiträge: 422
|

13. Januar 2012 19:41
ok danke für den tipp. zumindest läuft es jetzt fast durch. Soweit werden alle files compiliert, nur am schluss scheint es dass die statische lib nicht gefunden werden kann, nehme ich an. Hier die Meldung: quazip Was muss ich denn hier anpassen, damit nur dynamische libs erstellt bzw. kontrolliert werden sollen.
|
|
Lasall
Supporter & Wikiteam
Anmeldungsdatum: März 30, 2010
Beiträge: 7388
Wohnort: ~/Desktop
|

14. Januar 2012 05:28
Hi anno, bei mir laeuft das ohne Probleme. Zeige bitte erstmal deine rules-Datei. Gruss
Lasall
|
|
anno
(Themenstarter)
Anmeldungsdatum: Dez. 10, 2006
Beiträge: 422
|

14. Januar 2012 12:01
Rules Datei: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | #!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
DEB_CONFIGURE_EXTRA_FLAGS += --disable-static
%:
dh $@
|
|
|
Lasall
Supporter & Wikiteam
Anmeldungsdatum: März 30, 2010
Beiträge: 7388
Wohnort: ~/Desktop
|

14. Januar 2012 13:57
Hi anno, falls du beim Paketieren mit den debhelper-Skripten Konfigurationsparameter uebergeben willst, nutze das so:
| #!/usr/bin/make -f
%:
dh $@
override_dh_auto_configure:
dh_auto_configure -- --OPTION
|
Allerdings wird deine spezielle Option nicht vom Makefile unterstuetzt. Warum das bei dir nicht baut kann ich leider noch nicht sagen. Uebergebe mal die Umgebungsvariable "DH_VERBOSE=1" (einfach in der rules einkommentieren) und zeige dann das Buildlog. Gruss
Lasall
|
|
anno
(Themenstarter)
Anmeldungsdatum: Dez. 10, 2006
Beiträge: 422
|

14. Januar 2012 14:02
Das hat den Grund, da man im Makefile die statische lib mit
make staticlib erstellen muss. Die default-Einstellung ist allerdings die dynamsiche lib. Hier mal meine aktuelle Einstellungen mit verbose: |
export DH_VERBOSE=1
%:
dh $@
override_dh_auto_configure:
dh_auto_configure -- --enable-static=no
|
Es tritt allerdings immer noch ein Fehler auf, da die Deaktivierung der static lib nicht funktioniert hat. dpkg-buildpackage pbuilder Update:
Soll ich eventuell mal das Projekt hochladen?
|
|
Lasall
Supporter & Wikiteam
Anmeldungsdatum: März 30, 2010
Beiträge: 7388
Wohnort: ~/Desktop
|

21. Januar 2012 23:56
Hi anno, sry, ich habe das Thema irgendwie uebersehen . Wie in der Fehlermeldung beschrieben existiert die Option so nicht. Ich haenge dein neu erstelltes, aber inhaltlich damit zusammenhaengendes Thema mal hier an. Gruss
Lasall
|
|
anno
(Themenstarter)
Anmeldungsdatum: Dez. 10, 2006
Beiträge: 422
|

21. Januar 2012 23:27
Hallo zusammen, ich habe hier 2 Beispiele. Das QuaZip Projekt, für das ich kein Deb-paket bauen kann. Am ende des Vorgangs bekomme ich immer die Meldung, dass die statische Lib (*.a File) nicht gefunden werden kann. Beim 2. Beispiel, dem QJSon Projekt funktioniert es hingegen. Kann mir da jemand helfen, wieso das eine Paket gebaut werden kann, das andere aber nicht? denn ich sehe hier vom Ablauf keinen großen Unterschied in den CMakeLists Files.
Moderiert von Lasall: Hier angehaengt.
- quazip_0.43.orig.tar.gz (0.3 KiB)
- quazip_0.43.orig.tar.gz herunterladen
- qjson.tar.gz (0.0 KiB)
- qjson.tar.gz herunterladen
|
|
Lasall
Supporter & Wikiteam
Anmeldungsdatum: März 30, 2010
Beiträge: 7388
Wohnort: ~/Desktop
|

22. Januar 2012 00:00
Hi anno, kannst du mal ein Buildlog mit der Fehlermeldung zeigen? Gruss
Lasall
|
|
anno
(Themenstarter)
Anmeldungsdatum: Dez. 10, 2006
Beiträge: 422
|

22. Januar 2012 00:15
Hi Lasall, hier ist der Log: log
|
|
anno
(Themenstarter)
Anmeldungsdatum: Dez. 10, 2006
Beiträge: 422
|

22. Januar 2012 01:15
So, ich habe jetzt mal die quazip-dev.install Datei angepasst.
Wenn ich alerdings nur das Release-Package bauen lasse (eingestellt im control file), funktioniert es. Denn die Fehlermeldung hat hier etwas mit diesen Files zu tun: control und quazip-dev.install: usr/include/*
usr/lib/libquazip.so
usr/lib/pkgconfig/*
usr/share/cmake-*/Modules/FindQuaZip.cmake Allerdings bekomme ich nun einen anderen Fehler: make[2]: Leaving directory `/tmp/buildd/quazip-0.43/obj-i686-linux-gnu'
Install the project...
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: ""
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/share/cmake-2.8/Modules/FindQuaZip.cmake
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/unzip.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/quazipnewinfo.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/quazip_global.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/quazip.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/ioapi.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/quazipfileinfo.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/quazipfile.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/zip.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/quacrc32.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/JlCompress.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/crypt.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/quaadler32.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/include/quazip/quachecksum32.h
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/lib/libquazip.so.1
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/lib/libquazip.so.1.0.0
-- Installing: /tmp/buildd/quazip-0.43/debian/tmp/usr/lib/libquazip.so
make[1]: Leaving directory `/tmp/buildd/quazip-0.43/obj-i686-linux-gnu'
dh_install
dh_install: quazip-dev missing files (usr/lib/pkgconfig/*), aborting
make: *** [binary] Error 2
- quazip_0.43-1.debian.tar.gz (0.0 KiB)
- quazip_0.43-1.debian.tar.gz herunterladen
|
|
anno
(Themenstarter)
Anmeldungsdatum: Dez. 10, 2006
Beiträge: 422
|

22. Januar 2012 01:55
Ok, die Erstellung der Pakete funktioniert soweit, nachdem ich einige Fehler behoben habe. Allerdings stellt sich mir jetzt eine andere "neue" Frage: Ich habe mir jetzt ja ein Paket (QuaZip) erstellt, das es nicht in den Repositories gibt. Wenn ich nun in einem neuen Projekt aber die Abhängigkeit zu diesem QUaZip Paket für die Installation voraussetze, was muss ich dann anstellen, um im neuen Projekt QuaZip mit in den Build Prozess aufnehmen zu können??
|
|
Lasall
Supporter & Wikiteam
Anmeldungsdatum: März 30, 2010
Beiträge: 7388
Wohnort: ~/Desktop
|

22. Januar 2012 13:37
Hi anno, du schriebst: Ok, die Erstellung der Pakete funktioniert soweit, nachdem ich einige Fehler behoben habe.
Sehr schoen .
Wenn ich nun in einem neuen Projekt aber die Abhängigkeit zu diesem QUaZip Paket für die Installation voraussetze, was muss ich dann anstellen, um im neuen Projekt QuaZip mit in den Build Prozess aufnehmen zu können??
Sprichst du von dem Launchpad-Buildsystem oder von einem lokalen mit pBuilder? Ist letzteres der Fall kannst du dich z.B. in die chroot-Umgebung einloggen und das Paket manuell herueberschieben und installieren. Viel einfach jedoch ist das Anlegen einer lokalen Paketquelle. Den Pfad dazu als "BINDMOUNTS" in der 'pbuilderrc einstellen und anschliessend die Quelle mit "OTHERMIRROR" festlegen. Siehe auch hier fuer ein Beispiel. Gruss
Lasall
Bearbeitet von Lasall: Linkfix.
|
|
anno
(Themenstarter)
Anmeldungsdatum: Dez. 10, 2006
Beiträge: 422
|

22. Januar 2012 14:05
ok thx für die info. werde ich demnächst mal ausprobieren.
|