|
From: Geoff A. <gal...@nc...> - 2003-07-13 04:47:19
|
I'm trying to install valgrind 1.9.6 on SuSE 7.1 and get the following = error: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include = -DVG_LIBDIR=3D"\"/usr/local/valgrind-1.9.6/lib"\" -Winline -Wall = -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=3D2 -g = -fno-omit-frame-pointer -c `test -f 'vg_intercept.c' || echo = './'`vg_intercept.c vg_intercept.c: In function `vgAllRoadsLeadToRome_poll': vg_intercept.c:285: sizeof applied to an incomplete type vg_intercept.c: In function `vgAllRoadsLeadToRome_select': vg_intercept.c:564: sizeof applied to an incomplete type vg_intercept.c:575: dereferencing pointer to incomplete type vg_intercept.c:575: dereferencing pointer to incomplete type vg_intercept.c:595: dereferencing pointer to incomplete type vg_intercept.c:596: dereferencing pointer to incomplete type make[3]: *** [vg_intercept.o] Error 1 I'm using gcc 2.95.2. Anyone seen this before? BTW, I tried to search the valgrind-users mail archive at = sourceforge.net = (http://sourceforge.net/mailarchive/forum.php?forum_id=3D32038), but no = matter what I entered I got "no matches found". Is it possible to = search the mail archives? Thanks, Geoff Alexander |
|
From: Nicholas N. <nj...@ca...> - 2003-07-23 21:09:29
|
On Sun, 13 Jul 2003, Geoff Alexander wrote: > I'm trying to install valgrind 1.9.6 on SuSE 7.1 and get the following error: > gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./demangle -I../include -DVG_LIBDIR="\"/usr/local/valgrind-1.9.6/lib"\" -Winline -Wall -Wshadow -O -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -fno-omit-frame-pointer -c `test -f 'vg_intercept.c' || echo './'`vg_intercept.c > vg_intercept.c: In function `vgAllRoadsLeadToRome_poll': > vg_intercept.c:285: sizeof applied to an incomplete type > vg_intercept.c: In function `vgAllRoadsLeadToRome_select': > vg_intercept.c:564: sizeof applied to an incomplete type > vg_intercept.c:575: dereferencing pointer to incomplete type > vg_intercept.c:575: dereferencing pointer to incomplete type > vg_intercept.c:595: dereferencing pointer to incomplete type > vg_intercept.c:596: dereferencing pointer to incomplete type > make[3]: *** [vg_intercept.o] Error 1 > I'm using gcc 2.95.2. Anyone seen this before? No... the compiler looks like it's complaining about not knowing the "struct timeval" type. This is defined in bits/time.h, which is #included in vg_intercept.c via sys/time.h, like so: #ifdef GLIBC_2_1 #include <sys/time.h> #endif If you're using gcc 2.95.2, are you using a glibc earlier than 2.1? Hmm, Valgrind's autoconf check should only work with glibc 2.1, 2.2 and 2.3... I'm not sure what's going on. One hack to try is to remove the #ifdef from the above code... if that doesn't work, I'm not sure, maybe it will be enough to get you somewhere? N |
|
From: Geoff A. <gal...@nc...> - 2003-07-28 02:42:26
|
----- Original Message -----
From: "Nicholas Nethercote" <nj...@ca...>
> No... the compiler looks like it's complaining about not knowing the
> "struct timeval" type. This is defined in bits/time.h, which is #included
> in vg_intercept.c via sys/time.h, like so:
>
> #ifdef GLIBC_2_1
> #include <sys/time.h>
> #endif
Thanks for the response. Removing the #ifdef GLIBC_2_1 fixed the problem.
SuSE 7.1 uses glibc 2.2. The config.h for valgrind properly sets GLIBC_2_2:
/* Define to 1 if you're using glibc 2.1.x */
/* #undef GLIBC_2_1 */
/* Define to 1 if you're using glibc 2.2.x */
#define GLIBC_2_2 1
/* Define to 1 if you're using glibc 2.3.x */
/* #undef GLIBC_2_3 */
The POSIX standard states that struct timeval is defined in sys/time.h
(http://www.opengroup.org/onlinepubs/007904975/basedefs/sys/time.h.html), so
don't understand why vg_intercept.c wraps the include of sys/time.h with
#ifdef GLIBC_2_1. Doesn't sys/time.h need to be included on glibc 2.2 and
2.3 systems as well as glibc 2.1 systems? Is this a bug? If not, where is
vg_intercept.c suppose to get struct timeval on glibc 2.2 and 2.3 systems?
Thanks,
Geoff Alexander
|
|
From: Geoff A. <gal...@nc...> - 2003-09-06 18:24:40
|
I recently downloaded valgrind 20030725 and still encountered the compile. It's easy enough to make the change myself, but I wonder if it's going to be fixed in the official distribution. Thanks, Geoff Alexander ----- Original Message ----- From: "Geoff Alexander" <gal...@nc...> To: "Nicholas Nethercote" <nj...@ca...> Cc: <val...@li...> Sent: Sunday, July 27, 2003 10:43 PM Subject: Re: [Valgrind-users] valgrind 1.9.6 compile problem with gcc 2.95.2 on SuSE 7.1 > > ----- Original Message ----- > From: "Nicholas Nethercote" <nj...@ca...> > > No... the compiler looks like it's complaining about not knowing the > > "struct timeval" type. This is defined in bits/time.h, which is #included > > in vg_intercept.c via sys/time.h, like so: > > > > #ifdef GLIBC_2_1 > > #include <sys/time.h> > > #endif > > Thanks for the response. Removing the #ifdef GLIBC_2_1 fixed the problem. > > SuSE 7.1 uses glibc 2.2. The config.h for valgrind properly sets GLIBC_2_2: > > /* Define to 1 if you're using glibc 2.1.x */ > /* #undef GLIBC_2_1 */ > > /* Define to 1 if you're using glibc 2.2.x */ > #define GLIBC_2_2 1 > > /* Define to 1 if you're using glibc 2.3.x */ > /* #undef GLIBC_2_3 */ > > The POSIX standard states that struct timeval is defined in sys/time.h > (http://www.opengroup.org/onlinepubs/007904975/basedefs/sys/time.h.html), so > don't understand why vg_intercept.c wraps the include of sys/time.h with > #ifdef GLIBC_2_1. Doesn't sys/time.h need to be included on glibc 2.2 and > 2.3 systems as well as glibc 2.1 systems? Is this a bug? If not, where is > vg_intercept.c suppose to get struct timeval on glibc 2.2 and 2.3 systems? > > Thanks, > Geoff Alexander > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users |
|
From: Nicholas N. <nj...@ca...> - 2003-10-12 18:30:53
|
On Sun, 27 Jul 2003, Geoff Alexander wrote: > > #ifdef GLIBC_2_1 > > #include <sys/time.h> > > #endif > > The POSIX standard states that struct timeval is defined in sys/time.h > (http://www.opengroup.org/onlinepubs/007904975/basedefs/sys/time.h.html), so > don't understand why vg_intercept.c wraps the include of sys/time.h with > #ifdef GLIBC_2_1. Doesn't sys/time.h need to be included on glibc 2.2 and > 2.3 systems as well as glibc 2.1 systems? Is this a bug? If not, where is > vg_intercept.c suppose to get struct timeval on glibc 2.2 and 2.3 systems? This was recently changed in the CVS head to say: #ifdef HAVE_SYS_TIME_H #include <sys/time.h> #endif which hopefully should fix all problems. Thanks for the reports. N |