Superuser

Autor Thema: ...ich habe mich bemüht (Tardist Howto)  (Gelesen 5640 mal)

SmellyCat

  • Gast
...ich habe mich bemüht (Tardist Howto)
« am: 08. November 2003, 03:16:14 »
Abend/morgen,

ich habe vor längerem versprochen eine kleine Anleitung zu schreiben über das Thema "wie baut man ein Tardist", das habe ich nun getan:

http://smellycat.net/tardist/

Es ist nur grob und noch etwas unpraktisch - an einer einfacheren Lösung, vor allem im Bezug auf "Files sammeln" arbeite ich noch. Ich muss mir dazu aber das Shell Pondon des swpkg's genauer ansehen und ein paar Manfiles wälzen, sprich es wird sich noch etwas ziehen.

Was diese Beschreibung allerdings bietet ist einen Einblick wie es funktioniert und den Beweis dass es nicht all zu aufwendig und kompliziert ist.

Seit nachsichtig mit Fehlern die ich noch drinnen habe, obwohl ich eigentlich alles selber neben dem Schreiben exakt in den angegeben Schritten nachvollzog ist bestimmt noch die eine oder andere Unstimmigkeit drinnen, von Rechtschreibfehlern und verkorksten Satzbau ganz zu schweigen ;)

So, viel Spass damit, wenn es Fragen gibt oder gar jemand eine weiterführende Beschreibung basteln will, immer her damit.

Nacht
Mats

PS: Bitte keinen Flamewar im Bezug auf "was ist böser - $LD_LIBRARY_PATH, LDFLAGS oder crle", danke ;)

mood-indigo.org - Das unabhängige Silicon Graphics User Forum

...ich habe mich bemüht (Tardist Howto)
« am: 08. November 2003, 03:16:14 »

Jasper

  • Gast
Re: ...ich habe mich bemüht (Tardist Howto)
« Antwort #1 am: 08. November 2003, 15:27:14 »
Hallo Smelly,

danke, das sieht doch super aus! Beim kurzen Überfliegen sind mir noch ein paar kleine Sachen/Tips aufgefallen (keine Showstopper...):
- Die meisten neueren autoconf-Style Programme unterstützen die Angabe eines DESTDIR beim installieren, d.h. also

configure --prefix=<da wo's nachher wirklich hin soll> && gmake && gmake DESTDIR="whatsoever" install.

Manche Programme mögen die --prefix-Methode nicht und finden ihre Einzelteile sonst nicht. Ist ausserdem sauberer, da man dann auch "--sysconfdir" und Konsorten besser setzen kann. Wie teste ich, ob das geht:

a) grep DESTDIR Makefile*
b) erstmal gmake DESTDIR="whatsoever" -n install (um zu sehen, wohin das Zeug wandert.)

- Meiner Erfahrung nach ist es sehr oft nötig, beim Compilieren auch die LDFLAGS passend zu setzen, d.h. z.B.

export LDFLAGS="-L/usr/freeware/lib32"

sonst bekommt man garantiert Beschwerden über "expecting n32 objects" oder so. Zumindest beim gcc dürfte man sonst kaum ein Programm durch bekommen. Andere Erfahrungen vorhanden? Immer her damit (spart mir auch viel extra Gepfriemel!) Wann braucht man denn lib und wann lib32????
- Beim Linken gibt es bei mir dauernd Warnings des ld32 über "Preempting symbols" und "Giving up after 50 warnings". Gebaut wird offensichtlich trotzdem korrekt (auch nicht aufgegeben). Mit rummachen in den gcc-specs bekommt man die weg, ist aber wirklich nicht empfehlenswert. Alles in allem ist das Compilieren unter IRIX m.E. immer deutlich hakeliger als unter Linux, dafür der Paketbau anscheinend deutlich angenehmer.

Ich werde die Anleitung gleich nachher mal ausprobieren, ist auf jeden Fall so, dass sie auch ein Halbdepp wie ich versteht (was sonst ja leider nicht selbstverständlich ist). Grosses Lob!

