SuperTuxKart 0.6.2 für NetBSD

xeno74

Well-Known Member
Hallo Leute,

mein NetBSD läuft und alle Pakete von denen STK abhängig ist (Header, Libs) sind schon installiert :) Das Configure läuft auch schon durch. Damit das Configure durchläuft, musste ich die Variablen LDFLAGS und CXXFLAGS setzen:

Code:
export LDFLAGS="-L/usr/pkg/lib"

Code:
export CXXFLAGS="-I/usr/pkg/include"

Leider gibt es ein Problem beim Kompilieren:

Code:
BulletDynamics/ConstraintSolver/btSorLcp.cpp:42:20: error: alloca.h: No such file or directory.

Die Header-Datei alloca.h fehlt. Welches Paket muß ich nachinstallieren? Oder gibt es ne andere Lösung?
 
OK, ich habe schon ne kleine Lösung. Ich habe folgende Ersetzung durchgeführt:

Code:
#if defined (__FreeBSD__)
#include <stdlib.h>
#else
#include <alloca.h>

durch

Code:
#if defined (__NetBSD__)
#include <stdlib.h>
#else
#include <alloca.h>

Damit der Precompiler die stdlib.h einsetzt ;)

Und, es hat funktioniert :)
 
Kompilierung war erfolgreich :)

Code:
export LD_LIBRARY_PATH=/usr/pkg/lib

./supertuxkart -> Juuuhuuuu!!!! Es funktioniert :) :)
 
Xeno, hast du es aug NetBSD getestet? Welche 3D Karte hast du benutzt?
Ich wollte eigentlich wieder mal NetBSD probieren wenn die nächste Version erscheint. Das nächste mal werd ich mal Supertuxkart ausprobieren
 
Code:
#if defined (__FreeBSD__)

durch

Code:
#if defined (__NetBSD__)

besser wäre:

Code:
#if defined (__FreeBSD__) || defined (__NetBSD__)

Sprich: Ergänzen, nicht für andere Betriebssysteme kaputt machen ;)

Den Patch kannst du dann auch an die Entwickler weiterleiten.
 
besser wäre:

Code:
#if defined (__FreeBSD__) || defined (__NetBSD__)

Sprich: Ergänzen, nicht für andere Betriebssysteme kaputt machen ;)

Den Patch kannst du dann auch an die Entwickler weiterleiten.

Vielen Dank für den Hinweis :)

Ich habe ein statisches SuperTuxKart-Paket für NetBSD 5.0.2 erstellt:

supertuxkart-0.6.2a-netbsd-5.0.2-i386.tar.bz2

Mit ./run_game.sh könnt Ihr STK starten.

Bitte testet das Paket, damit ich weiss, ob noch Bibliotheken fehlen.

Wenn alles funktioniert, dann poste ich auf der Ports-Liste von NetBSD, damit jemand es in die Ports-Sammlung integrieren kann.

2. Screenshot von STK unter NetBSD:

supertuxkart-screenshot-netbsd.png


Viel Spass beim Testen,

--Xeno
 
Leider ist STK 0.6.2a noch nicht richtig in der NetBSD-Community angekommen. Kennt einer von euch, jemanden aus dem NetBSD-Ports-Team, den ich anschreiben könnte? Ich würde gerne den Port genauso wie unter FreeBSD an das Ports-Team abgeben.
 
Zuletzt bearbeitet:
Oh, das war eine schlechte Idee. Ports sind bei NetBSD Portierungen auf andere Plattformen. Dort findest du Leute die Interesse daran haben NetBSD auf Toastern zu betreiben, keine Leute die sich vorrangig um Pakete kümmern.
 
Oh, das war eine schlechte Idee. Ports sind bei NetBSD Portierungen auf andere Plattformen. Dort findest du Leute die Interesse daran haben NetBSD auf Toastern zu betreiben, keine Leute die sich vorrangig um Pakete kümmern.

Oh Mist, ich habe nur die Überschriften gelesen. Das passiert, wenn man etwas auf die schnelle machen möchte.

Edit: Jetzt ist es auf der richtigen Mailingliste -> pkgsrc-users
Edit2: Entschuldigung ist auch raus.

Ich hoffe, dass ich alles richtig gemacht habe.
 
Zuletzt bearbeitet:
Ich vermute mal das wird tolerant gehandhabt. Immerhin hast du Interesse daran gezeigt, dass eure Software auf NetBSD läuft.

