|
Grek336
Anmeldungsdatum: 28. November 2007
Beiträge: Zähle...
|
Vor kurzem habe ich diesen Artikel in der Baustelle gefunden. Da in nächster Zukunft die neue Version 2.1 von Warzone2100 erscheinen wird wollte ich den Artikel nicht verkommen lassen den Deadman am 25.Januar.2008 angefangen hat. Es wird wahrscheinlich sowieso ein Debian-Paket für die neue Version geben, dennoch bin ich an der letzten beta-Versionen 4 interessiert und habe mich darum um das kompilieren dieser Version gekümmert. Schließlich ist noch nicht abzusehen wann es die endgültige Version 2.1 geben wird und schließlich wird es auch mal Beta-Versionen der Version 2.2 geben. Da das erst mein 4. Versuch ist etwas zu kompilieren
Versuch war festival für mbrola-Stimmen zu kompilieren. war last-exit mit Savesong-Patch war Vagalume mit Savesong-Patch ist Warzone2100 zu kompilieren
bin ich mir natürlich unsicher ob der von mir beschriebene Weg gut gewählt ist. Zur Zeit befindet sich die Anweisung zum kompilieren ganz unten im Artikel und sind auch nur als Arbeitsnotiz bzw. -grundlage zu verstehen. Grüße aus Berlin
|
|
noisefloor
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29567
|
Hallo, schön, dass du den Artikel zu Ende bringen möchtest. ☺ Bei deinem Kompilier-Problem kann ich dir leider nicht helfen. Wenn der Artikel so weit fertig ist, dass wir ihn kontrollieren können oder sollen bitte hier noch mal melden. Gruß, noisefloor
|
|
Grek336
(Themenstarter)
Anmeldungsdatum: 28. November 2007
Beiträge: Zähle...
|
noisefloor
Danke für die Vorschusslorbeeren. Mal sehen ob ich es schaffe. Solange mein Artikel Hadifix noch nicht aus der Baustelle verschoben wurde beschäftige ich mich eben anderweitig. Leider brauche ich aber doch jemanden mit Kenntnissen im kompilieren. Wie man am Abschnitt Installation der Version Warzone 2.1 beta4 aus den Debian-Quellen Hardy Heron 8.04 32-bit (i386) sehen kann gelingt es mir nicht ein Hardy-Paket zu bauen. Das Gutsy-Paket läßt sich hingegen problemlos bauen und läuft anscheinend bei mir auch einwandfrei. Wer es ausprobieren möchte kann es von hier http://www.megaupload.com/?d=T1OOS6RW herunterladen. Grüße aus Berlin
|
|
Dee
Anmeldungsdatum: 9. Februar 2006
Beiträge: 20095
|
Eine Installation des Paketes warzone2100_2.1.0~1.beta4-1_i386.deb ist immer noch nicht möglich. GDebi meldet weiterhin einen Error: Dependancy is not satisfiable: libpopt0, obwohl libpopt0 installiert ist.
Ja, installiert, aber in einer niedrigeren Version. Warzone erwartet libpopt0 (>= 1.14) und in Hardy ist nur 1.10-3build1. Geh also wie bei libopenal1 vor. Es kann sein, dass Du das noch für eine Menge anderer Pakete auch machen musst. (Und nicht wundern, wenn dann andere Programme nicht mehr laufen. *g*) Im übrigen ist "make install" nicht sehr sinnvoll. Lies Dir mal Programme kompilieren durch mit Verweis auf "checkinstall". Du installierst das Programm bei Gutsy an der Paketverwaltung vorbei und kannst es so nur schlecht entfernen. Gruß, Dee
|
|
Grek336
(Themenstarter)
Anmeldungsdatum: 28. November 2007
Beiträge: 408
|
Ich danke dir Dee für deine Hilfe. Zu deiner Beruhigung, alle Kompilierversuche mache ich in meinen VMs. Lediglich das Ergebnis (die drei deb-Pakete) aus dem Versuch den Debian-Sourcecode auf meiner Gutsy VM zu kompilieren (was ja gelungen ist im Gegensatz zur Hardy VM) habe ich auf meiner realen Gutsy Installation installiert. Dennoch habe ich den Wunsch für mich (und den Artikel) alle "Arbeitsabläufe" die es ermöglichen unter Gutsy und Hardy aus dem Original- und Debian-Quellcode ein installierbares, funktionsfähiges und wieder rückstandslos deinstallierbares Warzone2100 zu schaffen zu erforschen. Das mit dem checkinstall ist bestimmt ein guter Tip. Ich hatte es irgendwann mal gelesen aber wieder vergessen. Da es mir nicht gelungen ist unter Hardy aus dem Debian-Quellcode alle notwendigen Pakete zu bauen wird mir ohnehin nichts übrig bleiben als es mit dem Original-Quellcode zu probieren. Obwohl mir nicht klar ist warum es unter Gutsy geht aber unter Hardy nicht. Die Fehlermeldung beim Abbruch erscheint mir seltsam da es sich ja anscheinen nicht um einen Fehler beim kompilieren handelt. Mal sehen ob ich heute noch einen herkömmlichen autogen.sh/configure/make/checkinstall Ablauf unter Hardy hinbekomme. GDebi zeigt leider nicht an warum die Dependancy is not satisfiable (was immer das genau heiß) ist. Was für ein Programm kann man den benutzen um sich anzeigen zu lassen welche Abhängigkeiten und Empfehlungen zu anderen Paketen ein isoliertes Debian-Paket enthält. Mit Synaptic geht es anscheinen nicht (oder doch?). Mal sehen ob ich einen entsprechenden Wiki-Artikel finde (vielleicht unter dpkg). Grüße aus Berlin
|
|
AdrianB
Anmeldungsdatum: 23. August 2005
Beiträge: 6565
|
Hallo, Ich habe mal und werde noch ein paar unnötige Pakete aus der Liste raus hauen, da die Pakete nur zum Bau des Debian Paktes notwendig wären. gruß Adrian
|
|
Dee
Anmeldungsdatum: 9. Februar 2006
Beiträge: 20095
|
GDebi zeigt leider nicht an warum die Dependancy is not satisfiable (was immer das genau heiß) ist. Was für ein Programm kann man den benutzen um sich anzeigen zu lassen welche Abhängigkeiten und Empfehlungen zu anderen Paketen ein isoliertes Debian-Paket enthält.
Ich mache das per Hand. Sprich, ich öffne das Deb mit dem Archivmanager, dann die control.tar.gz öffnen, dann die Datei "control", dort findest Du alle Abhängigkeiten samt Version. Und dann überprüfst Du das mit Synaptic bzw. mit http://packages.ubuntu.com Gruß, Dee
|
|
Grek336
(Themenstarter)
Anmeldungsdatum: 28. November 2007
Beiträge: 408
|
AdrianB Danke für deine Mitarbeit. Die Liste hatte ich ohne die notwendigen Kenntnisse zu habe erweitert als ich versucht habe das Debian-Paket zu installieren bzw. aus den Debian-Quellcode ein eigenes Paket zu bauen. Nachdem ich festgestellt hatte das mir dazu das nötige Wissen fehlt habe ich sie einfach so stehen lassen und mich ganz um die Dokumentation meiner Kompilierungs- und Installationsversuche gekümmert. An Dee Danke für den Tipp ich werde ihn später bestimmt brauchen können. Nachdem es mir gelungen ist sowohl aus den Debian-Quellcode als auch aus dem Original-Quellcode (mit checkinstall. Danke an Dee) brauchbare Pakete für Gutsy zu bauen möchte ich das unter Hardy wiederholen. Dank AdrianB Unterstützung hat sich herausgestellt das das eigentliche Problem das Programm flex ist. Mit der in Hardy vorliegenden Version 2.5.34-2.1 ist es nicht möglich erfolgreich Warzone 2100 zu kompilieren. autogen.sh prüft dabei auf Version größer gleich 2.5.33 aber ungleich 2.5.34. Laut AdrianB Versuch gestern Nacht funktioniert die in Intrepid vorhanden Version 2.5.35-2ubuntu1 anscheinend einwandfrei. Das Problem ist also wie man ohne das System in einem möglicherweise inkonsistenten Zustand zu versetzen für die Kompilierung von Warzone 2100 die Versionen 2.5.33 oder 2.5.35 verwenden kann anstelle der in Hardy vorhandenen Version 2.5.34. Ich habe mal gelesen das es nicht trivial ist wenn ein bestimmtes Programm temporär eine andere Version einer Bibliothek oder eines Programms verwenden soll. Ein weiteres Problem das nicht direkt mit dem Artikel in Zusammenhang steht ist wie man auf einem 32-bit System für ein 64-bit System kompiliert. Also so etwas wie eine spezielle Form eines Crosscompiler-Vorgangs Grüße aus Berlin
|
|
Grek336
(Themenstarter)
Anmeldungsdatum: 28. November 2007
Beiträge: 408
|
Ich habe ein Problem aus dem Original-Quellcode unter Hardy 32-bit mit checkinstall ein Debain-Paket zu bauen. Unter Gutsy funktioniert die Anleitung, allerdings muss man dort auch nicht die flex-Version auswechseln um erfolgreich kompilieren zu können. Nachdem ich die "flex"-Klippe umschifft habe gibt es jetzt ein Problem mit checkinstall. checkinstall bricht den Paketbau ab, ein normales sudo make install läuft jedoch durch. Des jeweilige Ende der beiden Terminalausgaben sind im Wiki-Artikel Baustelle/Warzone2100 (Abschnitt „Ubuntu-Hardy-Heron-8.04-32-bit-i386-GNOME“) bei Punkt 17 aufgeführt. Da sudo make install durchläuft sudo checkinstall aber nicht nehme ich ein Problem mit checkinstall an. Ich weiß leider nicht wie AdrianB sein Warzone 2100 installiert hat (mit checkinstall oder make install). Angeblich hat es ja bei ihm funktioniert allerdings mit flex Version 2.5.35 und nicht wie ich es gemacht habe mit 2.5.33. Ich glaube allerdings nicht das es daran liegt. Um sicher zu gehen habe ich checkinstall auch ausgeführt nachdem ich flex von 2.5.33 auf 2.5.34 aktualisiert habe, aber der Fehler bleibt der gleiche. Letztendlich beschwert sich checkinstall darüber das es mit chmod die Zugriffsrechte auf Dateien nicht ändern kann. Woher die Dateien allerdings kommen ist mir nicht klar. Die durch install-sh installierten Dateien sind es jedenfalls nicht. Erzeugt oder verändert checkinstall während der Installation etwa Dateien bzw. Dateinamen? Grüße aus Berlin
|
|
Dee
Anmeldungsdatum: 9. Februar 2006
Beiträge: 20095
|
Letztendlich beschwert sich checkinstall darüber das es mit chmod die Zugriffsrechte auf Dateien nicht ändern kann.
Nein, nein, das ist schon okay. checkinstall spielt alles das durch, was ein "make install" auch macht, fängt es aber vorher ab. Sprich normalerweise würde "make install" eine Datei kopieren und dann die Rechte setzen, aber das chmod geht angeblich schief, weil die Datei ja eben nicht kopiert wurde, sondern checkinstall sich das nur gemerkt hat. Ist also alles super. Dein Problem ist make[2]: *** [install-nobase_dist_docDATA] Fehler 1
Ich weiß nicht, was er da macht, aber flex könnte damit zu tun hab. Bei "make install" sieht man leider nicht, was er an der Stelle genau macht. Adrian kann aber sicher mehr sagen. Gruß Dee
|
|
Grek336
(Themenstarter)
Anmeldungsdatum: 28. November 2007
Beiträge: 408
|
Ich wiederspreche dir nur ungerne Dee aber das Log des checkinstall-Laufes unter Gutsy sagt etwas anders. Hier der interessante Abschnitt Making install in doc
make[1]: Betrete Verzeichnis '/home/michael/warzone/warzone2100-2.1_beta4/doc'
make[2]: Betrete Verzeichnis '/home/michael/warzone/warzone2100-2.1_beta4/doc'
make[2]: Für das Ziel »install-exec-am« ist nichts zu tun.
test -z "/usr/local/share/doc/warzone2100" || /bin/mkdir -p "/usr/local/share/doc/warzone2100"
/bin/bash /home/michael/warzone/warzone2100-2.1_beta4/install-sh -c -m 644 'Readme.en' '/usr/local/share/doc/warzone2100/Readme.en'
/bin/bash /home/michael/warzone/warzone2100-2.1_beta4/install-sh -c -m 644 'Readme.en.xhtml' '/usr/local/share/doc/warzone2100/Readme.en.xhtml'
/bin/bash /home/michael/warzone/warzone2100-2.1_beta4/install-sh -c -m 644 'Readme.de' '/usr/local/share/doc/warzone2100/Readme.de'
/bin/bash /home/michael/warzone/warzone2100-2.1_beta4/install-sh -c -m 644 'Readme.de.xhtml' '/usr/local/share/doc/warzone2100/Readme.de.xhtml'
/bin/bash /home/michael/warzone/warzone2100-2.1_beta4/install-sh -c -m 644 'ScriptingManual.xhtml' '/usr/local/share/doc/warzone2100/ScriptingManual.xhtml'
/bin/bash /home/michael/warzone/warzone2100-2.1_beta4/install-sh -c -m 644 'styles/readme.print.css' '/usr/local/share/doc/warzone2100/styles/readme.print.css'
/bin/bash /home/michael/warzone/warzone2100-2.1_beta4/install-sh -c -m 644 'styles/readme.screen.css' '/usr/local/share/doc/warzone2100/styles/readme.screen.css'
/bin/bash /home/michael/warzone/warzone2100-2.1_beta4/install-sh -c -m 644 'styles/scriptingmanual.css' '/usr/local/share/doc/warzone2100/styles/scriptingmanual.css'
make[2]: Verlasse Verzeichnis '/home/michael/warzone/warzone2100-2.1_beta4/doc'
make[1]: Verlasse Verzeichnis '/home/michael/warzone/warzone2100-2.1_beta4/doc'
Making install in icons
make[1]: Betrete Verzeichnis '/home/michael/warzone/warzone2100-2.1_beta4/icons'
make[2]: Betrete Verzeichnis '/home/michael/warzone/warzone2100-2.1_beta4/icons'
make[2]: Für das Ziel »install-exec-am« ist nichts zu tun. wie man sieht gibt es die Fehler mit dem nicht möglichen chmod nicht. Natürlich kann flex etwas damit zu tun haben, aber ich (man sehe mir meine Unerfahrenheit nach) halte das für unwahrscheinlich.
Wenn ich flex vor dem checkinstall-Lauf entferne läuft checkinstall genauso als wenn es installiert wäre. Außerdem funktioniert sudo make install. Wenn checkinstall ein komplettes make install simuliert dürfte es keinen Unterschied geben. Mit den Debian-Quellcode funktioniert des auch problemlos bei identischem Ablauf unter gleichen Bedingungen. Der eigentliche Quellcode des Debian-Quellcodes ist identisch mit dem Original-Quellcode, lediglich das debian-Verzeichnis wird hinzugefügt. Es sieht für mich so aus als wenn checkinstall einen Bug hat der zu diesem unterschiedlichen Ergebnissen führt. Dem widerspricht allerdings mein erfolgloser Versuch mit der alten checkinstall Version aus Gutsy ein Paket zu bauen. Grüße aus Berlin Übrigens, man sollte es nicht für möglich halten, aber die mit make install installierte Version funktioniert sogar in einer VirtualBox VM. Allerdings sollte man die Frame Rate statt in fps (frames per second) in spf (seconds per frame) messen. 😉 AdrianB hat sich gemeldet. Er hat seine Version auch mit make install installiert weil checkinstall bei ihm auch nicht funktioniert hat. Trotz flex-intrepid-Version 2.5.35. Es muss doch ein Fehler in checkinstall vorliegen. Wenn ich sudo checkinstall --fstrans=no ausführe läuft checkinstall durch und baut das Paket. Da muß irgend ein Fehler im filesystem translation code sein. Sollte man diesen Bug melden?
|
|
Dee
Anmeldungsdatum: 9. Februar 2006
Beiträge: 20095
|
wie man sieht gibt es die Fehler mit dem nicht möglichen chmod nicht.
Und ich wette mit Dir, dass Du vor diesem checkinstall mindestens einmal make install hast durchlaufen lassen oder hast anderweitig das Programm installiert. ☺
Da muß irgend ein Fehler im filesystem translation code sein. Sollte man diesen Bug melden?
Ja, ist die Frage bei wem. Ich denke, dass die Warzone-Dateien nicht ganz checkinstall/Paket-konform sind. Aber kannst es ja mal melden. Gruß, Dee
|
|
Grek336
(Themenstarter)
Anmeldungsdatum: 28. November 2007
Beiträge: 408
|
Nachdem mir mgolisch in irc://irc.freenode.net/ubuntu-de dabei geholfen hat herauszufinden wie ich am besten eine Terminalsitzung aufzeichnet (script), habe ich jeweils die Sitzung zum erstellen eines Debian-Paketes aus dem Original-Quellcode mithilfe von checkinstall aufgezeichnet. Jeweils unter Hardy und Gutsy. Einige Dinge sind nicht enthalten da ich sie über grafische Programme gemacht habe. Das sind das freischalten und deaktivieren von Paketquellen ("Software-Quellen"), das Entpacken von Archiven ("Nautilus") sowie die Installation und das entfernen von Paketen ("GDebi" bzw. "Synaptic"). Dabei habe ich mich an meine Anleitungen im Artikel Ubuntu Hardy Heron 8.04 32-bit (i386) (GNOME) bzw. Ubuntu Hardy Heron 8.04 32-bit (i386) (GNOME) gehalten. Abweichend davon habe ich bei der Hardy-Variante erst nur sudo checkinstall und dann sudo checkinstall --fstrans=no verwendet. Bei der Gutsy-Variante habe ich nachträglich noch einmal ein sudo checkinstall --fstran=no durchgeführt, dieser Durchlauf ist aber wahrscheinlich nicht sehr aussagekräftig. Wie man bei der Gutsy-Variante sieht wurde kein make install vorher durchgeführt und der checkinstall-Lauf wird mit einem Fehler abgebrochen. Erst der checkinstall-Lauf mit der Option "--fstrans=no" ist erfolgreich. Auf die Idee mit "--fstans=no" bin ich durch diesen Bug-Report auf launchpad gekommen DEFECT in checkinstall: abort due to missing file or directory. Es ist natürlich möglich das des Paket nicht checkinstall-konform ist (das werde ich kaum überprüfen können), aber ich neige mehr dem Bug-Report zu, das ein Fehler in checkinstall vorliegt. Gestern spät Abends hat sich sebner im irc://irc.freenode.net/ubuntu-de dahingehen geäußert das er einige Warzone 2100 Paket bauen und sie in seinen PPA veröffentlichen wollte. Wobei ich allerdings nicht weiß wo ich sie dann finden würde. Da es mir gelungen ist sowohl aus den Original-Quellcode als auch aus dem Debian-Quellcode funktionsfähige Pakete unter Gutsy und Hardy (32-bit) zu bauen, bleibt nur noch das ganze für 64-bit zu wiederholen. Darum noch einmal meine Frage: Gibt es eine andere Möglichkeit als eine 64-Bit-Live-CD/DVD oder eine 64-bit Installation zu verwenden um ein 64-bit Paket zu bauen. Ein 64-bit Ubuntu läßt sich ja leider nicht auf einer VM installieren die im 32-bit Modus läuft (soweit ich weiß). Grüße aus Berlin PS: Im Anhang die beiden Terminalsitzungen.
- Warzone2100 Build Logs.zip (112.2 KiB)
- Download Warzone2100 Build Logs.zip
|
|
unbekannt1984
Anmeldungsdatum: 29. Oktober 2007
Beiträge: Zähle...
|
Schade, das dieser Artikel schon zum 2ten mal nicht weitergeführt wird. Ich würde die Teile über das Kompilieren und die Installation aus den Debian-Quellen rauswerfen und den Artikel dann veröffentlichen. Torsten
|
|
march
Anmeldungsdatum: 12. Juni 2005
Beiträge: 17368
|
Ich würde die Teile über das Kompilieren und die Installation aus den Debian-Quellen rauswerfen und den Artikel dann veröffentlichen.
Möchtest du übernehmen?
|