After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 625039 - Commonly named macros in Camel header files
Commonly named macros in Camel header files
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Mailer
2.30.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-07-22 14:19 UTC by Daniel Gryniewicz
Modified: 2010-07-29 01:59 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Daniel Gryniewicz 2010-07-22 14:19:57 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
Comment 1 Matthew Barnes 2010-07-22 14:26:28 UTC
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 ***
Comment 2 Daniel Gryniewicz 2010-07-22 14:44:22 UTC
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.
Comment 3 Matthew Barnes 2010-07-22 15:49:05 UTC
Oh okay, I didn't catch that you were using those options.  Not reading closely today.
Comment 4 Matthew Barnes 2010-07-29 01:59:48 UTC
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