Ich bin sicher, das stößt allgemein auf Zustimmung.
 
Nur mal aus Interesse: Gibt es was, was einem OpenBSD-Port im Weg stünde? Wenn nein, was müßte man beachten, wenn man Interesse hätte, das selbst zu portieren? So einfach ist das ja sicherlich nicht.
 
xeno74,
wäre es nicht interessant das Paket in pkgsrc-wip zu stellen? Dann könntest du es zum Einen immer updaten und zum Anderen auch weitere, vielleicht instabile Versionen zum Testen verbreiten. Wenn das Paket fertig ist bittest du um Reviews und dann landet es im main pkgsrc.

http://pkgsrc-wip.sourceforge.net/

Wie du ein Paket machst steht hier:
http://www.netbsd.org/docs/pkgsrc/developers-guide.html

Ist aber halb so wild. Im Fall von STK wäre das wohl ein 'url2pkg <link-zur-tar.bz2>', eine Liste von Abhängigkeiten und Anweisungen wohin damit. Dann vielleicht noch Kleinigkeiten, dass es ein i386-netbsd-Paket ist und solche Dinge

Sind alle ganz freundlich dort, weil es ja für Neulinge da ist.
 
Nur mal aus Interesse: Gibt es was, was einem OpenBSD-Port im Weg stünde?
Nein, überhaupt nicht.

Wenn nein, was müßte man beachten, wenn man Interesse hätte, das selbst zu portieren? So einfach ist das ja sicherlich nicht.

Es ist nicht schwer zu portieren. Schaue mal in den Portierungsthread der NetBSD-Version bei Games4Mac: Link

Und schaue dir diesen Thread an :)

Du mußt folgende Abhängigkeiten auflösen:

libglut
libGL
libSDL
libopenal
libGLU
libplib
libogg
libvorbis
libvorbisfile

Das heißt, dass du über die Ports-Sammlung die Pakete installieren mußt, die diese o.g. Bibliotheken enthalten.

Wir arbeiten zur Zeit sehr intensiv an der Version 0.7 und an der 0.6.2a für AmigaOS. Das heißt, dass wir leider keine Zeit haben den OpenBSD-Port zu machen. Wir würden uns aber sehr freuen, wenn jemand den Port machen könnte.

Viele Grüße,

Christian
 
xeno74,
wäre es nicht interessant das Paket in pkgsrc-wip zu stellen? Dann könntest du es zum Einen immer updaten und zum Anderen auch weitere, vielleicht instabile Versionen zum Testen verbreiten. Wenn das Paket fertig ist bittest du um Reviews und dann landet es im main pkgsrc.

http://pkgsrc-wip.sourceforge.net/

Wie du ein Paket machst steht hier:
http://www.netbsd.org/docs/pkgsrc/developers-guide.html

Ist aber halb so wild. Im Fall von STK wäre das wohl ein 'url2pkg <link-zur-tar.bz2>', eine Liste von Abhängigkeiten und Anweisungen wohin damit.

Sind alle ganz freundlich dort, weil es ja für Neulinge da ist.

Danke für den Tipp :) Ich wollte eigentlich nur den 1. Port machen und dann den Port an das Ports-Team übergeben. Im FreeBSD-Bereich hat das wunderbar funktioniert. Vier Leute vom Ports-Team arbeiten an STK für FreeBSD und ich bin raus und kann mich mehr um andere Plattformen kümmern (Zur Zeit AmigaOS und MorphOS). Könntest du den Port dort einstellen? Das wäre echt super :)
 
Das war ja wirklich ein Spaziergang. Mail an ports@ ist gerade raus. :)

Bei den alloc.h/stlib.h-#ifdefs wäre es meiner Meinung nach am besten, einfach ein allgemeines #define für *BSD zu integrieren. Das war aber auch die einzige Stelle, an der ich den Quellcode patchen mußte, also: Hut ab!
 
Das war ja wirklich ein Spaziergang. Mail an ports@ ist gerade raus. :)

Bei den alloc.h/stlib.h-#ifdefs wäre es meiner Meinung nach am besten, einfach ein allgemeines #define für *BSD zu integrieren. Das war aber auch die einzige Stelle, an der ich den Quellcode patchen mußte, also: Hut ab!

