On Mon, Apr 21, 2008 at 6:11 PM, Arnie Stender <[EMAIL PROTECTED]> wrote: > > Dan Nicholson wrote: > > On Mon, Apr 21, 2008 at 7:34 AM, Arnie Stender <[EMAIL PROTECTED]> wrote: > > > >> Dan Nicholson wrote: > >> > That certainly looks like the type of error -Werror would throw, but I > >> > don't see it anywhere. What version of gcc is this? On the other hand, > >> > casting from a pointer to a non-pointer seems totally wrong even if > >> > it's probably harmless in this instance, so I'm guessing that the > >> > "real" fix is a patch. There should be some way to work around it, > >> > though. > >> > > >> > -- > >> > Dan > >> > > >> Hi Dan, > >> Thanks for the quick response and the instruction. This is "gcc (GCC) > >> 4.2.1". I'll try looking on the Mozilla site. > >> > > > > A little googling leads me to believe that this is a 64 bit problem, > > and I see that you had the same problem with firefox (as you should > > have since this is in the shared gtk2 widget source for gecko). It's > > trying to use the macro GPOINTER_TO_INT, which is defined in > > $libdir/glib-2.0/include/glibconfig.h. In your case, it looks like > > it's including /usr/lib/glib-2.0/include. So, the first question is: > > is this multilib 64 bit? Do you have /usr/lib64/glib-2.0/include? > > > > Could you grep for GPOINTER_TO_INT in > > /usr/lib/glib-2.0/include/glibconfig.h? I could be wrong, but I think > > it also needs to be casting it to (glong) instead of just (gint) by > > looking at how glibconfig.h is generated. > > > > -- > > Dan > > > Hi Dan, > Great info. What were you goggling for when you found that? This is
I googled for "nsappshell.cpp error cast". That led me here: http://benjamin.smedbergs.us/blog/2005-10-27/gcc-40-workaround/ One of the commenters has the same error, and Benjamin Smedberg replied that it's failing on GPOINTER_TO_INT, but it should work on x86_64. There was also your post about firefox that came up, and Ken's reply that clued in on multilib: http://linuxfromscratch.org/pipermail/blfs-support/2008-January/064216.html > This is > multi-lib. Yes, I have the 64 bit include. Hmm, I don't remember having > this problem with Firefox, although my memory isn't what it used to be > and definitely not as good as your archives. :-) Where do I change where > it's looking? This is all great stuff. Thanks. > > Arnie > > grep GPOINTER_TO_INT /usr/lib/glib-2.0/include/glibconfig.h > #define GPOINTER_TO_INT(p) ((gint) (p)) > root [ / ]# grep GPOINTER_TO_INT /usr/lib64/glib-2.0/include/glibconfig.h > #define GPOINTER_TO_INT(p) ((gint) (glong) (p)) > root [ / ]# Yep, it's missing that cast to (glong), which is needed on 64 bit. So, the problem is that mozilla is not picking up the right glib CFLAGS for 64 bit to set -I/usr/lib64/glib-2.0/include. Presumably, the mozilla configure script is fetching the flags from pkg-config, e.g. on my 32 bit system: $ pkg-config --cflags glib-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include So, you'll need to check if that's working correctly for you. CBLFS seems to have some multilib wrapping magic for pkg-config. I don't know if you have that or not. Basically, it needs to be picking up /usr/lib64/pkgconfig/glib-2.0.pc instead of /usr/lib/pkgconfig/glib-2.0.pc. -- Dan -- http://linuxfromscratch.org/mailman/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
