This is the mail archive of the frysk@sources.redhat.com mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GPOINTER_TO_INT on 64-bit arch: cast from pointer to integer of different size


Wu Zhou wrote:
On Tue, 18 Apr 2006, Chris Moller wrote:

The problem seems to be in your expansion of `pkg-config --cflags gtk+-2.0`

Thanks. I guess you are right!


On 32-bit machines, that expansion includes -I<top>/lib/glib-2.0/include
which contains glibconfig.h which contains the macro def

#define GPOINTER_TO_INT(p) ((gint) (p))

64-bit machines use glibconfig.h from -I<top>/lib64/glib-2.0/include
which sets

#define GPOINTER_TO_INT(p) ((gint) (glong) (p))

I don't know how or why your `pkg-config --cflags gtk+-2.0` isn't doing
the right thing, but i suspect fixing that will solve the problem.
Chris, good catch!

Being able to spot things like this is also why -Werror is so important for us.

On ppc64, the default build option is to create 32-bit binary. I believe
this is the reason why pkg-config reports /usr/lib/glib-2.0/include in the gtk+'s cflags.


By exporting PKG_CONFIG_PATH="/usr/lib64/pkgconfig/", pkg-config can reports /usr/lib64/glib-2.0/include. But I am not sure if this is the best way to handle this.

Yes, that is expected to work. The only alternative I know is to install the 64-bit pkg-config, that would return the 64-bit paths by default. BTW, thanks to Diego, frysk's autoconf magic is expected to do the right thing here - it follows pkg-config's lead when it comes to selecting 32-bit or 64-bit paths.

Andrew




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]