• # Vieille version ...

    Posté par (site web personnel) . En réponse au message Compilation d'un plugin pour Evolution : import PST. Évalué à 2.

    Salut,

    J'ai un peu regarder le zinzin en chargeant comme toi le source.

    Un simple configure sans paramètres suffit en ayant au préalable fait un "sudo ln -sf /usr/lib/pkgconfig/evolution-plugin.pc /usr/lib/pkgconfig/evolution-plugin-2.8.pc".

    Par contre le code de ce plugin semble être intimement lié à la version 2.8 d'évolution.

    La compilation s'arrête avec :

    bigbob@bigbob-laptop:~/tmp/evolution-plugin-readpst-0.3.2$ sudo ln -sf /usr/lib/pkgconfig/evolution-plugin.pc /usr/lib/pkgconfig/evolution-plugin-2.8.pc
    bigbob@bigbob-laptop:~/tmp/evolution-plugin-readpst-0.3.2$ ./configure
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether to enable maintainer-specific portions of Makefiles... no
    checking for style of include used by make... GNU
    checking for gcc... gcc
    checking for C compiler default output file name... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables...
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking dependency style of gcc... gcc3
    checking for intltool >= 0.30... 0.40.0 found
    checking for intltool-update... /usr/bin/intltool-update
    checking for intltool-merge... /usr/bin/intltool-merge
    checking for intltool-extract... /usr/bin/intltool-extract
    checking for xgettext... /usr/bin/xgettext
    checking for msgmerge... /usr/bin/msgmerge
    checking for msgfmt... /usr/bin/msgfmt
    checking for perl... /usr/bin/perl
    checking for XML::Parser... ok
    checking for gcc... (cached) gcc
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking for gcc option to accept ISO C89... (cached) none needed
    checking dependency style of gcc... (cached) gcc3
    checking for library containing strerror... none required
    checking how to run the C preprocessor... gcc -E
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for ANSI C header files... yes
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking for a sed that does not truncate output... /bin/sed
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for /usr/bin/ld option to reload object files... -r
    checking for BSD-compatible nm... /usr/bin/nm -B
    checking whether ln -s works... yes
    checking how to recognize dependent libraries... pass_all
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking dlfcn.h usability... yes
    checking dlfcn.h presence... yes
    checking for dlfcn.h... yes
    checking for g++... g++
    checking whether we are using the GNU C++ compiler... yes
    checking whether g++ accepts -g... yes
    checking dependency style of g++... gcc3
    checking how to run the C++ preprocessor... g++ -E
    checking for g77... no
    checking for xlf... no
    checking for f77... no
    checking for frt... no
    checking for pgf77... no
    checking for cf77... no
    checking for fort77... no
    checking for fl32... no
    checking for af77... no
    checking for xlf90... no
    checking for f90... no
    checking for pgf90... no
    checking for pghpf... no
    checking for epcf90... no
    checking for gfortran... gfortran
    checking whether we are using the GNU Fortran 77 compiler... yes
    checking whether gfortran accepts -g... yes
    checking the maximum length of command line arguments... 98304
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for objdir... .libs
    checking for ar... ar
    checking for ranlib... ranlib
    checking for strip... strip
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC
    checking if gcc PIC flag -fPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... no
    configure: creating libtool
    appending configuration tag "CXX" to libtool
    checking for ld used by g++... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
    checking for g++ option to produce PIC... -fPIC
    checking if g++ PIC flag -fPIC works... yes
    checking if g++ static flag -static works... yes
    checking if g++ supports -c -o file.o... yes
    checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
    checking dynamic linker characteristics... GNU/Linux ld.so
    (cached) (cached) checking how to hardcode library paths into programs... immediate
    appending configuration tag "F77" to libtool
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... no
    checking for gfortran option to produce PIC... -fPIC
    checking if gfortran PIC flag -fPIC works... yes
    checking if gfortran static flag -static works... yes
    checking if gfortran supports -c -o file.o... yes
    checking whether the gfortran linker (/usr/bin/ld) supports shared libraries... yes
    checking dynamic linker characteristics... GNU/Linux ld.so
    (cached) (cached) checking how to hardcode library paths into programs... immediate
    checking what warning flags to pass to the C compiler... -Wall -Wmissing-prototypes
    checking what language compliance flags to pass to the C compiler...
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for pkg-config... (cached) /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking evolution version... 2.8
    checking for EVOLUTION... yes
    checking plugin installation directory... /usr/lib/evolution/2.22/plugins
    checking Evolution e-error installation directory... /usr/share/evolution/2.22/errors
    checking whether NLS is requested... yes
    checking for msgfmt... (cached) /usr/bin/msgfmt
    checking for gmsgfmt... /usr/bin/msgfmt
    checking for xgettext... (cached) /usr/bin/xgettext
    checking for msgmerge... (cached) /usr/bin/msgmerge
    checking for ld used by GCC... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for shared library run path origin... done
    checking for CFPreferencesCopyAppValue... no
    checking for CFLocaleCopyCurrent... no
    checking for GNU gettext in libc... yes
    checking whether to use NLS... yes
    checking where the gettext function comes from... libc
    checking locale.h usability... yes
    checking locale.h presence... yes
    checking for locale.h... yes
    checking for LC_MESSAGES... yes
    checking libintl.h usability... yes
    checking libintl.h presence... yes
    checking for libintl.h... yes
    checking for ngettext in libc... yes
    checking for dgettext in libc... yes
    checking for bind_textdomain_codeset... yes
    checking for msgfmt... (cached) /usr/bin/msgfmt
    checking for dcgettext... yes
    checking if msgfmt accepts -c... yes
    checking for gmsgfmt... (cached) /usr/bin/msgfmt
    checking for xgettext... (cached) /usr/bin/xgettext
    checking which libpst to use... internal
    checking for struct _pst_item_appointment.all_day... yes
    checking for struct _pst_item_appointment.alarm... yes
    checking for struct _pst_item_appointment.recurrence
    ... yes
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating src/Makefile
    config.status: creating po/Makefile.in
    config.status: creating config.h
    config.status: executing depfiles commands
    config.status: executing po-directories commands
    config.status: creating po/POTFILES
    config.status: creating po/Makefile
    config.status: executing default-1 commands
    config.status: executing po/stamp-it commands

    Selected installation path: /usr/lib/evolution/2.22/plugins

    bigbob@bigbob-laptop:~/tmp/evolution-plugin-readpst-0.3.2$ make
    make all-recursive
    make[1]: entrant dans le répertoire « /home/bigbob/tmp/evolution-plugin-readpst-0.3.2 »
    Making all in po
    make[2]: entrant dans le répertoire « /home/bigbob/tmp/evolution-plugin-readpst-0.3.2/po »
    make[2]: Rien à faire pour « all ».
    make[2]: quittant le répertoire « /home/bigbob/tmp/evolution-plugin-readpst-0.3.2/po »
    Making all in src
    make[2]: entrant dans le répertoire « /home/bigbob/tmp/evolution-plugin-readpst-0.3.2/src »
    /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I -I.. -DGETTEXT_PACKAGE="\"evolution-plugin-readpst-0.0\"" -DLOCALEDIR="\"/usr/local/share/locale\"" -DORBIT2=1 -pthread -I/usr/include/libgnome-2.0 -I/usr/include/orbit-2.0 -I/usr/include/gconf/2 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libbonobo-2.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libgnomeui-2.0 -I/usr/include/libart-2.0 -I/usr/include/gnome-keyring-1 -I/usr/include/libbonoboui-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/gail-1.0 -I/usr/include/freetype2 -I/usr/include/atk-1.0 -I/usr/lib/gtk-2.0/include -I/usr/include/cairo -I/usr/include/libpng12 -I/usr/include/pixman-1 -I/usr/include/evolution-2.22 -I/usr/include/evolution-data-server-2.22 -I../libpst -Wall -MT pst-importer.lo -MD -MP -MF .deps/pst-importer.Tpo -c -o pst-importer.lo pst-importer.c
    mkdir .libs
    gcc -DHAVE_CONFIG_H -I. -I.. -I -I.. -DGETTEXT_PACKAGE=\"evolution-plugin-readpst-0.0\" -DLOCALEDIR=\"/usr/local/share/locale\" -DORBIT2=1 -pthread -I/usr/include/libgnome-2.0 -I/usr/include/orbit-2.0 -I/usr/include/gconf/2 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libbonobo-2.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libgnomeui-2.0 -I/usr/include/libart-2.0 -I/usr/include/gnome-keyring-1 -I/usr/include/libbonoboui-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/gail-1.0 -I/usr/include/freetype2 -I/usr/include/atk-1.0 -I/usr/lib/gtk-2.0/include -I/usr/include/cairo -I/usr/include/libpng12 -I/usr/include/pixman-1 -I/usr/include/evolution-2.22 -I/usr/include/evolution-data-server-2.22 -I../libpst -Wall -MT pst-importer.lo -MD -MP -MF .deps/pst-importer.Tpo -c pst-importer.c -fPIC -DPIC -o .libs/pst-importer.o
    In file included from /usr/include/evolution-data-server-2.22/libecal/e-cal-component.h:28,
    from /usr/include/evolution-data-server-2.22/libecal/e-cal-recur.h:27,
    from /usr/include/evolution-data-server-2.22/libecal/e-cal.h:29,
    from pst-importer.c:52:
    /usr/include/evolution-data-server-2.22/libical/ical.h:30:2: warning: #warning "Please ensure that the memory returned by the functions mentioned at http://bugzilla.gnome.org/show_bug.cgi?id=516408#c1 are free'ed"
    In file included from /usr/include/evolution-data-server-2.22/libecal/e-cal-util.h:25,
    from /usr/include/evolution-data-server-2.22/libecal/e-cal.h:30,
    from pst-importer.c:52:
    /usr/include/evolution-data-server-2.22/libical/ical.h:30:2: warning: #warning "Please ensure that the memory returned by the functions mentioned at http://bugzilla.gnome.org/show_bug.cgi?id=516408#c1 are free'ed"
    pst-importer.c:108: error: field 'msg' has incomplete type
    pst-importer.c: In function 'set_cal_attachments':
    pst-importer.c:1249: warning: 'e_util_mkdir_hier' is deprecated (declared at /usr/include/evolution-data-server-2.22/libedataserver/e-data-server-util.h:37)
    pst-importer.c: At top level:
    pst-importer.c:1593: error: variable 'pst_import_op' has initializer but incomplete type
    pst-importer.c:1594: warning: excess elements in struct initializer
    pst-importer.c:1594: warning: (near initialization for 'pst_import_op')
    pst-importer.c:1595: warning: excess elements in struct initializer
    pst-importer.c:1595: warning: (near initialization for 'pst_import_op')
    pst-importer.c:1596: warning: excess elements in struct initializer
    pst-importer.c:1596: warning: (near initialization for 'pst_import_op')
    pst-importer.c:1597: warning: excess elements in struct initializer
    pst-importer.c:1597: warning: (near initialization for 'pst_import_op')
    pst-importer.c: In function 'pst_import':
    pst-importer.c:1644: warning: passing argument 1 of 'mail_msg_new' from incompatible pointer type
    pst-importer.c:1644: error: too many arguments to function 'mail_msg_new'
    pst-importer.c:1667: error: 'mail_thread_queued' undeclared (first use in this function)
    pst-importer.c:1667: error: (Each undeclared identifier is reported only once
    pst-importer.c:1667: error: for each function it appears in.)
    make[2]: *** [pst-importer.lo] Erreur 1
    make[2]: quittant le répertoire « /home/bigbob/tmp/evolution-plugin-readpst-0.3.2/src »
    make[1]: *** [all-recursive] Erreur 1
    make[1]: quittant le répertoire « /home/bigbob/tmp/evolution-plugin-readpst-0.3.2 »
    make: *** [all] Erreur 2

    real 0m0.604s
    user 0m0.428s
    sys 0m0.152s
    bigbob@bigbob-laptop:~/tmp/evolution-plugin-readpst-0.3.2$

    ensuite :

    bigbob@bigbob-laptop:~/tmp/evolution-plugin-readpst-0.3.2$ grep -r mail_thread_queued /usr/include/*
    bigbob@bigbob-laptop:~/tmp/evolution-plugin-readpst-0.3.2$

    Pas de declaration de 'mail_thread_queued' et étant donné que je trouve pas cette fonction dans '/usr/include', j'en déduit que celle-ci a du être supprimé dans le code plus récent d'évolution (je suis sous hardy avec la version 2.22).

    A++