Bug 37752

Summary: lack of fstat()
Product: [Retired] Red Hat Linux Reporter: Need Real Name <krp>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact: Aaron Brown <abrown>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: fweimer
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-04-26 08:50:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2001-04-26 08:50:22 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.75 [en] (X11; U; Linux 2.2.16-22 i686)


binaries compiled with Lahey fortran lf95 complain:
./a.out: error while loading shared libraries:
/usr/local/lf9555/lib/libfj9i6.so.1:
undefined symbol: fstat
However, they run when compiled statically. Suspect bug in glibc

Reproducible: Always
Steps to Reproduce:
1. lf95 test.f
2. ./a.out
3.
	

Actual Results:  /a.out: error while loading shared libraries:
/usr/local/lf9555/lib/libfj9i6.so.1:
undefined symbol: fstat

lf95 is working well under RH7.0 with glibc-2.2-5

Comment 1 Jakub Jelinek 2001-04-26 09:23:59 UTC
No, the problem is in Lahey libraries.
Each library should have its own private copies of stat/fstat/lstat/mknod
if not all their occurences are inlined.
Current glibc just enforces this.
Either request the libraries to be recompiled, or link things with additional
objects which will as workaround export those symbols until this is fixed in
Lahey, something like:
#include <sys/stat.h>
#undef fstat
#undef __fstat
int
__fstat (int fd, struct stat *buf)
{
  return __fxstat (_STAT_VER, fd, buf);
}
extern int fstat (int fd, struct stat *buf) __attribute__((weak, alias("__fstat")));
and similarly for other functions.