Linux App. zu Mac portieren.

Diskutiere mit über: Linux App. zu Mac portieren. im Mac OS X Entwickler, Programmierer Forum

  1. relaht

    relaht Thread Starter MacUser Mitglied

    Beiträge:
    319
    Zustimmungen:
    9
    Registriert seit:
    02.11.2003
    Hallo, ich würde so gerne dieses Linux Programm auf meinem Mac zum laufen kriegen. Es ist eigentlich ganz simple, denn es hat nur 2 Funktionen:
    - Serielle Übertragung eines files von und zur Dreambox(Flash-Speicher).

    http://developer.elitedvb.net/files/75/dreamupl.tar.bz2

    Eine Dreambox ist ein Sat. Receiver.
    Wie so oft, wurde dieses Programm nur für Wimdows kompiliert. Und die Mac User haben leider das Nachsehen.

    Ich bin mit dem Entwickler in Kontakt und der sagte mir, dass die Portierung auf Mac eigentlich kein Problem sein sollte.
    Der einzige Plattformspezifische Programmteil ist die Behandlung der seriellen Schnittstelle. (Leider kennt er sich mit Mac überhaupt nicht aus, würde aber generell auch helfen)

    Das Programm wird mit zwei Scripts gesteuert:

    - flash
    - flash_backup
    (Beide Scripts sind im Download enthalten)

    Ich würde mit REALBasic eine Bunutzeroberfläche schreiben, habe aber leider überhaupt keine Ahnung von C

    Hat jemand Lust in dieses "Jugend forscht" Projekt mit einzusteigen?
     
  2. Saski

    Saski MacUser Mitglied

    Beiträge:
    650
    Zustimmungen:
    0
    Registriert seit:
    06.02.2005
    Es ist eigentlich ganz einfach: du musst im Code die Stelle suchen, die den Namen der Gerätedatei der seriellen Schnittstelle festlegt. Die Stelle musst du so umwandeln, dass es der Gerätedatei unter OS X entspricht. Weiss leider nicht welche, hab z.Zt. noch OS 9 ;) Danach solltest du es im Idealfall ohne weitere Änderungen durchkompilieren können.

    Aber sagmal, wo wie wird die Dreambox angeschlossen, hat dein Mac eine passende Schnittstelle? *g*

    Nachtrag:
    main.c:98, da steht's :)
    Scheint aber ein kompliziertes Programm zu sein. Und es kann scheinbar auch über's Netzwerk flashen? Schließt du die Kiste so an?
     
    Zuletzt bearbeitet: 06.03.2005
  3. relaht

    relaht Thread Starter MacUser Mitglied

    Beiträge:
    319
    Zustimmungen:
    9
    Registriert seit:
    02.11.2003
    Erstmal vielen Dank für deine Antwort!

    Wie gesagt, ich habe leider Null-Ahnung von C (Ich weiss noch nicht mal ob dieses Programm in C oder C++ geschrieben ist :( )

    Da ist schon das nächste Problem. Womit kann ich kompilieren? Gibt es da etwas im Freeware Bereich?

    Ich werwende hierfür einen USB=>Seriell Adabter (Keyspan)

    Ja das stimmt. Man kann seriell und auch übers Netzwerk flashen.
    Aber wenn beim "Netzwerk flashen" etwas schief läuft, ist man darauf angewiesen es seriell zu tun, da die Dreambox dann nicht mehr auf das Netzwerk reagiert.

    Wie müsste ich, deiner Meinung nach, die Zeile 98 ändern damit der Mac sie versteht? "Wir" können das ruhig erstmal in OS9 machen. Ich denke der Schritt zu OSX ist dann auch zu schaffen. (Oder es läuft halt im Classic-Mode)
     
  4. H.Stony

    H.Stony MacUser Mitglied

    Beiträge:
    552
    Zustimmungen:
    0
    Registriert seit:
    27.03.2004
    glaube dass es in osX leichter geht - im prinzip gleicher compiler usw. ! werde mir die datei mal anschauen bin aber eigentlich mit solchen dingen nicht vertraut...
     
  5. H.Stony

    H.Stony MacUser Mitglied

    Beiträge:
    552
    Zustimmungen:
    0
    Registriert seit:
    27.03.2004
    hab es mal compiliert..normal müsste das device in etwa gleich bleiben...problem ist jedoch, dass #include <linux/types.h> auf mac logischerweise nicht geht...
     
  6. Alfisto

    Alfisto MacUser Mitglied

    Beiträge:
    79
    Zustimmungen:
    0
    Registriert seit:
    09.06.2004
    Normalerweise kompiliert man Linux Programme mit make! Eigentlich brauchst du nur gcc und make... beides ist open source.. und du kannst dir die Sachen per FINK ziehen und installieren.
     
  7. animalchin

    animalchin MacUser Mitglied

    Beiträge:
    4.793
    Zustimmungen:
    79
    Registriert seit:
    14.10.2003
    dreambox

    Hallo,

    also ich habe selbst eine Dreambox, eine 5600-S - das Aufspielen eines flash-images war nur ein einziges Mal nötig, dazu tat es ein altes Windoze-Notebook mit Nullmodemkabel.
    Alle weiteren Updates holt sich die Dreambox über das Netz (eingebaute Netzwerkkarte, geht über den Router einwandfrei). Zugriff über Browser (Port 80) oder ftp sind auch vom Mac aus möglich, sogar Streaming funktioniert mit Shell-Skripten.
    Ich weiß nicht, ob der ganze Bohei mit Programmieren und Kompilieren dafür steht...
    www.i-have-a-dreambox.com kennst du sicher, oder?


    Grüße,

    animalchin
     
  8. matzetronic

    matzetronic MacUser Mitglied

    Beiträge:
    178
    Zustimmungen:
    0
    Registriert seit:
    25.10.2003
    Hallo,

    das ist C.

    Weitere Infos zum Ansprechen einer seriellen Schnittstelle in OSX gibts unter
    http://developer.apple.com/document...tml#//apple_ref/doc/uid/TP30000423-TP30001045

    das scheint allerdings nicht so trivial zu sein, da man das I/O Kit verwenden soll (Obj-C). Ich weiß allerdings nicht ob das einfach so über einen USB Adapter laufen wird. Kann sein das ein Treiber des Adapters ein serielles Device einhängt und darüber dann kommuniziert wird. Das würde ich als erstes mal abklären. Auf der Seite oben gibts auch eine alternative USB Kernel Extension die mehr Informationen über angeschlossene Geräte ausspuckt.

    Da ich weder einen USB->Serial Adapter noch eine Dreambox hab, kann ich dir auch nicht helfen.

    Du kannst ja mal deine Fortschritte posten.
    Viel Glück !
     
  9. matzetronic

    matzetronic MacUser Mitglied

    Beiträge:
    178
    Zustimmungen:
    0
    Registriert seit:
    25.10.2003
    Die liegen in /usr/include/sys/

    Hier gibts noch einen Porting Guide mit mehr Infos dazu:
    http://developer.apple.com/document...tml#//apple_ref/doc/uid/TP30000422-TP30000553
     
    Zuletzt bearbeitet: 07.03.2005
  10. Saski

    Saski MacUser Mitglied

    Beiträge:
    650
    Zustimmungen:
    0
    Registriert seit:
    06.02.2005
    Naja, da steht doch "/dev/ttyS01". Der Mac versteht das schon, findet aber die Datei nicht. Darum musst Du das durch den Namen der Gerätedatei ersetzen, die deiner seriellen Schnittstelle entspricht. Keine Ahnung wie die heisst, das müsstest Du besser wissen ;) Steht aber bestimmt irgendwie in der Doku des Treiber oder so?
    Und OS 9 wird garnicht gehen, weil's kein UNIX ist :p

    Dass da Linux-native Dateien eingebunden werden, hab ich übersehen. Ist aber nicht schlimm, unter OS X liegen die Dateien dann eben woanders. Musst du mit dem Finder suchen. Wird ja das Verzeichnis /include oder /usr/include geben, da müssen die Dateien drinstecken. Dann gibst du den Pfad relativ zu diesem Verzeichnis an. Unter Linux gibt's z.B. die Datei /usr/include/linux/types.h - und ist in den Dateien mit #include <linux/types.h> eingebunden. Dementsprechend musst du das abändern.

    Keine Angst, das setzt keinerlei Programmierkenntnisse voraus :p
     
Die Seite wird geladen...
Ähnliche Themen - Linux App Mac Forum Datum
macOS & iOS App - globale Datenbank für weitere Plattformen Mac OS X Entwickler, Programmierer 01.09.2016
Auf MacOS für Linux entwickeln Mac OS X Entwickler, Programmierer 20.11.2008
Java auf Linux-Mac Mac OS X Entwickler, Programmierer 28.09.2007
Programming for Linux, Windows and Mac OS X Mac OS X Entwickler, Programmierer 04.03.2007
Linux => PB => c-coding Mac OS X Entwickler, Programmierer 15.12.2004

Diese Seite empfehlen