Erstmal herzlichen Glückwunsch zu deinem STK-Port und vielen Dank für deine Arbeit :)

Wir könnten bis das Paket in den Ports landet, ein seperates Paket anbieten. Lade einfach das Paket für NetBSD runter und ersetze das STK-Binary und die Bibliotheken. Dann lade einfach das Paket auf einem Freehoster. Dann könnten wir schon jetzt testen :) Ich freue mich schon darauf, mit Puffy unter OpenBSD zu fahren :)

Edit: Könntest du einen Screenshot von STK unter OpenBSD posten? Am besten noch mit den Kommandos file supertuxkart und uname -a im Hintergrund.

Danke nochmal,

Christian
 
Ach, warum denn so kompliziert? OpenBSD erzeugt doch selbst sowieso schon ein Paket. Ich lade hier einfach mal den Port hoch, den ich auch an die Mailingliste geschickt habe (.zip-Endung einfach entfernen, die Forensoftware mag eben kein .tgz). Paket folgt, sobald ich einen geeigneten Hoster gefunden habe (ist ca. 100MB groß).

Screenshot ist zwar nicht besonders schön (habe »in voller Fahrt« keinen hinbekommen, ohne wo dagegen zu fahren), aber zumindest ein »Beweis«.
 

Anhänge

  • supertuxkart.tgz.zip
    6,8 KB · Aufrufe: 334
  • supertuxkart_openbsd_2.png
    supertuxkart_openbsd_2.png
    191,2 KB · Aufrufe: 397
Ach, warum denn so kompliziert? OpenBSD erzeugt doch selbst sowieso schon ein Paket. Ich lade hier einfach mal den Port hoch, den ich auch an die Mailingliste geschickt habe (.zip-Endung einfach entfernen, die Forensoftware mag eben kein .tgz). Paket folgt, sobald ich einen geeigneten Hoster gefunden habe (ist ca. 100MB groß).

Screenshot ist zwar nicht besonders schön (habe »in voller Fahrt« keinen hinbekommen, ohne wo dagegen zu fahren), aber zumindest ein »Beweis«.

Vielen Dank :) Wenn du einen Freehoster gefunden hast, dann lade ich das Paket dort runter und hoste es dann auf supertuxkart.de und auf supertuxkart.sourceforge.net. Achja, ne blöde Frage :confused: Reicht das .tgz? Das Paketsystem zieht sich dann die Abhängigkeiten? Also muß der User nur dass Datenpaket laden? OK, ich überlasse dir die Entscheidung :) Soll ein statisches Paket (Binary+Bibliotheken+Daten) auf SourceForge gehostet werden oder nur das tgz?

Christian
 
Ja, das reicht vollkommen. Das Ports-System ist ja gerade dazu da, das Erstellen von Paketen zu erleichtern, die dann einfach über pkg_add installiert werden können. Da gehört auch das Auflösen von Abhängigkeiten dazu. Es gibt in jedem Paket ein plist-File, das das Paketsystem über die Abhängigkeiten informiert (und das wird aus WANTLIB= und LIB_DEPENDS= im Makefile des Ports übernommen).

So, ein 32bit-Paket baut gerade unter VirtualBox. Das Suchen nach einem vernünftigen Sharehoster ist heutzutage echt keine angenehme Angelegenheit mehr … Seufz – zur Not mache ich halt ’nen Torrent mit beiden Paketen, wenn sie fertig sind.
 
Ja, das reicht vollkommen. Das Ports-System ist ja gerade dazu da, das Erstellen von Paketen zu erleichtern, die dann einfach über pkg_add installiert werden können. Da gehört auch das Auflösen von Abhängigkeiten dazu. Es gibt in jedem Paket ein plist-File, das das Paketsystem über die Abhängigkeiten informiert (und das wird aus WANTLIB= und LIB_DEPENDS= im Makefile des Ports übernommen).

So, ein 32bit-Paket baut gerade unter VirtualBox. Das Suchen nach einem vernünftigen Sharehoster ist heutzutage echt keine angenehme Angelegenheit mehr … Seufz – zur Not mache ich halt ’nen Torrent mit beiden Paketen, wenn sie fertig sind.

Danke für deine Mühe :) Wie ich schon geschrieben habe, lade ich dann dein Paket auf SourceForge und auf supertuxkart.de.
 
Zurück
Oben