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 126756 - openssl set_key() macro clashes with Device::set_key()
openssl set_key() macro clashes with Device::set_key()
Status: RESOLVED NOTABUG
Product: gtkmm
Classification: Bindings
Component: general
2.4
Other Linux
: Normal minor
: ---
Assigned To: gtkmm-forge
gtkmm-forge
Depends on:
Blocks:
 
 
Reported: 2003-11-11 21:28 UTC by Marcel Karras
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: 2.3/2.4



Description Marcel Karras 2003-11-11 21:28:02 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
Comment 1 Murray Cumming 2003-11-12 13:43:33 UTC
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.
 
Comment 2 Murray Cumming 2003-11-21 14:04:25 UTC
Does that make sense?
Comment 3 Murray Cumming 2003-11-23 16:30:56 UTC
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.
Comment 4 Marcel Karras 2004-01-20 22:10:03 UTC
I forwarded the problem to openssl-dev mailinglist and will refresh
the bug summary if there's a statement.