Gruss

Jasper

Brombaer

  • Gast
lib und lib32
« Antwort #2 am: 08. November 2003, 15:56:02 »
Hi,

eigentlich brauchst Du nur lib32 und zwar grundsätzlich. Der Unterschied ist die sogenannte ABI (sprich Objecformat). lib ist O32 und lib32 bedeutet N32. Für die Benutzung von O32 gibt es schon lange keine Berechtigung mehr, man muss den Compiler fast schon mit Gewalt dazu zwingen, auch kann er dann kaum halbwegs fortschrittliche Features (bool Datentyp, Templates sehr eingeschränkt etc. pp.) .

Gruß

Matthias

Jasper

  • Gast
Re: ...ich habe mich bemüht (Tardist Howto)
« Antwort #3 am: 08. November 2003, 16:08:20 »
Hallo Matthias,

danke für den Tip. Schade, dass man sich offensichtlich nicht dazu durchringen konnte, die alten o32'er in irgendwas anderes zu legen und die n32'er dafür in ../lib. Das System sollte eigentlich ja auch nur noch auf n32 laufen? Oder mache ich irgendetwas verkehrt, und der GCC bzw. der davon aufgerufene Linker sollte das gleich richtig finden? Bei mir schlagen zumindest stets die Libs aus ../lib zu, wenn ich nicht explizit den "-L Pfad" verbiege. Wäre vielleicht auch sinnvoll, das bei eigenen Paketen beizubehalten, die i.dR. ja auch nur n32/64 sind, dass die Bibliotheken dann in (wherever)/lib32/64 wandern und nicht in lib? Sonst muss man da wieder ewig überlegen.

Gruss

Jasper

Jasper

  • Gast
Re: ...ich habe mich bemüht (Tardist Howto)
« Antwort #4 am: 08. November 2003, 16:23:53 »
Kuckuck schon wieder,

sagt mal, ist zum Thema "Files suchen" nicht der Eintrag "Source Tree Root" auf dem Tab "Edit files and permissions" genau das richtige? Sprich, installieren in das betreffende Root, swpkg dorthin verweisen (mit obigem Eintrag) und gut ist? oder verstehe ich die Manpage falsch (dort steht sinngemäß, dass das spezifizierte Root von allen Einträgen gestrippt wird). Wäre doch in der Kombination mit DESTDIR/prefix genau das richtige?

Gruss

Jasper

SmellyCat

  • Gast
Re: ...ich habe mich bemüht (Tardist Howto)
« Antwort #5 am: 08. November 2003, 16:50:33 »
habe gerade noch einen seeeehr dicken Fehler gefunden - bin gerade am fixen, also noch nicht ausprobieren ;)

Brombaer

  • Gast
Re: ...ich habe mich bemüht (Tardist Howto)
« Antwort #6 am: 08. November 2003, 16:53:18 »
Hi,

der Grund dafür dass es die o32-Libs in lib stecken, ist die Abwärtskompatibilität. Viel gewinnen (ausser ein wenig Übersichtlichkeit) kann man dadurch nicht, aber viel verlieren, da es durchaus Software gibt, die nur als o32 verfügbar ist/war (z.B. das allseits beliebte CATIA V4)

Zum gcc unter IRIX kann ich nix sagen, üblich ist unter Linux und Konsorten halt, dass Libs in /lib liegen, vermutlich hat man das einfach nicht an IRIX Spezialitäten angepasst ...

Gruß

Matthias

SmellyCat

  • Gast
Re: ...ich habe mich bemüht (Tardist Howto)
« Antwort #7 am: 08. November 2003, 17:42:27 »
So jetzt passt es (hoffe ich).

zu der lib32 etc. Sache... nun wie ich schrieb: ist eine Anleitung zum Tardist bauen und eigentlich nicht zum kompilieren, das was nun kam war eigentlich voraus zu sehen ;)

