GNOME Bugzilla – Bug 126756
openssl set_key() macro clashes with Device::set_key()
Last modified: 2004-12-22 21:47:04 UTC
If I compile my project the following error will appear: In file included from /usr/include/gtkmm-2.0/gdkmm/display.h:30, from /usr/include/gtkmm-2.0/gtkmm/widget.h:37, from /usr/include/gtkmm-2.0/gtkmm/container.h:28, from /usr/include/gtkmm-2.0/gtkmm/bin.h:29, from /usr/include/gtkmm-2.0/gtkmm/window.h:31, from ../include/windowtoplevel.h:24, from main.cc:37: /usr/include/gtkmm-2.0/gdkmm/device.h:131:67: macro "des_set_key" passed 3 arguments, but takes just 2 In file included from /usr/include/gtkmm-2.0/gdkmm/display.h:30, from /usr/include/gtkmm-2.0/gtkmm/widget.h:37, from /usr/include/gtkmm-2.0/gtkmm/container.h:28, from /usr/include/gtkmm-2.0/gtkmm/bin.h:29, from /usr/include/gtkmm-2.0/gtkmm/window.h:31, from ../include/windowtoplevel.h:24, from main.cc:37: /usr/include/gtkmm-2.0/gdkmm/device.h:131: error: variable or field ` des_set_key' declared void
On irc you mentioned that this had something to do with opensll. Do I remember that correctly? gtkmm is certainly not meaning to call any part of the openssl API. This is the code on that line: void set_key (guint index_, guint keyval, ModifierType modifiers); I guess that a public openssl header defines a C macro as set_key(). That would be a terrible opensll bug that you must tell them about ASAP. You can test this theory by just #including your openssl header in any gtkmm example. Please do tell me what you find out.
Does that make sense?
Closing, due to lack of response, and almost certainty that this is a ridiculous bug in openssl, and because gtkmm does not use openssl at all.
I forwarded the problem to openssl-dev mailinglist and will refresh the bug summary if there's a statement.