Date: Thu, 14 Sep 2000 19:05:46 -0300 (BRT) From: vazquez@panic.iqm.unicamp.br To: FreeBSD-gnats-submit@freebsd.org Subject: gnu/21276: libI77 is unable to handle files >2Gbytes Message-ID: <20000914220546.0BD642072@panic.iqm.unicamp.br>
next in thread | raw e-mail | index | archive | help
>Number: 21276
>Category: gnu
>Synopsis: libI77 is unable to handle files >2Gbytes
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Sep 14 15:10:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: Pedro Vazquez
>Release: FreeBSD 4.1-STABLE i386
>Organization:
>Environment:
FreeBSD panic.iqm.unicamp.br 4.1-STABLE FreeBSD 4.1-STABLE #7: Fri Jul 28 14:54:48 BRT 2000 cordeiro@panic.iqm.unicamp.br:/usr/src/sys/compile/PANIC i386
>Description:
libI77 is unable to handle files greater than 2147627376 bytes (2G),
this makes the g77 (and f2c/gcc too on the latest freebsd versions )
generated binaries unable to deal with large quantum chemistry
calculations, for example
>How-To-Repeat:
Try to create a file bigger than 2G using fortran.
Run any big quantum chemistry ab-initio calculation , I've
old binaries (from 1996) of gaussian (www.gaussian.com)
compiled on FreeBSD2.x that run fine with big files, I found
this when building new binaries with FreeBSD4.x
>Fix:
I'm not sure but it seems this bug may be related to this modification:
/usr/src/contrib/libf2c/libI77/Version.c
/* 19 Jan. 1998: backspace.c: for b->ufmt==0, change sizeof(int) to
sizeof(uiolen). On machines where this would make a
difference, it is best for portability to compile libI77 with
-DUIOLEN_int (which will render the change invisible). */
According to
/usr/src/contrib/libf2c/libI77/README.netlib
Unformatted sequential records consist of a length of record
contents, the record contents themselves, and the length of
record contents again (for backspace). Prior to 17 Oct. 1991,
the length was of type int; now it is of type long, but you
can change it back to int by inserting
#define UIOLEN_int
at the beginning of fio.h. This affects only sue.c and uio.c .
I'm not an expert on the recent Make buildworld structure to follow
all steps from the import of libf2c into egcs to trace this problem
but I believe somewhere from 1996 to now something was changed
and limited the IO routines to 2G.
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000914220546.0BD642072>
