Umstellung von uclibc zu libc



  • Hallo,

    wie ändert man, das eine Plattform die libc statt die uclibc benutzt?

    Kann man Programme, die man mit der libc kompiliert auch mit der uclibc verwenden?


  • Mod

    Asgar13 schrieb:

    Hallo,

    wie ändert man, das eine Plattform die libc statt die uclibc benutzt?

    Da die C-Runtime eines der Herzen der Plattform ist, geht das genau genommen nur durch Austausch der Plattform. Es sollte sich aber einrichten lassen, eine Plattform, die die uclibc benutzt, so umzukonfigurieren, dass die einzige Änderung die Benutzung der glibc ist. Aber neucompilieren aller Binaries wird nötig sein.

    Kann man Programme, die man mit der libc kompiliert auch mit der uclibc verwenden?

    Nein. Muss in der Regeln neu compiliert werden. edit: Aber ein Programm, welches sich mit der glibc compilieren lässt, sollte sich auch für die uclibc compilieren lassen, außer es nutzt ausgerechnet eine der wenigen Dinge, in denen die beiden sich unterscheiden.



  • erst mal danke, für die Hilfe^^

    Es sollte sich aber einrichten lassen, eine Plattform, die die uclibc benutzt, so umzukonfigurieren, dass die einzige Änderung die Benutzung der glibc ist.

    kennst du dazu ein gutes Tutor?


  • Mod

    Asgar13 schrieb:

    kennst du dazu ein gutes Tutor?

    Ich glaube nicht, dass es dazu speziell ein Tutorial gibt. Das Grundprinzip wäre, dass du den gesamten Kernel und die gesamte Plattform nochmal compilierst und dabei eventuelle unvorhergesehene Probleme von Hand löst.

    Mal anders gefragt: Was hast du eigentlich vor? Wenn ich meinen üblichen Forenpessimismus benutze, befürchte ich eine Riesendummheit.



  • Also normalerweise wird die libc verwendet. Um die uclibc zu verwenden, musst Du spezielle Compiler und Linker Optionen angeben. Daraus ergibt sich für Dein Problem: einfach die speziellen Compiler und Linker Optionen nicht verwenden. Dann verwendest Du die libc.



  • Über das crosstool (glibc) compiliere ich auf einen Router (uclibc), dabei habe ich ein Programm, wo ich nicht weiß, ob uclibc alle Sachen unterstützt (muss ich noch testen).

    Falls das nicht der Fall ist, ziehe ich es in Betracht den Router auf glibc umzustellen.

    Habe zuerst gedacht, das das crosstool über die libc und nicht über die glibc kompiliert.
    Logisch: gcc/g++/gcj die glibc benutzt.



  • Hallo,

    ich habe da doch noch eine Frage:

    Ich habe einen gcc (mipsel/uclibc) und möchte dazu noch gcj (mipsel/uclibc) haben.

    Kann man aus den bestehenden gcc auch noch den gcj erstellen, oder muss man diesen mit der Option --enable-language c,c++,java neukompilieren?



  • Asgar13 schrieb:

    Hallo,

    ich habe da doch noch eine Frage:

    Ich habe einen gcc (mipsel/uclibc) und möchte dazu noch gcj (mipsel/uclibc) haben.

    Kann man aus den bestehenden gcc auch noch den gcj erstellen, oder muss man diesen mit der Option --enable-language c,c++,java neukompilieren?

    definitiv neukompilieren



  • danke, nochmal für die Hilfe


Anmelden zum Antworten