Habt Nachsicht... um alles abzudecken bräuchte ich etwas mehr Zeit, eben wie gesagt: ist nur für's Tardist bauen gedacht, wer etwas weiterführendes in Sachen kompilieren schreiben will, bitte ;)

Die einfache Methode funktioniert bei einfachen Dingen wie eben Sylpheed prima und ich musste eben ein wenig was übers Kompilierren schreiben - ganz ohne ging es nicht, aber deshalb: einfache Methode mit einfacher Software *g*

bye
Mats

Jasper

  • Gast
Re: ...ich habe mich bemüht (Tardist Howto)
« Antwort #8 am: 08. November 2003, 18:05:49 »
Hallo Mats,

Zitat
...einfache Methode mit einfacher Software


Punkt für Dich  :P Ich bin offensichtlich schon gar nicht mehr in der Lage, einfache Sachen zu tun bzw. daran zu denken. Muss das Mathestudium sein. Auf jeden Fall nochmal Danke, und ich werde mal schauen, was ich damit zustande bringe.

Achso, wenn ihr was (ibs. in der Shell) tut, empfiehlt es sich wirklich sehr, jeden Schritt zu dokumentieren, z.B. mit script.

Gruss

Jasper
« Letzte Änderung: 08. November 2003, 18:46:55 von Jasper »

SmellyCat

  • Gast
Re: ...ich habe mich bemüht (Tardist Howto)
« Antwort #9 am: 08. November 2003, 18:59:40 »
Zitat
Ich bin offensichtlich schon gar nicht mehr in der Lage, einfache Sachen zu tun bzw. daran zu denken


Ist ja nicht falsch was Du sagtest nur bitte 2 Dinge bedenken: das Howto soll jeder verstehen auch ohne grosse Kompilierkenntnisse mit ein bisschen Ahnung von Unix.

Es ist eben was es ist: eine Anleitung zum Bau von Tardist's. Ich musste einen Mittelweg finden, ich konnte nicht schreiben "baut die Software in /usr/local sucht die Files zusammen und los geht es", so wäre ich mit der Beschreibung an vielen die sich dafür interessieren schlicht vorbeigerauscht.

Eine Diskussion wie man die Pfade setzt bzw linkt ist ja nicht schlecht und stört auch keinen nur müsst ihr bitte bedenken dass für jemanden der noch nie kompiliert hat sowas böhmische Dörfer sind.

Es kann ja jeder an dem Teil der Beschreibung einsteigen den er braucht und das vorhergehende ad Akta legen.

Des weiteren: Wenn Du Dich interessierst für's Library linken warum nicht mal etwas drüber schreiben? Wenn es weiter so geht fehlt nur noch eine Beschreibung zu weiterführenden 'configure' Optionen so wie vielleicht noch eine zur Fehlersuche "Was mache ich wenn er sagt 'could not run gtk-config' " + eine kleine Anleitung zu gmake Fehlerausgaben und wir haben eine komplette Kompilieranleitung zusammen.

Wenn jemand Lust dazu hat - gerne, prima! Um so mehr und um so ausführlicher (deshalb auch die Thematas splitten, so kann sich einer ausführlich auf eins einschiessen) um so besser. Ich denke Jerry ist sicher bereit nach sonnenblen.de Manier eine "Gewusst wie" Ecke einzurichten und die Beiträge zu hosten, wenn nicht mache ich es eben.

bye
Mats




PS: Ich habe es nochmals überarbeitet - vor allem ein paar optische Korrekturen - und nun nenne ich es "vorübergehende Endfassung" auch wenn noch ein paar kleine Tippfehler drinnen sind wie ich sah (nachdem ich es erneut hochlud ;) )

Man kann navigieren und verständlich sollte es auch sein, ergo: bleibt so bis mich wieder die Lust packt *g*

http://smellycat.net/tardist/
« Letzte Änderung: 09. November 2003, 04:00:30 von SmellyCat »