[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Debugging information/libc.so.4



Hi, I'm having a little trouble with a program I'm working on, and I'd 
like to use gdb to see what's going on, but when I try to include debug 
information at compilation time I get:

$ gcc -o lentes -g Lentes.c graphics.c -lm

ld: Output file requires shared library `libc.so.4'
gcc: Internal compiler error: program ld got fatal signal 6

The compilation goes ok when I don't use the -g switch...

when I do ldconfig -v to see if libc.so.4 in on ld's "path", I get (sorry 
to include all the output, but I think it may helpful)

$ /sbin/ldconfig -v

/sbin/ldconfig: version 1.7.14
/usr/local/lib:
	libjpeg.so.5 => libjpeg.so.5.0pl1
/usr/X11R5/lib:
	libXaw.so.3 => libXaw.so.3.1.0
	libX11.so.3 => libX11.so.3.1.0
	libXt.so.3 => libXt.so.3.1.0
/usr/X11R6/lib:
	libXaw.so.6 => libXaw.so.6.0
	libXIE.so.6 => libXIE.so.6.0
	libX11.so.6 => libX11.so.6.0
	libXt.so.6 => libXt.so.6.0
	libXpm.so.4 => libXpm.so.4.6
/usr/lib:
	libjpeg.so.5 => libjpeg.so.5
	libvga.so.1 => libvga.so.1.2.8
	libmh.so.3 => libmh.so.3.1
	libtcl.so.3 => libtcl.so.3.1.0
	libtkx.so.4 => libtkx.so.4.0.0
	libtclx.so.3 => libtclx.so.3.2.0
	libtk.so.4 => libtk.so.4.0.0
	libdb.so.1 => libdb.so.1.85.1
/lib:
	libf2c_i2.so.1 => libf2c_i2.so.1.1
	libm.so.5 => libm.so.5.0.5
	libss.so.1 => libss.so.1.0
	libe2p.so.1 => libe2p.so.1.0
	libc.so.5 => libc.so.5.2.18
	libm.so.4 => libm.so.4.6.27
	libc.so.4 => libc.so.4.6.27
	librl.so.2 => librl.so.2.0.3
	libet.so.1 => libet.so.1.0
	libe2fs.so.1 => libe2fs.so.1.0
	libdl.so.1 => libdl.so.1.7.14
	libf2c.so.1 => libf2c.so.1.1
	libcurses.so.0 => libcurses.so.0.1.2

Just for the record... do you see any problem in the following snip of
code? Am I so tired I can see the obvious? I have successfully ran the
program when compiled on a i486/Turbo C/MSDOS, i486/djgppv1(GCC)/MSDOS,
Alpha/Digital CC/OSF, Alpha/GCC/OSF, but I *need* it on a
i486/GCC/Debian Linux

void DumpScreen(tScreen * screen, const char *basename, char format,
  char verbose)
{
/*stuff deleted*/
   char *workfile="00000000.000";
/*stuff deleted*/
   strncpy(workfile,basename,4); /* the program core dumps here */
/*stuff deleted*/
}

Thanks for any help...

-Marcelo (Physics' Student, University of Costa Rica)
mmagallo@efis.ucr.ac.cr


Reply to: