Autor Thema: EmuTOS selbst compilieren  (Gelesen 141168 mal)

0 Mitglieder und 3 Gäste betrachten dieses Thema.

Offline KarlMüller

  • Benutzer
  • Beiträge: 420
Re: EmuTOS selbst compilieren
« Antwort #40 am: Do 04.10.2018, 11:57:32 »
Ich verusche mich da auch mal mit dem cross-complieren, Nur will es auch nicht so, wobei das jetzt wohl ehr ein grundsätzliches Problem ist und nichts mit EmuTOS.
$ make 192 COUNTRY=de
make DEF='-DTARGET_192' OPTFLAGS=-Os WITH_CLI=0 UNIQUE=de ROM_192=etos192de.img etos192de.img
gcc -ansi -pedantic -Wall -Wundef -Wmissing-prototypes -Wstrict-prototypes -Wold-style-definition -Wtype-limits -W -O tools/bug.c -o bug
make[1]: gcc: Befehl nicht gefunden
m68k-atari-mint-gcc -m68000 -mshort -Os -fomit-frame-pointer -fno-common -Wall -Wundef -Wmissing-prototypes -Wstrict-prototypes -Wold-style-definition -Wtype-limits -Iinclude -DWITH_AES=1 -DWITH_CLI=0 -DTARGET_192 -c bios/startup.S -o obj/startup.o
bios/startup.S:13:20: fatal error: header.h: No such file or directory
compilation terminated.
make[1]: *** [Makefile:1032: obj/startup.o] Fehler 1
make: *** [Makefile:456: 192] Fehler 2
Ich vermute mal das da mit meiner Installation was noch nicht ganz stimmt. Nutze Windws 7 und Cygwin 32. Bei der Installation habe einfach alles durchgewunken. Dabei ist mir dann auf gefallen, dass nicht mal make installiert wurde. Also zusammen mit der libmpc3 installiert.

Danach von Vincent cross-mint-cygwin-20180704-setup.exe installiert. Das Setup merkte dann an das libmpfr4 fehlt. Auch diese dann alles nachgeholt.

Wenn ich make im Hauptverzeichnis ausführe, dann kommt die obigen Fehler. Den ersten kapier ich nicht. Beim zweiten verstehe ich das die Datei header.h fehlt. Wenn ich es richtig verstanden habe wird diese erst zulaufzeit des Makefiles durch awk erzeugt. Der ist zumindest in "C:\cygwin\bin" enthalten.

In der ".bash_profile" steht:
# Automatically added by the cross-mint setup program
export PATH="$PATH:/opt/cross-mint/bin"
export MANPATH="$MANPATH:/opt/cross-mint/share/man"

Irgendeine Idee?

Könnte man eine Auflistung machen welche Pakete alle installiert sein müssen?

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: EmuTOS selbst compilieren
« Antwort #41 am: Do 04.10.2018, 12:41:39 »
Beim übersetzen von EmuTOS werden einige Dateien generiert. Dafür benötigst du beim cross-compilieren nicht nur den m68k-atari-mint-gcc cross-compiler, sondern auch den "nativen" compiler für dein System. Da rührt die erste Fehlermeldung her, die andere ist nur eine Folge davon, weil die Datei nicht erzeugt wurde.

Einfache Abhilfe: über Setup.exe von cygwin einfach das compiler-paket installieren.

Zitat
Könnte man eine Auflistung machen welche Pakete alle installiert sein müssen?

Ohne Garantie, aber bei Aranym werden folgende Pakete installiert:
/cygdrive/c/cygwin/setup-x86.exe -q -P gettext-devel,libjpeg-devel,libjpeg8,cmake,flex,gmp-devel,libfontconfig-common,libfontconfig1,libfreetype6,libiconv-devel,libmpfr-devel,libncurses-devel,libpcre-devel,libpng-devel,libpng16,libpng16-devel,libusb1.0,libusb1.0-devel,mingw64-i686-SDL,mingw64-i686-SDL2,mingw64-i686-SDL_image,mingw64-i686-SDL2_image,mpfr,zip,unzip

Dürfte bei EmuTOS in etwa gleich aussehen. Ansonsten müsste ich mal bei appveyor nachschauen, welche Pakete auf deren image schon installiert sind.

« Letzte Änderung: Do 04.10.2018, 12:49:44 von Thorsten Otto »

Offline ari.tao

  • Benutzer
  • Beiträge: 2.248
  • Gesperrter User
Re: EmuTOS selbst compilieren
« Antwort #42 am: Do 04.10.2018, 16:35:50 »

... OpenSource ... Anführungszeichen ... andere Feindbilder ...
Ich habe keine ´Feindbilder´, sondern bin als in der Wolle gefärbter Naturwissenschaftler ganz trocken sachorientiert. Und Anführungszeichen verwende ich mitunter, um Begriffe ausdrücklich als nicht von mir stammend kenntlich zu machen; es ist böswillig, da Ironie zu unterstellen.
Was ist das Opensource-Versprechen wert, wenn sogar gestandenen Experten wie FL oder KM es schwerfällt, das wirklich umzusetzen?! Vielleicht schafft es ja MJaap in der STC uns zu erklären, wie man EmuTOS ganz einfach selbst compiliert. Ich selber kenne mich auf dem Atari mit der Programmierung in Modula sehr gut aus - aber schon ein C-CrossCompiler unter Windows ist für mich ein Buch mit sieben Siegeln.
Falcon+ddd32MHz, TT+CrazyDotsGK und noch ein paar andere.

Offline mfro

  • Benutzer
  • Beiträge: 1.640
Re: EmuTOS selbst compilieren
« Antwort #43 am: Do 04.10.2018, 17:13:00 »
Wenn man etwas haben möchte, was *nicht* von der Stange ist, bleiben nur zwei Möglichkeiten:

  • machen lassen, von jemand der's kann (Maßanzug). Paßt, sitzt, aber kostet
  • selber machen (Heimwerken). Erfordert die Bereitschaft, etwas dazuzulernen und ein wenig (Eigen-) Blut, -Schweiß und -Tränen zu investieren. Kostet aber - darüber hinaus - nix

Es wäre natürlich schön, wenn's den Maßanzug auch für umsonst gäbe ("eat the cake and have it" - s. Brexit). So funktioniert die Welt aber nicht.
And remember: Beethoven wrote his first symphony in C

Offline goetz @ 3rz

  • Benutzer
  • Beiträge: 2.053
Re: EmuTOS selbst compilieren
« Antwort #44 am: Do 04.10.2018, 21:32:14 »
Wenn man etwas haben möchte, was *nicht* von der Stange ist, bleiben nur zwei Möglichkeiten:

  • machen lassen, von jemand der's kann (Maßanzug). Paßt, sitzt, aber kostet
  • selber machen (Heimwerken). Erfordert die Bereitschaft, etwas dazuzulernen und ein wenig (Eigen-) Blut, -Schweiß und -Tränen zu investieren. Kostet aber - darüber hinaus - nix

Richtig! Und man sollte bei zweiter Option nicht unterstellen, dass das Lockangebote auf schlimmstem Kommerz-Ramsch-Niveau seien.
Wider dem Signaturspam!

Offline ari.tao

  • Benutzer
  • Beiträge: 2.248
  • Gesperrter User
Re: EmuTOS selbst compilieren
« Antwort #45 am: Do 04.10.2018, 22:04:30 »
Man sollte auf sachliche Kritik nicht mit Polemik antworten - sonst kommt ebensolche zurück.
Mir scheint: Der Kaiser ist nackt.
Falcon+ddd32MHz, TT+CrazyDotsGK und noch ein paar andere.

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.424
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: EmuTOS selbst compilieren
« Antwort #46 am: Do 04.10.2018, 22:05:01 »
Habe mir mal unter MiNT auf dem Atari TT den gcc 7.3.0 installiert.

->   https://github.com/freemint/m68k-atari-mint-gcc/releases/tag/gcc-7_3_0-mint

bunzip2 dauerte eine Stunde und tar nochmal eine halbe Stunde zum entpacken und installieren.

Ein "make 192 COUNTRY=de" läuft jetzt seit vier Stunden. Auf einem i5 MacMini dauerte es komplett nichtmal eine Minute.

