Stdio.h nicht gefunden

  • Hallo,


    bei der Installation von Makefile-opendreambox-1.5 bricht das Script beim Bau des Gcc-cross-3.4.4 ab weil er die Stdio.h nicht findet.
    Das komische ist das, das gleiche Makefile-opendreambox-1.5 unter Gentoo 2.6.30 ohne Probleme erfolgreich sich beendet. Der enigste unterschied
    ist das es unter Archlinux keine Stdio.h im verzeichnis /usr/src/linux/arch/ppc/boot gibt die unter Gentoo vorhanden ist. danke


    Daten:
    Makefile-Version: 1.5 ( v 0.4.2 )
    OS: Archlinux
    Kernel: 2.6.31
    bitbake: 1.4.2-git


    Fehler:


    Teilauszug aus der log.do_compile.11439:

  • Hallo geko37,


    gelößt ist das Problem nicht. Das Problem ist Distributionen abhängig. Irgendwie könnte da unter ArchLinux was nicht verlinkt sein.


    Als Alternative kannst du es entweder unter Gentoo erstellen, da müsste es auf jedenfall klappen. Gentoo ist ne starke Linux Distributionen
    oder du musst es eben auf einer anderen Linux Distribution erstellen als ArchLinux, mit Tar archivieren und per nfs oder sonst wie auf ArchLinux kopieren.
    Das funktioniert auch ohne Probleme, sofern es der gleiche Pfad unter beiden Linux Systemen ist.

  • Hallo geko37,


    gelößt ist das Problem nicht. Das Problem ist Distributionen abhängig. Irgendwie könnte da unter ArchLinux was nicht verlinkt sein.


    Als Alternative kannst du es entweder unter Gentoo erstellen, da müsste es auf jedenfall klappen. Gentoo ist ne starke Linux Distributionen
    oder du musst es eben auf einer anderen Linux Distribution erstellen als ArchLinux, mit Tar archivieren und per nfs oder sonst wie auf ArchLinux kopieren.
    Das funktioniert auch ohne Probleme, sofern es der gleiche Pfad unter beiden Linux Systemen ist.


    Danke für deine Antwort ! Aber wie meinste es genau ? Soll das bedeuten das unter suse 11.2 man kein Image bauen bzw. kompilieren kann ? Es muss doch irgendwie gehen !

    • Offizieller Beitrag

    Existiert /usr/include/stdio.h?


    Wenn nicht, dann muss das Paket installiert werden, das diese Datei enthält. Bei Debian-basierten Distributionen heißt das Paket "libc6-dev". Ein möglicher Name bei RPM-basierten Distributionen ist "glibc-devel".

  • Existiert /usr/include/stdio.h?


    Wenn nicht, dann muss das Paket installiert werden, das diese Datei enthält. Bei Debian-basierten Distributionen heißt das Paket "libc6-dev". Ein möglicher Name bei RPM-basierten Distributionen ist "glibc-devel".


    Die Datei existiert ! Das hatte ich als erstes getestet ! Habe Suse 11.2 nun 2 mal neu aufgesetzt und habe immer das selbe Problem ! Pakete sind standart !

    Einmal editiert, zuletzt von geko37 ()

  • Zitat

    Danke für deine Antwort ! Aber wie meinste es genau ? Soll das bedeuten
    das unter suse 11.2 man kein Image bauen bzw. kompilieren kann ? Es
    muss doch irgendwie gehen !

    Doch das geht, das geht sogut wie unter jeden Unix Derivat. Das Problem ist nut das jede Linux Distrubtionen seine eigenen kleinen Konfigurations- und Installation-Unterschiede hat. Dadurch kann es sein das bei der installation von einem makefile-opedreambox das makefile bestimmte Dateien nicht findet oder andere Fehler auftretten. Obwohl es ja ein Openembedded ist dürfte es ja in sich eigentlich alle Dateien mitbringen !!!. Jedenfals gibt die Fehlermeldung nicht einmal den kompletten Pfad der fehlenden Datei aus, das wäre gut das dies mal im makefile nachgebessert würde.


    Am besten benutzt du Debian oder Ubuntu, den diese Distrubtionen sind offizell mit dem Makefile-opdendreambox getestet ( dazu einsteiger freundlich und besser als suse ). Wenn du etwas erfahrener bist kannst du auch gentoo benutzen, doch da kann es passieren das du bei der Installation einige Tage brauchst.

  • Doch das geht, das geht sogut wie unter jeden Unix Derivat. Das Problem ist nut das jede Linux Distrubtionen seine eigenen kleinen Konfigurations- und Installation-Unterschiede hat. Dadurch kann es sein das bei der installation von einem makefile-opedreambox das makefile bestimmte Dateien nicht findet oder andere Fehler auftretten. Obwohl es ja ein Openembedded ist dürfte es ja in sich eigentlich alle Dateien mitbringen !!!. Jedenfals gibt die Fehlermeldung nicht einmal den kompletten Pfad der fehlenden Datei aus, das wäre gut das dies mal im makefile nachgebessert würde.


    Am besten benutzt du Debian oder Ubuntu, den diese Distrubtionen sind offizell mit dem Makefile-opdendreambox getestet ( dazu einsteiger freundlich und besser als suse ). Wenn du etwas erfahrener bist kannst du auch gentoo benutzen, doch da kann es passieren das du bei der Installation einige Tage brauchst.


    Aber schon wieder das system aufsetzten ? Das kann nicht das wahre sein ! Es muss doch ne Lösung dafür geben ! Suse 11.2 original installation sollte normal passen ! Warum findet er diese datei nicht wo ist es definiert wo er sucht ! Ich hoffe das jemand dafür echt ne Lösung hat ! Ubuntu ist nicht meine Welt !

  • Der eigentlche Fehler bassiert ja im obenembedded beim compilieren des Cross-compilers gcc-3.4.4 der die Stdio.h in seinem eigen erstellten System scheinbar nicht findet. Normal checkt er bei der Installation ( bei make ) vor dem Bau des Images, ob alle Programme vorhanden sind und in der richtigen Version vorliegen. Ist das der Fall beginnt er die Quell-Packete herunterzuladen und zu compilieren. Im normalfall müsste er doch bei *do_configure schon abbrechen !!! Normal dürfte der fehler daran liegen das er die Stdio.h beim holen vom server nicht bekommt.


    Nur unter Gentoo Debian Ubuntu ... funktioniert ja alles, daher kann es ja eigentlich nur an den verschiedenen Linux Distributionen liegen !!!

  • Da scheint mir eher die autoconf - oder automake-version nicht zu passen.


    Unter SuSE 11.1 nutze ich autoconf 2.63 u. automake 1.10.1


    PS:
    Ich compiliere schon seit 10 Jahren meine Dreambox-Images unter SuSE-Linux völlig problemlos.

    DM8000HD | DM7020HD | DM800HD | DM800HD | DM7020 | DM7000

  • danke erst einmal für die vermutungen,


    leider liegt es nicht an der Autoconf oder automake version. Unter ArchLinux tritt der Fehler auch
    mit der autoconf-2.63 Version und automake 1.10.1 Version auf. Hat jemand dennoch eine Vermutung
    woran es liegen könnte, jeder Tip oder Vermutung wäre sehr wichtig.


    danke

  • Hallo,


    bitte nochmal um etwas Hilfe oder ein paar gute Ratschläge von den Entwicklern des OpenEmbedded's für die Dreambox sofern dies möglich ist.
    Der Fehler entsteht beim bau der libf2c oder libobjc im gcc-cross-3.4.4-r4. Und zwar ist in beiden Verzeichnissen in der configure.in
    das MACRO AC_CHECK_HEADER([stdio.h],:, AC_MSG_ERROR([...])) definiert, das dann beim erstellen und ausführen des configure scripts
    die stdio.h suchen lässt und den FEHLER aus AC_MSG_ERROR ausgibt. Habe bei einem beliebigen C++ Programm außerhalb des
    OpenEmbeddes mit autotools und den AC_CHECK_HEADER() MACRO auch ein configure script erstellen lassen, das vollkommen korrekt läuft
    und auch die stdio.h findet. CFLAGS und CPPFLAGS waren ebenfals nicht gesetzt. Wäre toll wenn jemand weiß wo das configure script
    die stdio.h im OpenEmbedded sucht !!! Den am eigenen System und er stdio.h kann es so direkt nicht liegen.

  • Im eigentlichen schon.


    Es muss an der aktualität der Betriebsysteme liegen. Unter ArchLinux funktioniert es mit der 1.5er und 1.6er Openembedded Version für die dm800 Problemlos. Das Problem tritt scheinbar nur bei zualten kernel gcc und glibc versionen auf. Diese Art der Probleme hast du auch bei anderen toolchains nur zuoft. Da kannst du von Glück reden wenn du Versionen findest die Zueinander passen.
    Wenn du der Sache nochmal nachgehen möchtest dann must du in den Dateien der Autotools ( *.am *.in Dateien) nach der Fehlermeldung suchen und schauen was dort genau geprüft wird. Wird schwer ausfindig zumachen sein besonders bei so alten apis und kerneln wie bei den dm500ertern .

  • von zu alten gcc kernel.... bei open suse 11.2 kann man doch eigentlich nicht sprechen.
    naja wenn ich evtl. mal zu viel zeit über habe, werde ich mal schauen. alles ander geht ja 1a.

  • Mit zu alten Kernel gcc unf glibc- Versionen waren die versionen der dreambox 500er und eventuell noch der 600er gemeint.


    ArchLinux ist sehr aktuell. Jedenfalls gibt es im Developerbereich der Unterschiedlichen Disributionen einige Unterschiede,
    den unter debian oder Gentoo funktioniert dies ja.

  • Ich hab das selbe Problem :frowning_face:


    Als workaround (hack!!!) hab ich das run.do_configure.xxxx editiert und beim configure f77 und java rausgenommen.
    Dann das run.do_configure.xxxx händisch gestartet. Fehlende libs beim install hab ich mit touch erzeugt.
    Ich hoffe jetzt das f77 und java beim der dreambox nicht gebraucht werden.

  • Ich hab das selbe Problem :frowning_face:


    Als workaround (hack!!!) hab ich das run.do_configure.xxxx editiert und beim configure f77 und java rausgenommen.
    Dann das run.do_configure.xxxx händisch gestartet. Fehlende libs beim install hab ich mit touch erzeugt.
    Ich hoffe jetzt das f77 und java beim der dreambox nicht gebraucht werden.


    Hi,


    I realize this thread is old. But I have the same problem with ubuntu 11.04.


    Unfortunately I do not understand what exactly this 'hack' means. Can someone please explain what the steps are ?


    I copied and executed ./run.do_configure but that gave me other errors !


    Regards.

    Einmal editiert, zuletzt von pcd ()

  • Hi pcd


    For oe1.5 better use maximum 10.04 (this has also a longer support by ubuntu than the 11.xx, because it is a "lts"-version).