Re: Wie Linux Binary ausliefern?



Edzard Egberts wrote:

ich habe hier eine kommerzielle Software unter Linux geschrieben und
daraus eine Windows-Version mit Installer erstellt (damit kenne ich mich
aus). Weil ja sowieso eine Linux-Version vorhanden ist, habe ich im
jugendlichen Leichtsinn in die Dokumentation geschrieben "also Linux
available" und zu meiner Überraschung will jetzt gleich der erste Kunde
die Linux-Version haben. Ups, besser mal die Klappe gehalten! :o/

Wie kann ich so etwas denn möglichst kundenfreundlich erstellen und
ausliefern? Zuerst dachte ich an ein rpm-Paket, aber das funktioniert
scheinbar mit Quelltexten und die möchte der Chef nicht ausliefern.

Wie schon gesagt wurde, du kannst auch ein RPM mit Binaries drin
erstellen. Das laeuft so aber halt nicht automatisch auf jedem
GNU/Linux.

Ich habe also ein Binary und müsste unter Umständen auch noch
Abhängigkeiten installieren, das Binary braucht nämlich z.B. die
libstdc++ (cxxlibs) und wahrscheinlich noch weitere Sachen (X-Zeugs für
die GUI?) - wie finde ich das denn heraus? Gibt es da so etwas wie einen
"Dependency Checker" (den kenne ich von Windows)? Die Bibliotheken habe
ich zwar alle statisch gelinkt, damit habe ich aber die Abhängigkeiten
dieser Bibliotheken (wie eben z.B. die libstdc++) nicht abgedeckt.

Wenn du da mit den Abhaengigkeiten anfaengst hast du schon verloren und
musst quasi fuer jede Distribution ein eigenes Paket bereitstellen. Der
ganze C++ Kram muss z.B. mit der gleichen GCC Major-Version compiliert
worden sein wie die C++ Libraries die du laden willst, ansonsten ist das
nicht kompatibel.

Fuer kleine Prograemmchen kann man folgendes machen: Alles ausser der
libc (libstdc++, X11 client, GUI toolkit, ...) statisch linken, das
Binary will dann vom Zielsystem nur noch folgendes:
--------------------------------------------------
linux-gate.so.1 => (0xffffe000)
libm.so.6 => /lib/tls/libm.so.6 (0xb77e4000)
libc.so.6 => /lib/tls/libc.so.6 (0xb76c8000)
/lib/ld-linux.so.2 (0xb781c000)
--------------------------------------------------
Lediglich die libc auf dem Zielsystem muss dann gleich oder neuer sein,
damit man es dort ausfuehren kann. Das Programm mit einer moeglichst
alten libc bauen erhoeht daher die Kompatibilitaet. Hauptnachteil: Man
muss bei einer Sicherheitsluecke in den statisch gelinkten Libs das
Programm neu bauen und verteilen.

In meinem Fall bestand das Programm nur aus einer Datei (dank FLTK keine
2MByte gross), dafuer braucht es kein Paket. Zum Installieren kopiert
der Kunde das File einfach irgendwohin wo es via PATH gefunden wird. Zum
Deinstallieren loescht er es wieder runter.


Micha
.



Relevant Pages

  • Re: OS =?ISO-8859-1?Q?f=FCr_Dell_Latitude_CPi?=
    ... Dieser Rechner muss aber extrem benutzerfreundlich sein, daher kommt Linux hier nicht in Frage)? ... Zumindest bei WinXP SP2 kann man beim Herunterfahren die Updates installieren lassen (es erscheint dann ein entspr. ... Man kann dort im Programm einstellen, alle wieviel Tage eine Warnmeldung ueber das Windows Security Center ausgegeben wird) ... weil er dann nicht soviel kaputt machen kann :-) - _Keine_ Personal Firewall installieren! ...
    (de.comp.sys.notebooks)
  • Re: Welches Linux ?
    ... Ich möchte Linux als zweites System installieren. ... Es gab vor einiger Zeit (Suse 9.x) ein Problem ... Zonealarm, die mir in einem Dialog anzeigt, wenn sich ein Programm ans ...
    (de.comp.os.unix.linux.misc)
  • Re: Eure Meinung/Kommentare bitte
    ... Programm verschiedene Versionen vorhalten, ... Bei einem "normalen" Linux kann man das vielleicht über ... Schau dir mal die Seite von "GoboLinux" an, denn das ist IMHO schon ein ... Distri zu installieren. ...
    (de.comp.security.misc)
  • Re: Zeichensatzprobleme
    ... Du wirst also immer irgendwelch Hardware finden, ... unter Linux läuft das selbe Board rockstable über ... Das musst Du übrigens bei Windows ... >> Homebanking Programm Star Money genannt. ...
    (de.rec.mampf)
  • Weissu was?
    ... dass wir heute verwenden eigentlich nicht Linux sondern GNU;-). ... das Programm kostenlos weiterzugeben.Der Durchbruch kam mit eine Besprechung des Programms im PC-World-Magazin. ... Da Alan Turing aber eigentlich einen Computer erfunden hatte konnte er daraufhin eines der ersten Schachprogramme schreiben. ... Und in der Tat entdeckte Clyde Tombaugh 1930 den Planeten Pluto genau an der von Lowell vorausgesagten Stelle. ...
    (de.talk.jokes)