Ich habe es auf dem Atari TT jetzt abgebrochen da ich den Rechner nicht über NAcht laufen lassen möchte. Der Compiler war bei deskapp.c ...



Was meint ihr wie lange der rechner braucht? 24 Stunden oder mehr?

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.424
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: EmuTOS selbst compilieren
« Antwort #47 am: Do 04.10.2018, 22:08:09 »
->   https://donzé.ch/atari/articles/cross-compiler/

das zu installieren klappte gut und war einfach. Aber das OSX GCC 8 Paket lies sich nicht einfach installieren.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: EmuTOS selbst compilieren
« Antwort #48 am: Do 04.10.2018, 23:36:05 »
Man sollte auf sachliche Kritik nicht mit Polemik antworten - sonst kommt ebensolche zurück.

Also langsam reicht es mal wieder. Was bitte schön ist sachlich daran mich mit irgendwelchen dubiosen Anbietern zu vergleichen. Und bereichern tue ich mich schon mal garnicht daran, ganz im Gegenteil. Irgendwie scheinst du es dir zur Aufgabe gemacht zu haben, den wenigen verbliebenen Entwicklern für unsere Platform auch noch den Spass zu verderben.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: EmuTOS selbst compilieren
« Antwort #49 am: Do 04.10.2018, 23:48:14 »
Ein "make 192 COUNTRY=de" läuft jetzt seit vier Stunden. Auf einem i5 MacMini dauerte es komplett nichtmal eine Minute.

Daß man heutige Hardware nicht mit einem Atari (auch nicht mit einem TT) vergleichen kann, sollte klar sein. Aber 4h, und nicht mal fertig ist schon happig. Hattest du das mal mit gcc 4.6.4 auf dem TT versucht?

Zitat
Was meint ihr wie lange der rechner braucht? 24 Stunden oder mehr?

Hm, kA. Troed hatte mal berichtet, daß die TOS 3.06 Sourcen auf einem STE ca 2 1/2 Stunden brauchen, vom Umfang müsste das vergleichbar sein. Aber der verwendete Compiler dort ist Alcyon, der so gut wie keine Optimierungen macht und erheblich einfacher gestrickt ist.

Zitat
Aber das OSX GCC 8 Paket lies sich nicht einfach installieren.

Irgendwelche Fehler-Meldungen was genau nicht ging wäre hilfreich ;) hast du das über Philip's Paket drüber installiert, oder frisch?

Offline ari.tao

  • Benutzer
  • Beiträge: 2.248
  • Gesperrter User
Re: EmuTOS selbst compilieren
« Antwort #50 am: Fr 05.10.2018, 00:08:31 »
Also langsam reicht es mal wieder.
Ganz meine Meinung.
Meine sachliche Kritik & Meinungsäußerung stand in #32. Das hätte ja unkommentiert stehen bleiben können. Stattdessen kam von GH und von Dir in ## 33 &34 Polemik. Können wir das jetzt bitte wieder beenden?!
Die von Dir zitierten Wörter ´Lockvogelangebote´, ´Kommerzramsch-Niveau´ und ´dubiose Anbieter´ wurden von _mir_ nicht benutzt!
« Letzte Änderung: Fr 05.10.2018, 00:17:07 von ari.tao »
Falcon+ddd32MHz, TT+CrazyDotsGK und noch ein paar andere.

Offline ari.tao

  • Benutzer
  • Beiträge: 2.248
  • Gesperrter User
Re: EmuTOS selbst compilieren
« Antwort #51 am: Fr 05.10.2018, 00:59:44 »
bunzip2 dauerte eine Stunde und tar nochmal eine halbe Stunde zum entpacken und installieren.
Könnte man bunzip2 & tar nicht auf ´ner Windose machen und dann das ausgepackte System auf den TT übertragen?
Oder das System unter Hatari laufen lassen?
Wie groß muß eine Partition min. sein um das System sinnvoll benutzen zu können?
« Letzte Änderung: Fr 05.10.2018, 01:02:06 von ari.tao »
Falcon+ddd32MHz, TT+CrazyDotsGK und noch ein paar andere.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: EmuTOS selbst compilieren
« Antwort #52 am: Fr 05.10.2018, 01:24:23 »
Oder das System unter Hatari laufen lassen?

