Forum Linux.debian/ubuntu Apt-cross et dépendances

Posté par  .
Étiquettes :
0
9
juin
2010
Bonjour,

j'éssai de faire de la cross compilation x86 vers Armel, mais j'ai des difficultés avec les librairies utiliées par mon programme (Qt)

pour l'instant j'ai pu avoir un toolchain par plusieurs méthodes :
toolchain précompilé (emdebian)
compilation du toolchain à partir des sources (binutils, gcc)

le toolchain est fonctionnel, la difficulté est d'utiliser des librairies.

j'ai essayé l'outil apt-cross, qui fait une "cross installation" des packages Armel sur la machine x86, mais il ne gère pas les dépendances.
(The cross-toolchains can not yet be built in Debian proper because there is no mechanism for the autobuilders to understand cross-dependencies)

je ne me vois pas trop cross-compiler toutes le bibliothèques,

y'a t-il des solutions ?
  • # qemu-armel ?

    Posté par  . Évalué à 2.

    la solution passerait peut-etre par la "virtualisation" de ton environnement de developpement.

    qemu permet de simuler differents types d'architecture,
    il te suffirait alors d'avoir une machine virtuelle en ARMEL
    dans laquelle tu installes ton OS en ARMEL et sur lequel tu pourrais compiler/linker

    pour ensuite generer un paquet que tu deposerais sur la machine reelle
    • [^] # Re: qemu-armel ?

      Posté par  . Évalué à 1.

      Déjà testé avec une machine qemu, mais niveau performances, c'est du 400 bogomips (20 fois moins que la machine hôte).

      donc très lent pour compiler un projet
      • [^] # Re: qemu-armel ?

        Posté par  . Évalué à 2.

        me semble qu'il y a des options pour reduire/accelerer la simulation

        sinon une petite recheche
        semble indiquer que c'est les acces disques qui posent soucis dans la compilation arm sous qemu
        http://forums.gentoo.org/viewtopic-p-6307318.html?sid=221c95(...)

        la solution serait de donner plein de RAM à ta machine virtuelle pour lui eviter de swapper
        • [^] # Re: qemu-armel ?

          Posté par  . Évalué à 1.

          J'ai essayé avec + de mémoire RAM pour la VM, pas de changement.

          J'ai beaucoup de fichiers à compiler, le projet se compile en temps normal en 5 min, donc sur plateforme ARM ca va être chaud. Donc je vais continuer a chercher du coté de la cross compilation.
          Quelqu'un connait-il des méthode pour cross-compiler un projet qui intègre des bibliothèques (Qt, glib, ...) ?
          • [^] # Re: qemu-armel ?

            Posté par  . Évalué à 2.

            je suis un ane...

            oui tu dois pouvoir (cross-)complier en precisant le chemin de tes libs...
            avec l'option -l (L en minuscule) ou -L tu dois pouvoir cibler les libs (ou dossiers) à utiliser
            • [^] # Re: qemu-armel ?

              Posté par  . Évalué à 1.

              Mon soucis c'est pour installer les librairies armel sur la machine x86.

              j'ai eu des soucis avec apt-cross (problèmes de dépendances)
              • [^] # Re: qemu-armel ?

                Posté par  . Évalué à 3.

                les installer dans qemu, puis les copier dans les dossiers de dev
                (l'image disque de qemu peut etre monter en loop pour acceder à son contenu)
                • [^] # Re: qemu-armel ?

                  Posté par  . Évalué à 1.

                  Ok, je vais essayer, merci
                  • [^] # Re: qemu-armel ?

                    Posté par  . Évalué à 1.

                    J'ai essayé en montant la partition qemu, mais j'ai un autre soucis :

                    lors de la compilation :
                    ---------------------------------

                    root@debian:~/qemu/squeeze# arm-linux-gnueabi-g++ hello.cpp -Imount/usr/include/qt4 -Imount/usr/include/qt4/QtCore/ -Imount/usr/include/linux -Imount/usr/include -Imount/include

                    In file included from mount/usr/include/sys/types.h:220,
                    from mount/usr/include/stdlib.h:320,
                    from mount/usr/include/qt4/QtCore/qvector.h:54,
                    from mount/usr/include/qt4/QtCore/qxmlstream.h:50,
                    from mount/usr/include/qt4/QtCore/QtCore:3,
                    from hello.cpp:2:
                    mount/usr/include/sys/select.h:93:1: warning: "FD_SET" redefined
                    In file included from mount/usr/include/pthread.h:26,
                    from /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr-default.h:43,
                    from /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr.h:132,
                    from /usr/arm-linux-gnueabi/include/c++/4.3.2/ext/atomicity.h:39,
                    from /usr/arm-linux-gnueabi/include/c++/4.3.2/bits/ios_base.h:46,
                    from /usr/arm-linux-gnueabi/include/c++/4.3.2/ios:48,
                    from /usr/arm-linux-gnueabi/include/c++/4.3.2/ostream:45,
                    from /usr/arm-linux-gnueabi/include/c++/4.3.2/iostream:45,
                    from hello.cpp:1:
                    mount/usr/include/linux/time.h:29:1: warning: this is the location of the previous definition
                    In file included from mount/usr/include/sys/types.h:220,
                    from mount/usr/include/stdlib.h:320,
                    from mount/usr/include/qt4/QtCore/qvector.h:54,
                    from mount/usr/include/qt4/QtCore/qxmlstream.h:50,
                    from mount/usr/include/qt4/QtCore/QtCore:3,
                    from hello.cpp:2:
                    mount/usr/include/sys/select.h:94:1: warning: "FD_CLR" redefined

                    ...

                    -------------------------------


                    Il y'a un soucis avec les includes apparement.

                    Et est-ce normal qu'il aille chercher les ce fichier par exemple ?
                    /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr-default.h:43
                    • [^] # Re: qemu-armel ?

                      Posté par  . Évalué à 2.

                      Et est-ce normal qu'il aille chercher les ce fichier par exemple ?
                      /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr-default.h:43


                      oui probablement car tu lances arm-linux-gnueabi-g++
                      dans ton environnement pas ARM

                      donc il faut verifier le chemin de recherches des libs et des .h

                      car apparemment tu utilises deux fichiers .h pour definir la meme chose (FD_SET et FD_CLR)
                      • [^] # Re: qemu-armel ?

                        Posté par  . Évalué à 1.

                        Salut,

                        "donc il faut verifier le chemin de recherches des libs et des .h"

                        Comment procéder ?
                        • [^] # Re: qemu-armel ?

                          Posté par  . Évalué à 1.

                          Voici ce que donne la compilation :


                          root@debian:~/qemu/squeeze# arm-linux-gnueabi-g++ hello.cpp -Imount/usr/include/qt4 -Imount/usr/include/qt4/QtCore/ -Imount/usr/include/linux -Imount/usr/include -Imount/usr/include
                          In file included from mount/usr/include/sys/types.h:220,
                          from mount/usr/include/stdlib.h:320,
                          from mount/usr/include/qt4/QtCore/qvector.h:54,
                          from mount/usr/include/qt4/QtCore/qxmlstream.h:50,
                          from mount/usr/include/qt4/QtCore/QtCore:3,
                          from hello.cpp:2:
                          mount/usr/include/sys/select.h:93:1: warning: "FD_SET" redefined
                          In file included from mount/usr/include/pthread.h:26,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr-default.h:43,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr.h:132,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ext/atomicity.h:39,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/bits/ios_base.h:46,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ios:48,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ostream:45,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/iostream:45,
                          from hello.cpp:1:
                          mount/usr/include/linux/time.h:29:1: warning: this is the location of the previous definition
                          In file included from mount/usr/include/sys/types.h:220,
                          from mount/usr/include/stdlib.h:320,
                          from mount/usr/include/qt4/QtCore/qvector.h:54,
                          from mount/usr/include/qt4/QtCore/qxmlstream.h:50,
                          from mount/usr/include/qt4/QtCore/QtCore:3,
                          from hello.cpp:2:
                          mount/usr/include/sys/select.h:94:1: warning: "FD_CLR" redefined
                          In file included from mount/usr/include/pthread.h:26,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr-default.h:43,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr.h:132,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ext/atomicity.h:39,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/bits/ios_base.h:46,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ios:48,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ostream:45,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/iostream:45,
                          from hello.cpp:1:
                          mount/usr/include/linux/time.h:30:1: warning: this is the location of the previous definition
                          In file included from mount/usr/include/sys/types.h:220,
                          from mount/usr/include/stdlib.h:320,
                          from mount/usr/include/qt4/QtCore/qvector.h:54,
                          from mount/usr/include/qt4/QtCore/qxmlstream.h:50,
                          from mount/usr/include/qt4/QtCore/QtCore:3,
                          from hello.cpp:2:
                          mount/usr/include/sys/select.h:95:1: warning: "FD_ISSET" redefined
                          In file included from mount/usr/include/pthread.h:26,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr-default.h:43,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr.h:132,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ext/atomicity.h:39,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/bits/ios_base.h:46,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ios:48,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ostream:45,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/iostream:45,
                          from hello.cpp:1:
                          mount/usr/include/linux/time.h:31:1: warning: this is the location of the previous definition
                          In file included from mount/usr/include/sys/types.h:220,
                          from mount/usr/include/stdlib.h:320,
                          from mount/usr/include/qt4/QtCore/qvector.h:54,
                          from mount/usr/include/qt4/QtCore/qxmlstream.h:50,
                          from mount/usr/include/qt4/QtCore/QtCore:3,
                          from hello.cpp:2:
                          mount/usr/include/sys/select.h:96:1: warning: "FD_ZERO" redefined
                          In file included from mount/usr/include/pthread.h:26,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr-default.h:43,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr.h:132,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ext/atomicity.h:39,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/bits/ios_base.h:46,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ios:48,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ostream:45,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/iostream:45,
                          from hello.cpp:1:
                          mount/usr/include/linux/time.h:32:1: warning: this is the location of the previous definition
                          In file included from /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr-default.h:43,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/arm-linux-gnueabi/bits/gthr.h:132,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ext/atomicity.h:39,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/bits/ios_base.h:46,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ios:48,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/ostream:45,
                          from /usr/arm-linux-gnueabi/include/c++/4.3.2/iostream:45,
                          from hello.cpp:1:
                          mount/usr/include/pthread.h:392: error: expected â,â or â...â before â*â token
                          mount/usr/include/pthread.h:393: error: nonnull argument references non-pointer operand (argument 1, operand 3)
                          mount/usr/include/pthread.h:399: error: âcpu_set_tâ has not been declared
                          mount/usr/include/pthread.h:449: error: expected â,â or â...â before â*â token
                          mount/usr/include/pthread.h:450: error: nonnull argument references non-pointer operand (argument 1, operand 3)
                          mount/usr/include/pthread.h:454: error: âcpu_set_tâ has not been declared
                          In file included from mount/usr/include/qt4/QtCore/qstring.h:46,
                          from mount/usr/include/qt4/QtCore/qobject.h:48,
                          from mount/usr/include/qt4/QtCore/qiodevice.h:46,
                          from mount/usr/include/qt4/QtCore/qxmlstream.h:45,
                          from mount/usr/include/qt4/QtCore/QtCore:3,
                          from hello.cpp:2:
                          mount/usr/include/qt4/QtCore/qbytearray.h: In function âuint qstrlen(const char*)â:
                          mount/usr/include/qt4/QtCore/qbytearray.h:68: error: âstrlenâ was not declared in this scope
                          mount/usr/include/qt4/QtCore/qbytearray.h: In function âint qstrncmp(const char*, const char*, uint)â:
                          mount/usr/include/qt4/QtCore/qbytearray.h:91: error: âstrncmpâ was not declared in this scope
                          mount/usr/include/qt4/QtCore/qbytearray.h: In function âbool operator==(const QByteArray&, const QByteArray&)â:
                          mount/usr/include/qt4/QtCore/qbytearray.h:509: error: âmemcmpâ was not declared in this scope
                          In file included from mount/usr/include/sys/types.h:220,
                          from mount/usr/include/stdlib.h:320,
                          from mount/usr/include/qt4/QtCore/qvector.h:54,
                          from mount/usr/include/qt4/QtCore/qxmlstream.h:50,
                          from mount/usr/include/qt4/QtCore/QtCore:3,
                          from hello.cpp:2:
                          mount/usr/include/sys/select.h: At global scope:
                          mount/usr/include/sys/select.h:38: error: conflicting declaration âtypedef struct __sigset_t sigset_tâ
                          mount/usr/include/asm/signal.h:12: error: âsigset_tâ has a previous declaration as âtypedef long unsigned int sigset_tâ
                          In file included from mount/usr/include/sys/select.h:46,
                          from mount/usr/include/sys/types.h:220,
                          from mount/usr/include/stdlib.h:320,
                          from mount/usr/include/qt4/QtCore/qvector.h:54,
                          from mount/usr/include/qt4/QtCore/qxmlstream.h:50,
                          from mount/usr/include/qt4/QtCore/QtCore:3,
                          from hello.cpp:2:
                          mount/usr/include/bits/time.h:69: error: redefinition of âstruct timevalâ
                          mount/usr/include/linux/time.h:15: error: previous definition of âstruct timevalâ
                          In file included from mount/usr/include/qt4/QtCore/qxmlstream.h:50,
                          from mount/usr/include/qt4/QtCore/QtCore:3,
                          from hello.cpp:2:
                          mount/usr/include/qt4/QtCore/qvector.h: In member function âvoid QVector::realloc(int, int)â:
                          mount/usr/include/qt4/QtCore/qvector.h:473: error: â::memcpyâ has not been declared
                          In file included from mount/usr/include/qt4/QtCore/qdebug.h:54,
                          from mount/usr/include/qt4/QtCore/QtCore:14,
                          from hello.cpp:2:
                          mount/usr/include/qt4/QtCore/qcontiguouscache.h: In member function âbool QContiguousCache::areIndexesValid() constâ:
                          mount/usr/include/qt4/QtCore/qcontiguouscache.h:150: error: âINT_MAXâ was not declared in this scope
                          mount/usr/include/qt4/QtCore/qcontiguouscache.h: In member function âvoid QContiguousCache::insert(int, const T&)â:
                          mount/usr/include/qt4/QtCore/qcontiguouscache.h:380: error: âINT_MAXâ was not declared in this scope
                          In file included from mount/usr/include/qt4/QtCore/QtCore:65,
                          from hello.cpp:2:
                          mount/usr/include/qt4/QtCore/qstringbuilder.h: In static member function âstatic void QConcatenable::appendTo(const QString&, QChar*&)â:
                          mount/usr/include/qt4/QtCore/qstringbuilder.h:190: error: âmemcpyâ was not declared in this scope
                          mount/usr/include/qt4/QtCore/qstringbuilder.h: In static member function âstatic void QConcatenable::appendTo(QStringRef, QChar*&)â:
                          mount/usr/include/qt4/QtCore/qstringbuilder.h:202: error: âmemcpyâ was not declared in this scope
                          In file included from mount/usr/include/qt4/QtCore/QtCore:77,
                          from hello.cpp:2:
                          mount/usr/include/qt4/QtCore/qthread.h: At global scope:
                          mount/usr/include/qt4/QtCore/qthread.h:102: error: âULONG_MAXâ was not declared in this scope
                          In file included from mount/usr/include/qt4/QtCore/QtCore:79,
                          from hello.cpp:2:
                          mount/usr/include/qt4/QtCore/qwaitcondition.h:67: error: âULONG_MAXâ was not declared in this scope
                          mount/usr/include/qt4/QtCore/qwaitcondition.h:68: error: âULONG_MAXâ was not declared in this scope
                          mount/usr/include/qt4/QtCore/qlist.h: In member function âvoid QList::node_copy(QList::Node*, QList::Node*, QList::Node*) [with T = QString]â:
                          mount/usr/include/qt4/QtCore/qlist.h:706: instantiated from âQList& QList::operator+=(const QList&) [with T = QString]â
                          mount/usr/include/qt4/QtCore/qstringlist.h:85: instantiated from here
                          mount/usr/include/qt4/QtCore/qlist.h:394: error: âmemcpyâ was not declared in this scope
                          mount/usr/include/qt4/QtCore/qlist.h: In member function âvoid QList::node_copy(QList::Node*, QList::Node*, QList::Node*) [with T = QVariant]â:
                          mount/usr/include/qt4/QtCore/qlist.h:606: instantiated from âvoid QList::detach_helper() [with T = QVariant]â
                          mount/usr/include/qt4/QtCore/qlist.h:114: instantiated from âQList::QList(const QList&) [with T = QVariant]â
                          mount/usr/include/qt4/QtCore/qstatemachine.h:82: instantiated from here
                          mount/usr/include/qt4/QtCore/qlist.h:394: error: âmemcpyâ was not declared in this scope
                        • [^] # Re: qemu-armel ?

                          Posté par  . Évalué à 2.

                          tous les programmes ont une configuration par defaut

                          là il se trouve que ton arm-gnuabi-g++
                          il est configuré pour aller chercher les includes dans
                          /usr/... de ta machine
                          et que tu lui dit d'aller, en plus, chercher dans /mount/usr/...

                          du coup il a des fichiers definit en double.

                          un petit coup de man sur ton programme arm-gnuabi-g++
                          devrait t'en dire plus sur les options à passer pour annuler le reglage par defaut et ne prendre que les libs que tu as mises en options.
                          • [^] # Re: qemu-armel ?

                            Posté par  . Évalué à 1.

                            Oui c'est ce que je pense aussi,

                            j'ai essayé d'utiliser avec les variables :
                            C_INCLUDE_PATH (même résultat)
                            CPLUS_INCLUDE_PATH (même résultat)
                            LIBRARY_PATH (même résultat)
                            GCC_EXEC_PREFIX (là il ne trouve pas cc1plus)

                            et avec l'option sysroot (même résultat)
                            • [^] # Re: qemu-armel ?

                              Posté par  . Évalué à 2.

                              et ca fait quoi arm-gnuabi-g++
                              comparer à g++ avec des options ?

                              si ca se trouve, le armgnuabi-g++ c'est un script shell qui pose des variables à g++
                              • [^] # Re: qemu-armel ?

                                Posté par  . Évalué à 1.

                                Non,

                                avec g++ d'origine, tu peux pas faire de cross compilation.

                                il faut recompiler g++ avec les options target et tout.

                                par exemple, avec l'option -v, tu vois avec quelles options le compilateur a été compilé et quelle est l'architecture cible :


                                g++ d'origine :

                                root@debian:~/qemu/squeeze# g++ -v
                                Using built-in specs.
                                Target: i486-linux-gnu
                                Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.4-1' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-targets=all --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
                                Thread model: posix
                                gcc version 4.4.4 (Debian 4.4.4-1)



                                g++ que j'ai recompilé :

                                Using built-in specs.
                                Target: arm-linux-gnueabi
                                Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.3.2 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --disable-libssp --disable-sjlj-exceptions --enable-checking=release --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include --build=i486-linux-gnu --host=i486-linux-gnu --target=arm-linux-gnueabi
                                Thread model: posix
                                gcc version 4.3.2 (Debian 4.3.2-1.1)
                                • [^] # Re: qemu-armel ?

                                  Posté par  . Évalué à 1.

                                  par contre, si tu fais g++ -b arm-linux-gnueabi, g++ lance la commande arm-linux-gnu-eabi-gcc-4.4.4
                                • [^] # Re: qemu-armel ?

                                  Posté par  . Évalué à 2.

                                  je crois qu'on tiens une piste
                                  g++ que j'ai recompilé :

                                  Using built-in specs.
                                  Target: arm-linux-gnueabi
                                  Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.3.2 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --disable-libssp --disable-sjlj-exceptions --enable-checking=release --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include --build=i486-linux-gnu --host=i486-linux-gnu --target=arm-linux-gnueabi


                                  qui force les dossiers d'inclusions
                                  qui te font alors doublons avec les -l/mout/usr/....
                                  • [^] # Re: qemu-armel ?

                                    Posté par  . Évalué à 1.

                                    Ok, je vais essayer de recompiler gcc sans les deux options

                                    merci de ton aide.
                                    • [^] # Re: qemu-armel ?

                                      Posté par  . Évalué à 1.

                                      J'ai recompilé gcc en enlevant les options :

                                      root@debian:~/qemu/squeeze# arm-linux-gnueabi-g++-4.3 -v
                                      Utilisation des specs internes.
                                      Target: arm-linux-gnueabi
                                      Configuré avec: ../src/configure -v --enable-languages=c,c++,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --disable-libssp --disable-sjlj-exceptions --enable-checking=release --program-prefix=arm-linux-gnueabi- --build=i486-linux-gnu --host=i486-linux-gnu --target=arm-linux-gnueabi --program-suffix=-4.3
                                      Modèle de thread: posix
                                      gcc version 4.3.5 (GCC)



                                      mais j'ai un problème lors de l'édition de lien :

                                      root@debian:~/qemu/squeeze# arm-linux-gnueabi-g++-4.3 hello.cpp -Imount/usr/include/qt4 -Imount/usr/include/qt4/QtCore/ -I/usr/arm-linux-gnueabi/include -Lmount/usr/lib -lQtCore
                                      /usr/lib/gcc/arm-linux-gnueabi/4.3.5/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible mount/usr/lib/libm.so when searching for -lm
                                      /usr/lib/gcc/arm-linux-gnueabi/4.3.5/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
                                      /usr/lib/gcc/arm-linux-gnueabi/4.3.5/../../../../arm-linux-gnueabi/bin/ld: cannot find /lib/libc.so.6
                                      collect2: ld a retourné 1 code d'état d'exécution
                                      • [^] # Re: qemu-armel ?

                                        Posté par  . Évalué à 2.

                                        1°)
                                        tu as verifié que tes options -l et -L
                                        prenait bien le dossier sans le / de debut ?

                                        apparemment tu melanges allegrement les 3 syntaxes :
                                        -Imount/usr/include/qt4 : sans le / de debut de chemin

                                        -I/usr/arm-linux-gnueabi/include : avec le / de debut de chemin

                                        -Lmount/usr/lib : L sans le / de debut de chemin


                                        2°)
                                        et il a l'air de chercher la libm
                                        quand tu lui donnes -lmount...


                                        3°) tu es dans ~/qemu/squeeze

                                        le compilo irait donc chercher dans
                                        ~/qemu/squeeze/mount/usr/bin/include...

                                        c'est bien ce que tu veux ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.