Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

ERROR

Alter Hase

  • »ERROR« ist der Autor dieses Themas

Beiträge: 417

Wohnort: Paderborn

Beruf: Informatik Student

  • Private Nachricht senden

1

07.07.2014, 18:54

Für Linux kompilieren. Jedes Gleich?

Aloha,

eigentlich steht meine Frage schon im Titel, aber ich werde mal ausführlicher:

Ich will für das OS Ubuntu Server eine Anwendung schreiben, muss ich dann auch unter Ubuntu Server compilen oder reicht es, wenn ich unter Ubuntu, OpenSuse, ... compile? Also Hauptsache auf einem Linux?

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

2

07.07.2014, 21:06

Du brauchst nur ein Linux und kompatible Bibliotheken. So gesehen bist du also besser dran, wenn du auf Ubuntu entwickelst. Außerdem sollte die Architektur übereinstimmen, sonst brauchst du einen Cross-Compiler.

Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

3

07.07.2014, 22:27

Das kann ich absolut NICHT bestätigen.
Das fängt mit den Abhängigkeiten zu Bibliotheken an. Verschiedene Distributionen haben Bibliotheken gerne mal in verschiedenen Versionen da. Es ist auch nicht mal sicher, dass jede Distributionen alle Bibliotheken dabei hat. Wobei das bei den populären Bibliotheken eher selten ein Problem sein wird.
Von daher empfehle ich an der Stelle dringend statisch zu linken, auch wenn das unter Open Source Freunde ab und verpönt ist.

Dann können sich Verzeichnisstrukturen unterschieden. Für manche Bereich bringt da eventuell die Verbreitung von SystemD in der Zukunft Abhilfe. Ansonsten hab ich hier keinen guten Tipp.

Und zu guter letzt, wenn du deine Software ordentlich paketieren willst, stellt sich die Frage, welcher Paketmanager? Natürlich, für Debian/Ubuntu/u.ä. wäre apt die Wahl. Aber es gibt auch noch mehr, und apt ist auf vielen anderen Distributionen unüblich.

Wer einmal probiert hat binär Software für Distribution A auf B laufen zu lassen, weiß wie sehr man da anfängt Bibliotheken zu symlinken um dann festzustellen, dass das ganze alles andere als stabil läuft.

Ich persönlich würde da allerdings noch einen ganz anderen Weg gehen: Ich würde mir eine populäre Distribution wie aktuell Ubuntu oder Linux Mint suchen, meine Software dort lauffähig machen, kompilieren und paketieren. Und wer eine andere Distribution hat, kann halt sein Glück versuchen. Dann ist es nicht mein Problem, wenn das ganze auf einer exotischen Distribution nicht so richtig läuft.
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

4

08.07.2014, 03:12

Aloha,

eigentlich steht meine Frage schon im Titel, aber ich werde mal ausführlicher:

Ich will für das OS Ubuntu Server eine Anwendung schreiben, muss ich dann auch unter Ubuntu Server compilen oder reicht es, wenn ich unter Ubuntu, OpenSuse, ... compile? Also Hauptsache auf einem Linux?

Fuer Linux Software ist es ueblich, dass ein Source Paket ausgeliefert wird, welches der Nutzer auf seinem System selbst kompiliert. Da das ganze fuer Otto-Normal Nutzer nicht praktikabel ist werden auch oft fuer die bekanntesten Distributionen (i.e. Ubuntu, Mint, etc) Binaer Pakete angeboten. Dazu brauchst du aber die entsprechenden Tools um diese Pakete zu erstellen was ueblicherweise bedeutet, dass du auch eine solche Linux Distribution brauchst.

Werbeanzeige