NONMEM Users Network Archive

Hosted by Cognigen

Re: NONMEM and g77

From: Nick Holford <n.holford>
Date: Tue, 18 Nov 2008 22:14:21 +1300


I can confirm that CONOUT$ does not work with gfortran and Windows 2003
Server. Thanks for the suggestion on how to work around this compiler
bug/feature. Its hard to believe they can produce a compiler that cannot
write to the console.

Have you done any benchmarking of gfortran performance?
I find that the Intel compilers (I'm currently using 10.1) are about 2 x
faster than gfortran with NONMEM VI under Windows 2003 Server (g77 is a
bit faster than gfortran).


Steve Chapel wrote:
> I made the changes so that NONMEM VI would be able to run with gfortran.
> On Windows, if you do not make the change, you get the error:
> Fortran runtime error: Bad file descriptor
> when you run NONMEM VI.
> On Linux, if you do not make the change, you get the error:
> Fortran runtime error: File already opened in another unit
> When you run NONMEM VI.
> I linked to the gcc bug reports I filed for these problems.
> It looks like the Linux problem will not be fixed, but it isn't much of a
> problem because you can still get NONMEM VI to report output to the console
> screen. In fact, the change I show causes output to be reported to the
> console screen instead of being thrown away.
> On Windows, gcc needs to be fixed to allow output to go to the console
> screen. I'll see what I can do to motivate gcc developers to fix the
> problem. It looks like a patch to fix the problem is ready. I will tell them
> that we have discussed the issue on this mailing list and that NONMEM users
> are waiting for a resolution of the issue.
> Steve
> -----Original Message-----
> From: owner-nmusers
> Behalf Of Nick Holford
> Sent: Monday, November 17, 2008 3:12 AM
> To: nmusers
> Subject: Re: [NMusers] NONMEM and g77
> Steve,
> By sending CONOUT$ to NMOUTPUT I think this means you dont get any
> intermediate output on the console screen. So why did you make this
> change? I find it quite helpful to be able to watch the progress of a run.
> Would you please give a brief explanation of why you made these changes
> for Windows and Linux?
> Nick
> Steve Chapel wrote:
>> I've been able to compile and run NONMEM VI version 2.0 using nmqual-6.3.3
>> and gfortran 4.3, both on Windows and on Linux. I had to make the
> following
>> changes:
>> On Windows, edit changes.g77.nm6.xml:
>> change CONOUT$ to a filename such as NMOUTPUT
>> <>
>> On Linux, edit changes.nix.nm6.xml:
>> change the second /dev/null to /dev/tty and the third /dev/null to JUNK
>> <>
>> I used the MinGW version of the gcc compilers on Windows and the version
> of
>> gcc that ships with Fedora 10 on Linux.
>> Ignore the huge number of warning messages the compiler spits out. When I
>> test using, I get the same output as with g77 3.4.5 and 3.4.6.
>> Steve
>> -----Original Message-----
>> From: owner-nmusers
> On
>> Behalf Of Darin Perusich
>> Sent: Tuesday, September 02, 2008 9:38 AM
>> To: Joachim.Grevel
>> Cc: nmusers
>> Subject: Re: [NMusers] NONMEM and g77
>> gfortran releases after version 4.1 are not compatible with NONMEM
>> because it is a Fortran 95 compiler and NONMEM is written to conform
>> with the Fortran 77 standard. The gfortran developers claim that "most"
>> Fortran 77 code "should" work with minimal or no code modifications but
>> this didn't prove to be the case. I tried getting NONMEM to build with
>> gfortran 4.2.x for the better part of a day using a myriad of
>> compatibility options but it was to no avail, at which point I switched
>> to GNU Fortran g77 3.3.5 and have had no issues what so ever.
>> If anyone has had success building NONMEM with recent releases gfortran
>> I'd be very interested in knowing which version and the options used.

Nick Holford, Dept Pharmacology & Clinical Pharmacology
University of Auckland, 85 Park Rd, Private Bag 92019, Auckland, New Zealand
Received on Tue Nov 18 2008 - 04:14:21 EST

The NONMEM Users Network is maintained by ICON plc. Requests to subscribe to the network should be sent to:

Once subscribed, you may contribute to the discussion by emailing: