Subject: Re: CCL:undefined fstat for G98

From: [email-masked]
Date: Mon, 24 Sep 2001 17:54:23 +0800

The opinion from Dr. Doug Fox is correct. fstat is supposed to
reside in /lib/ld-linux.so.2, which is symbolic link to /lib/ld-2.x.x.so. 
For me, the older system (Slackware 7.0) uses glibc-2.1.2, so I can find 
fstat in ld-2.1.2.so using the "nm -s" command. However, for Slackware 8.0
which utilizes glibc-2.2.3, fstat no longer resides in ld-2.2.3.so. The
replacement I suspect in the new shared lib is fstat64, which supports
long file (>2GB). 

	But installing an older share library on the system cannot solve
the problem. It may survive Gaussian 98, but on the contrary it will make
other programs which reference the newer share library fail with undefined 
reference. IMHO, we need some way else to resolve this because I believe
any updated releases of Linux distributions will go for the new glibc.

--
Jen-Shiang Kenny Yu 	//	[email-masked]

Theoretical Chemistry Lab,
Department of Chemistry,
National Tsing Hua University
Hsinchu 300, TAIWAN

> Hi, Dear Listers,
> 
> Several days ago, I posted a qustion about g98 on Redhat 7.1:
> 
> >   I compile g98 on Redhat 7.1 with pgf77 version 3.1 and get following
> warnings:
> util.so: the use of `tmpnam' is dangerous, better use `mkstemp'
> /home/scratch/test/pgi/linux86/lib/libpgftnrtl.a(cnfg.o): In function
> `__fio_scratch_name':
> cnfg.o(.text+0x33): the use of `tempnam' is dangerous, better use `mkstemp'.
> 
> The compilation finished anyway, but when I ran g98,
> following error appeared:
> 
> g98: error while loading shared libraries: /home/scratch/test/g98/util.so:
> undefined symbol: fstat
> Nothing appeared in output file at all.
> >
> 
>     I received several warm replies from Dr. Doug Fox, Dr. Darko Babic,
> 
> > From Dr. Doug Fox:
> 
>    fstat is a standard system utility and should be resolved out of runtime
> libraries provided with RedHat.  This error suggests RedHat has either
> a) made very substantial changes to the structure of these libraries or
> b) you omitted some of the runtime library packages when you installed
> Linux.
> 
>    This lives in libc on my 6.2 machine so check to see if you have an
> older version of libc you can install.