AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Linux - Ick freu mir ;-)

Ein Thema von bernau · begonnen am 30. Aug 2016 · letzter Beitrag vom 7. Sep 2016
Antwort Antwort
Seite 4 von 7   « Erste     234 56     Letzte »    
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#31

AW: Linux - Ick freu mir ;-)

  Alt 30. Aug 2016, 22:45
Hallo Valentin,

dankesehr für die Ausführeungen.

Ich denke auch X11 oder Wayland sollte man ansprechen können, da ist aber harte Handarbeit angesagt.
Das größte Problem wird sein das die Libc-Files nicht konvertiert sind zu Delphi, und wahrscheinlich
auch nicht immer 1:1 oder überhaupt konvertierbar sind.
Emba hat das ja anscheinend nicht auf dem Plan.

Vielleicht noch Posix, und dann ist erstmal Schluss denke ich.
Das ist aber schonmal was.

Aber es könnte ein Blick zu FreePascal lohnen, dort ist man sicher schon etwas weiter.

Aber was ich generell nicht verstehe ist wie die verschiedenen Libc-Versionen in Linux organisiert sind.
Auch unter Linux muss alles aus dem gleichen Versionsraum kommen, sonst kracht es da auch.

Gibt es immer mehrere Versionen des Kernels und der Libraries auf jedem System ?
Ich denke das ist eines der Probleme bei Linux, das jede Distribution da alt und neu mischen kann und
auch an anderen Stellen/Bezeichnern ablegen kann.
Und dann gibt es noch zig Paketmanager, jeder kocht leider sein eigenes Süppchen.

Vielleicht gibt es aber auch standarisierte Methoden um Libc-Version und Kernelversion bei allen Distributionen
rauszufinden, so ähnlich (aber hoffentlich besser strukturiert) wie bei COM ?
Hab ich aber noch nicht gesehen.

Ein GCC Compiler hat aber genau die gleichen Probleme, das liegt nicht an Delphi an sich.
Wenn man die richtigen Libs und deren Position kennt kann man das zusammenbauen.
Also wäre ein C++Builder vielleicht geeigneter als Delphi um GCC Projekte zu kompilieren und einzubinden ?

Ubuntu ist auf Debian basierend, und ich denke eine ganze Reihe von Distributionen basieren auf Debian.
Das läst mich hoffen.

Rollo
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#32

AW: Linux - Ick freu mir ;-)

  Alt 30. Aug 2016, 23:14
FreePascal verwendet standardmäßig gar keine libc. Die haben fast alles notwendige selbst implementiert und sprechen direkt mit dem Linux-Kernel via Syscalls. Somit kann man an sich extrem portable Kompilate erstellen. Aufpassen muss man nur, wenn man Units einbindet, die ein vorangestelltes c haben (z.B. cmem). Diese linken gegen die libc. Leider gehört dazu auch cthreads, welche man für Multithreading braucht. Aber der klassische Unix-Weg wäre ja auch eher mit fork und wait statt Threads

Geändert von Namenloser (30. Aug 2016 um 23:20 Uhr)
  Mit Zitat antworten Zitat
frapo

Registriert seit: 8. Feb 2012
Ort: OWL
32 Beiträge
 
Delphi 10.1 Berlin Starter
 
#33

AW: Linux - Ick freu mir ;-)

  Alt 30. Aug 2016, 23:39
Mit Delphi kann man seit Uhrzeiten Service-Anwendungen (für Windows) schreiben. Also kein neues Terrain.
Das ist mir schon klar . Mit neuem Terrain meinte ich einen Dienst dann für Linux zu schreiben. Aber wie an anderer Stelle hier schon gesagt wurde: wer Interesse daran haben wird, wird sich da auch sehr gerne reinfuchsen.
  Mit Zitat antworten Zitat
ralfstocker
(Gast)

n/a Beiträge
 
#34

AW: Linux - Ick freu mir ;-)

  Alt 31. Aug 2016, 00:05
Das wird wieder mal nix werden. Wie schon bei Kylix. Linux-Marktanteil Desktop: 1%. Und auf dem Server wird der free gcc verwendet.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#35

AW: Linux - Ick freu mir ;-)

  Alt 31. Aug 2016, 00:14
Aber was ich generell nicht verstehe ist wie die verschiedenen Libc-Versionen in Linux organisiert sind.
Auch unter Linux muss alles aus dem gleichen Versionsraum kommen, sonst kracht es da auch.
Richtig. Aber das ist normalerweise kein Problem.

Gibt es immer mehrere Versionen des Kernels und der Libraries auf jedem System ?
Ich denke das ist eines der Probleme bei Linux, das jede Distribution da alt und neu mischen kann und
auch an anderen Stellen/Bezeichnern ablegen kann.
Nein, gibt es normalerweise eher nicht. Verschiedene Kernelversionen sowieso nicht, Libraries gibt es manchmal in verschiedenen Major-Versionen parallel. Aber genau das ist die Aufgabe deiner Distribution: Sie achtet auf die Kompatibilität deiner Libraries und Programme und kompiliert und linkt diese so, dass sie funktionieren. Das funktioniert natürlich nur, weil quasi alle Programme, die in der Distribution enthalten sind, OpenSource sind. Deshalb wird es Delphi hier sehr schwer haben.

Und dann gibt es noch zig Paketmanager, jeder kocht leider sein eigenes Süppchen.
Naja, ob man hier leider sagen kann ist fragwürdig. Primär gibt es nur DEB und RPM. Die anderen sind eher vernachlässigbar. Und Konkurrenz und Alternativen sind in der Unixwelt eine wichtige Philosophie, die dazu beigetragen haben, dass Dinge so sind wie sie jetzt sind.

