Date: Thu, 12 Aug 1999 12:46:38 +0200
From: José Javier Zarate <>
Subject: Computer and compiler questions

Dear all

I have been commited by I. Fernández de trocóniz (the NONMEM license owner) the purchase of a workstation for pharmacokinetik analysis.

After different studies we have chosen an Alpha machine running Linux.
Well, as the manuals say very little we would be very pleased if any of you could send any information to do the task of installing and running NONMEM under Alpha/Linux. Any tips or tricks will be appreciated.

Equally if any of you has any opinions about wich compilers are best to do the task or wich distribution of Linux does a better job (faster, more stable...) we would be very pleased to know. First of all we would need information about the different compilers available under Linux/Alpha and uitable to the task. It appears that Compaq has released a Fortran compiler for Alpha/Linux and also new math libraries, any experiences, thoughts or comments?

We are equally thinking about buying a DOS licence, but before doing that we would like to know about the different compilers suitable to do the task under Windos/DOS. What is available, wich produces faster results and that kind of things.

Thanking you for your attention

JJ Zarate
Departamento de Farmacia y Tecnologia Farmaceutica






Date: Fri, 13 Aug 1999 22:26:25 +0100
From: Pierre Maitre <>
Subject: Re:Computer and compiler questions

Dear Mr Zarate

Installing NONMEM on Intel/Linux is straightforward, just use the setup procedure described under the UNIX section of the NONMEM installation manual. I would think that the installation is almost identical for Alfa/Linux.

If your media is a 3.5" diskette (DOS version of NONMEM) you will have to change the numbers in the the BLKDAT subroutine to numbers specific to the alfa cpu. A problem you may also encounter is that the DOS "end of line" is CR LF , unlike linux that use the UNIX convention LF. You may overcome this problem by manually editing the NONMEM source files with the editor vi , and get rid of the last character (^M) with the global command ":1,$ g/.$/s///"

Don't buy any fortran compiler, it's all in linux for free. The front end of the compiler is called g77 (or f77 in the RedHat linux 6.0 version I am using). It actually translates the fortran code into C code, and then compiles the C code. For the user, this procedure is totally transparent and NONMEM can be compiled without problems. Various options of f77 are listed in the man page (type "man f77" or "man g77").

The executable obtained using the generic Linux f77 translator/compiler is very fast, although I have no other compiler on my machine to compare with. A benchmark comparing the performance of my old SUN SparcStation IPC that I used so far and Linux on my PC (a regular Pentium 350 MHz) showed that I can add the SUN to my personal collection of old computers: for the same NONMEM problem , the SUN cpu time was 35 min, whereas the PC cpu time with RedHat Linux was 42 seconds! 50 times faster! No need to say, the numerical results were identical. I am more than happy with that and will certainly not look after a third party "optimized compiler" for a 5 or 10% gain in speed.

Finally, why are you planning to use a concomittant Windows version of NONMEM? For what task? The best solution is to run NONMEM with Linux on a regular PC. Most of the Windows programs will run under Linux using the Windows emulator (wine) that comes with linux for free. And you have a generic spredsheet (gnumeric) that reads your Excel files. And a free Office 97 clone (StarOffice) that reads your Word files and presentation manager files. And if your PC has both linux and windows, linux can even mount your windows partitions and access your windows programs and windows data files. On linux (as on unix) you have lots of utilities like awk or perl to manipulate or transform your data or your NONMEM output, as well as lots of graphical tools like gv or gnuplot to generate a graphical picture of the NONMEM figures. For this purpose, the Windows environnement is not as confortable.

Best regards

Pierre Maitre
Genolier / Geneva / Switzerland






Date: Fri, 13 Aug 1999 14:58:16 -0700 (PDT)
From: ABoeckmann <>
Subject: Re: Computer and compiler questions

I have a few comments on Pierre Maitre's response to J. Zarate 's questions about installing NONMEM an Alpha machine running Linux.

First, the contstants in BLKDAT are always those for the Intel floating point architecture. It does not matter what format the diskettes are recorded in. The content is always the same.

If the Alpha uses the IEEE floating point architecture, then the SETUP C-shell script can be used as-is. It will change Intel constants in BLKDAT to IEEE constants.

