Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Feb 2010 11:30:07 +0100
From:      Jeremie Le Hen <jeremie@le-hen.org>
To:        "Philip M. Gollucci" <pgollucci@p6m7g8.com>
Cc:        freebsd-apache@freebsd.org, Jeremie Le Hen <jeremie@le-hen.org>
Subject:   Re: error: Size of "void *" is less than size of "long"
Message-ID:  <20100210103007.GI60054@felucia.tataz.chchile.org>
In-Reply-To: <20100210101456.GH60054@felucia.tataz.chchile.org>
References:  <20100209221846.GD60054@felucia.tataz.chchile.org> <20100209222117.GE60054@felucia.tataz.chchile.org> <4B721611.5040509@p6m7g8.com> <20100210101456.GH60054@felucia.tataz.chchile.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Philip,

On Wed, Feb 10, 2010 at 11:14:57AM +0100, Jeremie Le Hen wrote:
> Hi Philip,
> 
> On Tue, Feb 09, 2010 at 09:12:33PM -0500, Philip M. Gollucci wrote:
> > On 2/9/2010 5:21 PM, Jeremie Le Hen wrote:
> > > Forgot the attachments :).
> > 
> > Your system is confused!! The problem isn't the port is something local
> > in your system or config or some odd cross compile foobar.
> > 
> > $ ./size
> > sizeof(long)  = 4
> > sizeof(void*) = 4
> > 
> > Can you run this please and post your output ?
> > 
> > #include <stdio.h>
> > 
> > int main (int argc, char **argv) {
> > 
> >   (void)fprintf(stdout, "sizeof(long)  = %d\n", sizeof(long));
> >   (void)fprintf(stdout, "sizeof(void*) = %d\n", sizeof(void*));
> > 
> >   return 0;
> > }
> > 
> > If either of them are '8' I'd look towards cross compile foobars.
> 
> Actually, I had already extracted the guilty test from the configure
> script and it didn't return an error when run manually:
> 
>     axl# cat /tmp/test.c
>     int main(void)
>     {
> 	return sizeof(void *) < sizeof(long);
>     }
>     axl# gcc -o /tmp/test /tmp/test.c
>     axl# /tmp/test ; echo $?
>     0
> 
> Here is your test program:
> 
>     axl# cat > /tmp/test2.c
>     #include <stdio.h>
> 
>     int main (int argc, char **argv) {
> 
>       (void)fprintf(stdout, "sizeof(long)  = %d\n", sizeof(long));
>       (void)fprintf(stdout, "sizeof(void*) = %d\n", sizeof(void*));
> 
>       return 0;
>     }
>     ^Daxl# gcc -o /tmp/test2 /tmp/test2.c
>     axl# /tmp/test2
>     sizeof(long)  = 4
>     sizeof(void*) = 4
> 
> I am utterly puzzled.  I don't have any local change.

Actually, the error message was misleading.  I've found the following
error message in the config.log file:

  /usr/local/lib/libpcre.so: undefined reference to `__stack_chk_fail_local'

I don't know why it happens since we have this symbol in libc.  I'm
rebuilding devel/pcre right now, I think it will fix the problem.

Regards,
-- 
Jeremie Le Hen

Humans are born free and equal.  But some are more equal than the others.
					    Coluche



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100210103007.GI60054>