J'ai récemment découvert un plugin pour Evolution nommé evolution-pst-import-plugin. Le nom est explicite, le soft n'est disponible que sous OpenSuse et je veut l'utiliser sous Debian.
Je récupère donc les sources de la dernière version disponible ici[0].
J'ai installé evolution-dev qui a lui aussi installer un paquet de dépendance (tout devrait être ok). Lorsque je lance le ./configure comme suit :
export PKG_CONFIG=/usr/bin/pkg-config && ./configure --with-plugin-install-dir=/usr/lib/evolution/2.22/plugins/ --prefix=/usr --with-evolution-version=2.22 --includedir=/usr/include/evolution-data-server-2.22/
Ben j'ai droit à un beau message :
checking Evolution e-error installation directory... configure: error: Unable to find error file directory
Et là j'y comprend rien et google non plus visiblement.
De toute manière, si je fait le barbare en supprimant la vérification du configure, l'exécution de make est bien pire. Quand j'exécute make, il se plaint de ne pas trouver un paquet de headers, comme par exemple :
- des trucs gtk qui se trouvent dans gtk-2.0/gtk/
- des trucs mail qui se trouvent dans evolution-2.22/mail/
- des trucs camel qui se trouvent dans evolution-data-server-2.22/camel/
etc...
Alors je me doute bien que j'ai du manquer une étape, mais je ne sais pas trop ce que je doit faire, à la fois pour l'exécution du configure et pour les headers.
[0] http://software.opensuse.org/search?baseproject=ALL&p=1&q=ev(...)
# Vieille version ...
Posté par Stephane COLIN (site web personnel) . Évalué à 2.
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++
[^] # Re: Vieille version ...
Posté par Henry-Nicolas Tourneur (site web personnel) . Évalué à 2.
Quand tu download le RPM pour x86_64 (dont je ne sais rien faire), tu vois qu'il s'installe dans un répertoire 2.22 donc la dernière version d'Evolution, donc je suppose qu'il y a moyen de le faire marcher.
Je vais tester demain le lien avant le configure, merci du renseignement.
[^] # Re: Vieille version ...
Posté par Stephane COLIN (site web personnel) . Évalué à 1.
Ça devrais compiler, mais il faudrait qu'on trouve le fichier d'include dans lequel se trouve la définition de la fonction manquante ...
A++
[^] # Re: Vieille version ...
Posté par Henry-Nicolas Tourneur (site web personnel) . Évalué à 2.
Avec ton lien, le ./configure passe très bien, mais à la compilation ça bloque plus tôt, j'ai le même problème de header que ce que j'avais déjà dit dans l'énoncé :
pst-importer.c:36:28: error: glib/gi18n-lib.h: No such file or directory
pst-importer.c:37:25: error: glib/gstdio.h: No such file or directory
pst-importer.c:38:26: error: glib/gprintf.h: No such file or directory
pst-importer.c:40:27: error: gtk/gtkwidget.h: No such file or directory
pst-importer.c:41:26: error: gtk/gtkframe.h: No such file or directory
pst-importer.c:42:25: error: gtk/gtkvbox.h: No such file or directory
pst-importer.c:43:25: error: gtk/gtkhbox.h: No such file or directory
pst-importer.c:44:26: error: gtk/gtklabel.h: No such file or directory
pst-importer.c:45:32: error: gtk/gtkcheckbutton.h: No such file or directory
pst-importer.c:47:29: error: e-util/e-import.h: No such file or directory
pst-importer.c:49:32: error: libebook/e-contact.h: No such file or directory
pst-importer.c:50:29: error: libebook/e-book.h: No such file or directory
pst-importer.c:52:27: error: libecal/e-cal.h: No such file or directory
pst-importer.c:53:37: error: libecal/e-cal-component.h: No such file or directory
pst-importer.c:55:47: error: libedataserver/e-data-server-util.h: No such file or directory
pst-importer.c:57:55: error: libedataserverui/e-source-selector-dialog.h: No such file or directory
pst-importer.c:59:32: error: camel/camel-folder.h: No such file or directory
pst-importer.c:60:31: error: camel/camel-store.h: No such file or directory
pst-importer.c:61:35: error: camel/camel-exception.h: No such file or directory
pst-importer.c:62:38: error: camel/camel-mime-message.h: No such file or directory
pst-importer.c:63:35: error: camel/camel-multipart.h: No such file or directory
pst-importer.c:64:38: error: camel/camel-data-wrapper.h: No such file or directory
pst-importer.c:65:36: error: camel/camel-stream-mem.h: No such file or directory
pst-importer.c:66:35: error: camel/camel-stream-fs.h: No such file or directory
pst-importer.c:67:36: error: camel/camel-file-utils.h: No such file or directory
pst-importer.c:69:33: error: mail/mail-component.h: No such file or directory
pst-importer.c:70:26: error: mail/mail-mt.h: No such file or directory
pst-importer.c:71:29: error: mail/mail-tools.h: No such file or directory
pst-importer.c:72:27: error: mail/em-utils.h: No such file or directory
In file included from pst-importer.c:74:
J'ai fait un apt-get install evolution-dev ce qui installe tout les headers nécessaires. Ceci dit, si il veut trouver /usr/include/camel/*.h, alors ça n'existe effectivement pas, le répertoire camel se trouve dans /usr/include/evolution-data-server-2.22/, gtk c'est pareil. Par rapport à ça, je suppose que je doit utiliser des variables lors du ./configure pour lui indiquer ou se trouve le répertoire gtk, camel et autres répertoires contenant des headers.
[^] # Re: Vieille version ...
Posté par Henry-Nicolas Tourneur (site web personnel) . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.