If the Alpha uses the Intel floating point architecture, then it is necessary to prevent SETUP from changing constants in BLKDAT from Intel to IEEE.

With NONMEM V1.1., there is a new option for SETUP that tells it to leave the constants unchanged. E.g., something like this:

SETUP /home/nmv g77 -O ar intel

(With NONMEM V1.0's SETUP, stop SETUP and change the constants back to Intel before Step 6).

Second, if DOS-formatted diskettes are used, the file format must indeed be changed from MS-DOS CR/LF to Unix newline. It can be done using vi, as Pierre suggests, but I wonder if there is not an easier way. Does Linux not have the same dos2unix and unix2dos utility programs that Sun Unix has? Or can someone suggest a similar Linux command?

Note that the GNU website ( has a free package mtools. This includes the Unix program mcopy which can be used to read an MS-DOS-formatted diskette and perform DOS to Unix conversion while the file is being read.

Alison Boeckmann






Date: Wed, 18 Aug 1999 18:34:24 +0200
From: José Javier Zarate <>
Subject: Re: Computer and compiler questions

Excuse me all again

First of all thanks to everyone who replied my questions.

A couple of new questions, does Pacific Sierra new compiler produce a better (i e faster) code under Linux than the standard compiler provided with Linux? Does Absoft Pro Fortran 6 produce a better (i e faster) code under Linux than the standard compiler provided with Linux? Do any of both produce NONMEM compatible code?

It appears that Alpha uses the Intel floating point architecture (NONMEM users guide III, Chapter 3, 2.2.3).

It also appears that in the NONMEM user archives there are some clues on installing NONMEM under Linux/Alpha, but I am unable to find them.

Thanking you for your attention

JJ Zarate
Departamento de Farmacia y Tecnologia Farmaceutica






From: NIclas Jonsson <>
Date: Thu, 19 Aug 1999 10:04:39 +0100 (IST)
Subject: Re: Computer and compiler questions

The "standard" fortran compiler that comes with Linux is based on gcc, i.e. GNU's C-compiler. It is not, as was stated in a previous response to this thread, based on a translation of Fortran into C but is a true Fortran compiler.

I haven't benchmarked the different compilers but in general gcc and the other GNU developing tools have a very good reputation. Comparing the MS PowerStation Fortan 4.0 compiler with g77 (the GNU compiler) on the same machine shows no performance difference.

We have used g77 for more than a year now and are very happy with it. I would recommend that you at least try it out before you spend time and money on other compilers.

A note on the installation of NONMEM on a Linux machine (regardless of underlying architecture): Once you have installed Linux you are dealing with a unix machine and everything in the NONMEM installation Guide about unix machines apply. The only exception, as Alison pointed out, is that you need to make sure that you are using the right machine constants, e.g. NONMEM on an intel Linux box requires the intel constants.

Best regards,

Niclas Jonsson






Date: Thu, 19 Aug 1999 13:54:18 +0200 (MET DST)
From: Ruediger Port <R.Port@DKFZ-Heidelberg.DE>
Subject: Using NONMEM DOS files under Linux

Dear Dr. Zarate:

Here is a C-shell script that removes the CR/LF characters from all files in the current directory:

------------------------ begin of included file -----------------

# C-shell script, removes characters from all files in the current
# directory:

foreach file (*)
sed 's/\//g' < $file > $
mv $ $file

------------------------ end of included file -------------------

You won't see the change because Linux' vi editor doesn't show the character even when it is there. However, it does cause difficulties under UNIX even when you don't see it.

Good luck! Ruedi
(Dr. R. Port, German Cancer Research Center, Heidelberg, Germany)






Date: Thu, 19 Aug 1999 16:53:33 +0200
From: "Banken, Ludger {PDBS~Basel}" <>
Subject: RE: Computer and compiler questions

The GNU FORTRAN compiler g77 is also available for DOS. Can g77 be used as a reasonable compiler for NONMEM under DOS and MS-Windows?

In the past there was a lot of discussions about commercial FORTRAN compilers in NMusers, but the inexpensive compiler g77 had never been mentioned!

Best regards,

Ludger Banken