PrettyOS startet nur emuliert



  • Die allerneuste uralte. Der Link verweist auf das alte Repository. (Siehe hier: http://www.c-plusplus.net/forum/310029)

    Und in der wirklich neusten Revision ist das Build-Problem unter Linux behoben.



  • Mr X schrieb:

    Die allerneuste uralte. Der Link verweist auf das alte Repository. (Siehe hier: http://www.c-plusplus.net/forum/310029)

    Und in der wirklich neusten Revision ist das Build-Problem unter Linux behoben.

    zum glück aktualisiert ihr immer eure FAQ, besonders die oberste. 😕

    gibts ne möglichkeit, den ganzen "trunk/Source" ordner runterzuladen? ohen svn? ich hab keine ahnung wie das geht und grad keine lust, irgendwas zu googlen.



  • hm. Anscheinend nicht. Zumindest finde ich keine Tarball-Option auf Sourceforge (https://sourceforge.net/p/prettyos/code/1407/tree/)

    zum glück aktualisiert ihr immer eure FAQ, besonders die oberste. 😕

    Danke für den Hinweis - da ist tatsächlich ein Link nicht aktualisiert worden. Wird sobald möglich geändert (bzw. entfernt, wenn niemand den "Download Tarball"-Button findet.)



  • Ich fürchte, es wird dir nichts anderes übrig bleiben, als dir SVN zu besorgen und es damit herunterzuladen.



  • Mr X schrieb:

    Ich fürchte, es wird dir nichts anderes übrig bleiben, als dir SVN zu besorgen und es damit herunterzuladen.

    ok, wie ist der aufruf? bestimmt irgend so ein "clone repository" wie bei git oder so

    p.s.: also z.b. bei git ist es so, dass man über ein webinterface eine zip runterladen kann, aber anscheinend gibts das hier nicht.



  • habs selbst herausgefunden:
    svn checkout http://svn.code.sf.net/p/prettyos/code ./

    jetzt werd ich mal die zeile ausbessern und kompilieren.



  • serlib_cpp.cpp:10:42: Fehler: »operator new« nimmt Typ »size_t« (»unsigned int«) als ersten Parameter [-fpermissive]
    userlib_cpp.cpp:14:44: Fehler: »operator new« nimmt Typ »size_t« (»unsigned int«) als ersten Parameter [-fpermissive]
    make[1]: *** [userlib_cpp.o] Fehler 1
    make: *** [userlibs] Fehler 2

    findet ihr das etwa lustig?



  • Nunja. GCC/Clang ändern mit jedem Release ihre Definition des new-Operators. Pass es manuell an das an, was dein GCC will. Wenn Du uns deine GCC oder Clang-Version nennst, können wir eine zusätzliche #ifdef-Weiche für diese Version anlegen.



  • Mr X schrieb:

    Nunja. GCC/Clang ändern mit jedem Release ihre Definition des new-Operators. Pass es manuell an das an, was dein GCC will. Wenn Du uns deine GCC oder Clang-Version nennst, können wir eine zusätzliche #ifdef-Weiche für diese Version anlegen.

    GCC-Version:
    gcc-Version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1)

    Wobei ich glaube, dass es mittlerweile schonwieder eine neue GCC-Version gibt.

    Warum braucht ihr überhaupt C++? Linux hats vorgemacht, C würde im Grunde reichen!



  • GCC-Version:
    gcc-Version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1)

    Das ist seltsam, weil wir (auf Windows) ebenfalls GCC 4.7.2 einsetzen. Dann ändere halt lokal den Prototypen, sodass es kompiliert. Oder nimm Clang, dass ist eh der bessere Compiler 😃

    Warum braucht ihr überhaupt C++? Linux hats vorgemacht, C würde im Grunde reichen!

    Userprogramme. Und im Nachhinein würde ich sagen, dass C++ im Kernel auch ganz praktisch gewesen wäre. Konstruktoren und Desktruktoren sind eben doch komfortabler als irgendwelche delete_console(console_t* c);-Funktionen.



  • Dieser Thread wurde von Moderator/in Marc++us aus dem Forum Rund um die Programmierung in das Forum Projekt: OS-Development verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • P.S.: Nein, diesen Thread bitte nicht ins PrettyOS-Forum verschieben, weil da kann ich ja wie gesagt nichts posten. Besser wäre es, ihr würdet endlich das Forum für alle freischalten.

    Dieser Thread wurde von Moderator/in Marc++us aus dem Forum Rund um die Programmierung in das Forum Projekt: OS-Development verschoben.

    Toll...



  • @threadersteller: Mach einfach einen neuen Thread auf, wenn niemand den hier zurückschiebt (ggf. auch ins Assembler-Forum - wir sind ja im Bootloader 😃 ). Gerne aber auch via IRC (euirc.net, #PrettyOS)



  • also wie war das jetzt mit bochs? bei mir funktionierts immernoch nicht.



  • Lass uns hier mal auf Booten von USB zurückkommen...



  • Mr X schrieb:

    Lass uns hier mal auf Booten von USB zurückkommen...

    ja, aber ich kann doch garnicht kompilieren.

    vielleicht solltet ihr einfach die zeile im stage 2 bootloader ändern, neu kompilieren und das als neue rev rausbringen.



  • Das Problem, das du beschrieben hast, haben wir erst letztens gefixt. War aber ueber etliche Revisionen drin, weil die meisten von uns auf Windows arbeiten, und wir es so nicht bemerkt haben. Eher durch Zufall hat es mal einer, beim Versuch es auf Linux zu kompilieren, gefunden.

    Wenn du wirklich die aktuelle Revision hast, duerfte zumindest das Problem mit dem kompilieren gefixt sein.
    Hast du wirklich die neuste Revision. Achtung, die die hier angegeben war, war nicht mehr aktuell.
    Mach einen Checkout von dieser URL (und pass auf, dass du wirklich die Head-Revision nutzt): svn://svn.code.sf.net/p/prettyos/code/trunk

    Die Zeile wird sicherlich in der naechsten Rev. geaendert; aber wegen dieser einen Zeile ne neue Rev rausbringen halte ich doch fuer uebertrieben. Aber da hab ich noch nix zu sagen, fuer Commits usw. sind Erhard und MrX verantwortlich.



  • ja, aber ich kann doch garnicht kompilieren.

    Der Fehler beim kompilieren lag also nicht daran, dass Du den Quellcode aus dem alten Repository bezogen hast? r1392 ist nicht mit GCC 4.7 kompatibel, r1407 schon. Außerdem müsste das kompilieren (auch mit der alten Revision) gehen, wenn Du den Prototypen einfach mal änderst...



  • Nein, unter Linux sicherlich nicht 😉



  • der fehler ist der gleiche wie vorhin:

    userlib_cpp.cpp:10:42: Fehler: »operator new« nimmt Typ »size_t« (»unsigned int«) als ersten Parameter [-fpermissive]
    userlib_cpp.cpp:14:44: Fehler: »operator new« nimmt Typ »size_t« (»unsigned int«) als ersten Parameter [-fpermissive]
    make[1]: *** [userlib_cpp.o] Fehler 1
    make: *** [userlibs] Fehler 2


Anmelden zum Antworten