Könnte man machen, aber dann kannst du auch gleich einen cross-compiler nehmen.

Zitat
Wie groß muß eine Partition min. sein um das System sinnvoll benutzen zu können?

Das (gepackte) gcc archiv ist ~25 MB, ausgepackt ca. 80MB. dazu brauchst du dann noch mindestens binutils, mintlib, gemlib und was du sonst noch an libraries brauchst. Grob geschätzt würde ich da mind. 200MB veranschlagen. Hängt natürlich auch davon ab, ob du nur den compiler, oder das ganze MinT-System auf der Partition unterbringst. Bei mir belegt das /usr Verzeichnis ca. 1GB, allerdings sind da auch perl, python etc. mit bei.

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.424
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: EmuTOS selbst compilieren
« Antwort #53 am: Fr 05.10.2018, 09:21:20 »
Irgendwelche Fehler-Meldungen was genau nicht ging wäre hilfreich ;) hast du das über Philip's Paket drüber installiert, oder frisch?

Hatte das drüber installiert bzw. kopiert. Ich habe jetzt mal alles unter /opt gelöscht. Wie muss ich genau vorgehen und was brauche ich alles.


Der gcc auf dem Atari TT ist der 7.3.0. Im /usr/bin Ordner ist noch ein gcc.2.95.3 der vom EasyMiNT/SpareMiNT stammt. Wenn ich "make 192 COUNTRY=de" aufrufe welchen gcc wird denn da benutzt?
« Letzte Änderung: Fr 05.10.2018, 10:29:36 von Lukas Frank »

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: EmuTOS selbst compilieren
« Antwort #54 am: Fr 05.10.2018, 12:08:51 »
Hatte das drüber installiert bzw. kopiert. Ich habe jetzt mal alles unter /opt gelöscht. Wie muss ich genau vorgehen und was brauche ich alles.

Am einfachsten sollte es mit dem Komplett-Paket sein. Nach dem Download dann auspacken mit

tar xvf m68k-atari-mint-base-20180831-macos.tar.xz --directory /


Zitat
Der gcc auf dem Atari TT ist der 7.3.0. Im /usr/bin Ordner ist noch ein gcc.2.95.3 der vom EasyMiNT/SpareMiNT stammt. Wenn ich "make 192 COUNTRY=de" aufrufe welchen gcc wird denn da benutzt?

Offensichtlich schon der neue (sieht man ja an der Versionsnummer). Entweder hast du dir den alten bereits überschrieben, oder der ist unter einem anderen Namen installiert. Im Zweifelsfall mal ein
ls -l /usr/bin/*gcc*
eingeben.
Das solllte dann ca. so aussehen
-rwxr-xr-x 3 sebilla users 892618  2. Okt 12:37 usr/bin/gcc
-rwxr-xr-x 2 sebilla users 141106  2. Okt 12:37 usr/bin/gcc-ar
-rwxr-xr-x 2 sebilla users 140968  2. Okt 12:37 usr/bin/gcc-nm
-rwxr-xr-x 2 sebilla users 140976  2. Okt 12:37 usr/bin/gcc-ranlib
-rwxr-xr-x 3 sebilla users 892618  2. Okt 12:37 usr/bin/m68k-atari-mint-gcc
-rwxr-xr-x 3 sebilla users 892618  2. Okt 12:37 usr/bin/m68k-atari-mint-gcc-7.3.0
-rwxr-xr-x 2 sebilla users 141106  2. Okt 12:37 usr/bin/m68k-atari-mint-gcc-ar
-rwxr-xr-x 2 sebilla users 140968  2. Okt 12:37 usr/bin/m68k-atari-mint-gcc-nm
-rwxr-xr-x 2 sebilla users 140976  2. Okt 12:37 usr/bin/m68k-atari-mint-gcc-ranlib

Das Makefile benutzt "gcc" für Hilfsprogramme, und "m68k-atari-mint-gcc" für EmuTOS selber. Auf dem TT sind die beiden identisch.

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.424
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: EmuTOS selbst compilieren
« Antwort #55 am: Fr 05.10.2018, 13:04:59 »
Was mache ich falsch? Es soll ja unter /opt entpackt werden ...

Franks-MacMini:/ frank$ tar xvf /Users/frank/Downloads/m68k-atari-mint-base-20180831-macos.tar.xz /opt
tar: /opt: Not found in archive
tar: Error exit delayed from previous errors.

Edit:

tar xvf /Users/frank/Downloads/m68k-atari-mint-base-20180831-macos.tar.xz --directory /opt

... ergibt Fehler:  Failed to create dir 'opt'Can't create 'opt/cross-mint/m68k-atari-mint/sys-root/usr/share/man/man3/listen.3.gz'

 /opt ist ja schon da. Oder muss ich sudo voranstellen?
« Letzte Änderung: Fr 05.10.2018, 13:11:10 von Lukas Frank »

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.424
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: EmuTOS selbst compilieren
« Antwort #56 am: Fr 05.10.2018, 13:24:12 »
Offensichtlich schon der neue (sieht man ja an der Versionsnummer). Entweder hast du dir den alten bereits überschrieben, oder der ist unter einem anderen Namen installiert. Im Zweifelsfall mal ein
ls -l /usr/bin/*gcc*
eingeben.

Sieht bei mir so aus siehe Bild ...

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: EmuTOS selbst compilieren
« Antwort #57 am: Fr 05.10.2018, 14:24:46 »
Was mache ich falsch? Es soll ja unter /opt entpackt werden ...

Ja, allerdings ist in den von mir erstellten Archiven (im Gegensatz zu Philipp's) der Pfadname /opt schon enthalten, deswegen muss das unter / entpackt werden.

Zitat
Oder muss ich sudo voranstellen?

Das könnte sein, je nachdem welche Berechtigungen das Verzeichnis hat.

Wenn du da Sorgen hast: du kannst es auch erstmal im aktuellen Verzeichnis entpacken, indem du --directory weglässt. Du müsstest dann im aktuellen Verzeichnis ein Verzeichnis namens "opt" haben. Den Inhalt kannst du dann immer noch verschieben. Wenn alles funktioniert hat, müsste es ein Verzeichnis /opt/cross-mint geben, daß dann so aussieht:
drwxr-xr-x 56 me _lpoperator 1904 Oct 14  2017 bin
drwxr-xr-x  4 me _lpoperator  136 Oct 14  2017 lib
drwxr-xr-x  5 me _lpoperator  170 Apr 10 10:57 m68k-atari-mint
drwxr-xr-x  5 me _lpoperator  170 Apr 10 10:58 m68k-atari-mintelf
drwxr-xr-x  6 me _lpoperator  204 Oct 14  2017 share

Wenn du stattdessen ein Verzeichnis /opt/opt hast, ist was falsch gelaufen ;)

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.424
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: EmuTOS selbst compilieren
« Antwort #58 am: Fr 05.10.2018, 16:43:05 »
Habe mal das Archiv durch Anklicken gestartet, da kam es aber zu Fehlern, siehe Bild. Habe danach das ganze noch mal manuell über das Terminal entpackt.


Jede Mal nach einem Neustart das untenstehende einzugeben Nervt, geht das nicht anders?

export PATH=$PATH:/opt/cross-mint/bin
export MANPATH=$MANPATH:/opt/cross-mint/share/man


Wenn ich gcc --version aufrufe kommt das untenstehende ...

Franks-MacMini:~ frank$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.0 (clang-1000.11.45.2)
Target: x86_64-apple-darwin18.0.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: EmuTOS selbst compilieren
« Antwort #59 am: Fr 05.10.2018, 16:56:48 »
Habe mal das Archiv durch Anklicken gestartet, da kam es aber zu Fehlern, siehe Bild.

Hm, mögicherweise eine Beschränkung des tools das das Archiv auspackt, der Pfadname ist ziemlich lang.


Zitat
Jede Mal nach einem Neustart das untenstehende einzugeben Nervt, geht das nicht anders?

Ja, in die $HOME/.profile schreiben ;) Hatten wir das nicht schon?


Zitat
Wenn ich gcc --version aufrufe kommt das untenstehende ...

Franks-MacMini:~ frank$ gcc --version


Der cross-compiler installiert sich ja auch nur als m68k-atari-mint-gcc, der normale gcc ist der für macOS, den willst du ja auch nicht damit überschreiben.