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

Reply via email to