Vielleicht gibt es aber auch standarisierte Methoden um Libc-Version und Kernelversion bei allen Distributionen
rauszufinden, so ähnlich (aber hoffentlich besser strukturiert) wie bei COM ?
Hab ich aber noch nicht gesehen.
Normalerweise kompilierst du dein Programm exakt für deine Zielplattform. Distributionen wie Ubuntu vereinfachen das, da du dann nur ein Mal für Ubuntu linken musst und dieses Binary dann auf jedem Ubuntu dieser Version und Architektur funktioniert. Lieferst du nur ein Binary aus, linkt man häufig statisch. Dann sind alle Libraries eingebunden und das Programm ist unabhängig von seiner Umgebung. So kommst du aber nicht in die Paketlisten großer Distributionen.

Ein GCC Compiler hat aber genau die gleichen Probleme, das liegt nicht an Delphi an sich.
Richtig! Aber: gcc gibt es für Linux. Die meisten Programme bieten also ihren Sourcecode zum Download an. Die Debian Maintainer nehmen den Source und lassen ihn automatisch für passende Zielplattformen kompilieren. Einen Delphicompiler für Linux gibt es noch nicht. Und der Aufwand für alle passenden Platformen selbst zu Linken ist vermutlich zu hoch. Daher vermute ich, dass statisches Linken die einzig sinnvolle Alternative sein wird.
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#36

AW: Linux - Ick freu mir ;-)

  Alt 31. Aug 2016, 00:29
Und auf dem Server wird der free gcc verwendet.
Naja, den vorhandenen Business-Code und die gewohnten Tools benutzen zu können kann schon viel wert sein.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von mael
mael

Registriert seit: 13. Jan 2005
391 Beiträge
 
Delphi XE3 Professional
 
#37

AW: Linux - Ick freu mir ;-)

  Alt 31. Aug 2016, 02:40
Aber ich sprach von statisch gelinkten ELFs. (keine Exen, die gibt's unter Linux nicht ).
Wo wir schon genau sind :p
Unter Linux kann eine executable (=eine Datei die das executable-Recht gesetzt hat) jede Dateiendung haben die sie will, auch ".exe", nur hat sie üblicherweise keine Endung (oder es ist ein Skript wie .pl .sh oder eine ELF-Bibliothek .so). Das Gegenstück zu ELF in Windows sind PE-Dateien (die auch unterschiedliche Dateierweiterungen erlauben für "normale" ausführbare Dateien aber auch DLLs/Bibliotheken/Treiber).

Ich finde exe ist da klarer als das häufige binary (was alles sein kann).
HxD, schneller Hexeditor:
http://mh-nexus.de/hxd

Geändert von mael (31. Aug 2016 um 02:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#38

AW: Linux - Ick freu mir ;-)

  Alt 31. Aug 2016, 04:28
Selbst in Windows muß eine EXE nicht EXE heißen.
Nur gibt es für andere Dateiendungen standardmäßig selten Verknüpfungen im Windows, damit es diese auch starten kann. (Windows weiß ja nicht, daß es eine PE ist, da nicht im Fileheader nachgeschaut wird).

Man kann auch eine EXE und DLL kombinieren, also alleine lauffähig und/oder als DLL ladbar. Die EXE kann sogar eigene exportierte Funktionen von sich selber dynamisch laden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (31. Aug 2016 um 04:32 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#39

AW: Linux - Ick freu mir ;-)

  Alt 31. Aug 2016, 07:52
[QUOTE]
Normalerweise kompilierst du dein Programm exakt für deine Zielplattform.
Mal dumm gesprochen: Das mache ich für Windows ja auch (XP/7/8/10).
Nur das dort wohl mehr Wert auf Rückwärtskompatibilität gelegt wird (was ich mir
bei Vergleich M$ - Linux aber auch nicht wirklich vorstellen kann).

Wahrscheinlich gibt es unter Linux einfach mehr Versionen als unter Windows-Libraries,
aber ob es 150 oder 200 Library-Versionen gibt macht doch auch wenig Unterschied.

Die Unterschiede liegen IMHO in den verschiedenen Basisauslegungen, wie Filesystem, Mounting, Graphiksystem, Desktop, etc., das kann ich ja verstehen.
Aber ein Linux mit gleicher Auslegung (z.B. Debian-Basis) sollte sich doch sehr ähnlich verhalten.
Ich könnte dann u.U. auch fehlende Komponenten einfach nachinstallieren.

Wenn ich mir die Linuxwelt so ansehe dann liest sich alles so als gäbe es 100% Crash-Sicherheit bei komplexen Projekten.
Das kann aber so schlimm doch auch wieder nicht sein, sonst wäre es nicht so erfolgreich.

Ich habe bisher nur ein bischen mit Bash und Konsolen-GCC rumgespielt, das Hauptproblem was ich damit hatte ist "wo ist was ?".

Das es gehen muss zeigen doch Libre-Office, Firefox und zig andere.
Wie bekommen die das denn eigentlich kompatibel zu allen Distris, mit Milliarden von IFDEFs ?

Rollo
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#40

AW: Linux - Ick freu mir ;-)

  Alt 31. Aug 2016, 08:02
Noch ein Gedanke zum fehlenden FMX:

Das Einbinden von Chromium Embedded (mit DCef3) sollte doch überschaubar sein.
DCef3 hat zumindest FPC schon als define mit drin, obs läuft weiss ich nicht.

Dann hätte man auf einen Schlag ein state-of-the-Art visuelles GUI, mit HTML/JS Frontend und Delphi Backend.

Rollo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 7   « Erste     234 56     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz