[GRASS5] current d.vect/symbol code and gcc 2.96

Hi,

while the new d.vect with list support for symbols
works fine in MacOSX and Redhat Enterprise 3, it
still fails on RH7/gcc 2.96.

It seems to crash in one of the G_realloc() lines.

Is there anyone using gcc 2.96

Here some debugging details:

Breakpoint 3, icon_files () at main.c:73
(gdb) cont
D0/0: list basic/circle,basic/box,basic/cross1,basic/diamond,basic/x,basic/point,basic/airport,basic/arrow1,basic/arrow2,basic/compass,basic/cross2,basic/marker,basic/octagon,basic/star,
D0/0: di->d_name: muchomurka
D0/0: buf basic/target
D0/0: ni: 10

Breakpoint 3, icon_files () at main.c:73
(gdb) cont

Program received signal SIGSEGV, Segmentation fault.
0x4052b1e6 in chunk_free (ar_ptr=0x405dccc0, p=0x8054638) at malloc.c:3242
  in malloc.c
(gdb)

It crashes when d->d_name is set to 'demo':
    buf = G_realloc(buf, strlen(d->d_name) + ni );

No idea how to get this working.

Markus

Markus,

don't waste your time on it. GCC 2.96 is a RedHat special.
It's a severly broken version of GCC with some last-minute
patches that was probably never meant for
productive used -- which did not stop RedHat from including
it in their distro.
Use versions 2.95.1 to 2.95.3 if you want to test an older
generation of GCC.

Cheers,

Benjamin

On Mon, 13 Dec 2004 13:48:56 +0100
Markus Neteler <neteler@itc.it> wrote:

Hi,

while the new d.vect with list support for symbols
works fine in MacOSX and Redhat Enterprise 3, it
still fails on RH7/gcc 2.96.

It seems to crash in one of the G_realloc() lines.

Is there anyone using gcc 2.96

Here some debugging details:

Breakpoint 3, icon_files () at main.c:73
(gdb) cont
D0/0: list basic/circle,basic/box,basic/cross1,basic/diamond,basic/x,basic/point,basic/airport,basic/arrow1,basic/arrow2,basic/compass,basic/cross2,basic/marker,basic/octagon,basic/star,
D0/0: di->d_name: muchomurka
D0/0: buf basic/target
D0/0: ni: 10

Breakpoint 3, icon_files () at main.c:73
(gdb) cont

Program received signal SIGSEGV, Segmentation fault.
0x4052b1e6 in chunk_free (ar_ptr=0x405dccc0, p=0x8054638) at malloc.c:3242
  in malloc.c
(gdb)

It crashes when d->d_name is set to 'demo':
    buf = G_realloc(buf, strlen(d->d_name) + ni );

No idea how to get this working.

Markus

_______________________________________________
grass5 mailing list
grass5@grass.itc.it
http://grass.itc.it/mailman/listinfo/grass5

Benjamin Ducke wrote:

Markus,

don't waste your time on it. GCC 2.96 is a RedHat special.
It's a severly broken version of GCC with some last-minute
patches that was probably never meant for
productive used -- which did not stop RedHat from including
it in their distro.
Use versions 2.95.1 to 2.95.3 if you want to test an older
generation of GCC.

Cheers,

Benjamin,

the compiler is in use on grass.itc.it (it's actually used by
the cron job building the Saturday's binaries). For various
reasons I stick with that old RH version on that machine (of
course security patched).

So I don't have much choice. And GRASS was working since
2001 completely on this machine - that's why I assume
a bug rather that a compiler problem.

Markus