GNOME Bugzilla – Bug 625039
Commonly named macros in Camel header files
Last modified: 2010-07-29 01:59:48 UTC
Many includes of camel/camel-tcp-stream-ssl.h are not protected, causing the build to fail with: ../camel/camel-tcp-stream-ssl.h:27:18: error: prio.h: No such file or directory Adding naive protection of HAVE_SSL around all includes of that file results in an EDS that builds, but evolution is mostly blank (just menus) and crashes on menu use. Note that this is built with both --disable-ssl and --disable-smime Downstream gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=327893
Thanks for taking the time to report this bug. This particular bug has already been reported into our bug tracking system, but we are happy to tell you that the problem has already been fixed. It should be solved in the next software version. You may want to check for a software upgrade. *** This bug has been marked as a duplicate of bug 622392 ***
I believe this is not a duplicate. We ship nspr and nss pkg-config files, and they work fine. nspr and nss are both installed. However, eds provides configure options (--disable-ssl and --disable-smime) that turn off nss and nspr. Attempting to build with these options fails. Presumably either the build should be fixed or the options removed.
Oh okay, I didn't catch that you were using those options. Not reading closely today.
I believe the problem is that HAVE_SSL is a far too common symbol name to have in a public header file. In fact Evolution defines its own HAVE_SSL preprocessor symbol, and if it disagrees with Camel's compilation settings then trouble ensues when you #include <camel/camel.h>. I think that's what we're seeing here. My solution was to rename the public symbol to CAMEL_HAVE_SSL, and add -DCAMEL_HAVE_SSL to the Cflags line of camel-1.2.pc. Similarly with HAVE_NSS (renamed to CAMEL_HAVE_NSS). Let me know if this doesn't fix the problem completely. Committed to master branch only -- I'm not screwing around with this on a stable branch. http://git.gnome.org/browse/evolution-data-server/commit/?id=d820b590067a1c94536659a24beccc6b068dba25