Journal Compilation de KmyMoney

Posté par  .
0
24
mar.
2006
Suite à la revue de presse de mars 2006, j'ai essayé de compiler kmymoney.

Evidemment, si j'écris ici, c'est que ça n'a pas marché. Pour tenter de comprendre pourquoi, j'ai regardé la dernière étape qui a foiré, et je vois sur la ligne d'édition des liens des appels à:
libkmm_mymoney.la

et quelques autres fichiers avec une extension la. Je connaissais Les bibliothèques en .so et .a, mais là, je sèche. Et apparemment, l'édition des liens foire à cause d'un manque d'objets qui devraient se trouver dans cette bibliothèque.

/bin/sh ../libtool --silent --mode=link --tag=CXX g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fvisibility=hidden -fvisibility-inlines-hidden -fexceptions -o kmymoney2 -L/usr/lib -L/usr/lib/qt3/lib -L/usr/X11R6/lib -export-dynamic kmymoneyutils.o kstartuplogo.o kmymoney2.o main.o kmymoney2_stub.o kmymoney2_skel.o ../kmymoney2/views/libviews.a ../kmymoney2/reports/libreports.a ../kmymoney2/dialogs/libdialogs.a ../kmymoney2/widgets/libwidgets.a ../kmymoney2/converter/libconverter.a ../kmymoney2/mymoney/storage/libstorage.a ../kmymoney2/mymoney/libkmm_mymoney.la ../libkgpgfile/libkgpgfile.la ../kmymoney2/plugins/interfaces/libinterfaces.a ../kmymoney2/plugins/libkmm_plugin.la dialogs/libdialogs.a -lkabc -lkhtml -lkdeui -lkdecore -lqt-mt -lz -lpng -lz -lm -lXext -lX11 -lSM -lICE -lpthread

Et le résultat
kmymoney2.o: In function `KMyMoney2App::slotStatementImport(QString const&)':kmymoney2.cpp:(.text+0xaf7b): undefined reference to `MyMoneyStatement::readXMLFile(MyMoneyStatement&, QString const&)'
kmymoney2.o: In function `KMyMoney2App::isImportableFile(KURL const&)':kmymoney2.cpp:(.text+0xba1f): undefined reference to `MyMoneyStatement::isStatementFile(QString const&)'
kmymoney2.o: In function `KMyMoney2App::webConnect(QString const&, QCString const&)':kmymoney2.cpp:(.text+0xbe2e): undefined reference to `MyMoneyStatement::isStatementFile(QString const&)'
kmymoney2.o: In function `KMyMoney2App::loadPlugins()':kmymoney2.cpp:(.text+0xe557): undefined reference to `KMyMoneyPlugin::Plugin::staticMetaObject()'
:kmymoney2.cpp:(.text+0xe58a): undefined reference to `typeinfo for KMyMoneyPlugin::Plugin'
:kmymoney2.cpp:(.text+0xf01c): undefined reference to `KMyMoneyPlugin::ImporterPlugin::staticMetaObject()'
:kmymoney2.cpp:(.text+0xf044): undefined reference to `typeinfo for KMyMoneyPlugin::ImporterPlugin'
collect2: ld returned 1 exit status


Si quelqu'un a une explication sur le type de ces objets et sur comment on les explore....
  • # ahem!

    Posté par  (site web personnel) . Évalué à 10.

    Tu me recopiera 100x: "Pour les questions je n'utiliserai plus les journaux mais le forum"

    A bon entendeur.
  • # Tes amis sont:

    Posté par  . Évalué à 4.

    - Google
    - Un bon forum de programmation
    - Kernighan & Ritchie
  • # apt-get install kmymoney

    Posté par  (site web personnel) . Évalué à 4.

    Si l'homme a inventé le package binaire c'est peu être parce que des fois c'est vachement plus la classe ...

    ----->[]


    ps : troll inside :)
    • [^] # Re: emerge kmymoney

      Posté par  (site web personnel) . Évalué à 1.

      Qui t'a dit qu'il était sous Debian. Sur Gentoo, on compile tout !
      pps : troll inside itou
      • [^] # Re: emerge kmymoney

        Posté par  . Évalué à 1.

        On peut même compiler apt, puis faire un apt-get install :D
        • [^] # Re: emerge kmymoney

          Posté par  (site web personnel) . Évalué à 1.

          marche aussi avec rpm puis un rpm -Uhv kmymoney.rpm (paquage dispo sur plein de site dont rpm2find ou un truc du genre)

          bref le binaire c est bon : Mangez en !!!
          • [^] # Re: emerge kmymoney

            Posté par  (site web personnel) . Évalué à 2.

            Tu me trouve un binaire pour hurd x86 et pour mon linux sparc64 (optimisé de preference) s'il te plait ?

            > for i in linuxfr.org; do troll --without-moderation --target $i; done
  • # c'était un fichier texte...

    Posté par  . Évalué à 4.

    Bonjour à tous,

    et merci à tous ceux qui ont fait comme s'ils connaissaient le problème et m'ont envoyé sur les roses. Ce fichier n'a 'presque' rien à voir avec le C/C++. C'est en fait un fichier utilisé par libtool pour faire l'édition des liens.

    Certes, j'aurais pu penser à utiliser la commande file pour tester le type de fichier. Mais vu son utilisation, j'avais testé directement nm. Ensuite, j'avais aussi cherché sur un moteur de recherche pour trouver des infos sur le type de fichier '.la' utilisé en c++. Merci au passage pour le lien vers le site 'google', je connaissais pas.

    Enfin, pour ce qui est du forum, j'ai pensé que ce n'était pas vraiment une question, mais plutot (je persiste) un journal pour parler de ce fichier, de libtool et autres.

    Bref, c'est bien drole d'envoyer un gros RTFM, mais encore faut-il préciser le bon manuel.

    PS: bien que j'ai donné une partie de la réponse à ma question, j'ai du en choquer quelques uns avec la violence de mes propos. Je vais suivre ce commentaire pour voir s'il arrive dans les + ou dans les -.

Suivre le flux des commentaires

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