[comp.lang.fortran] need advice porting program from VMS to Sun3

cchen@sbcs.sunysb.edu (Chyouhwa Chen) (09/23/89)

Hi, all,

I just ordered a 100K lines program written in VMS fortran for my
research.  I would like to port it to the Sun3 environment. Besides
being a more familiar environment to me, the Suns have Tektronics
4014 emulator that the program needs. ( We don't have Tek terminals.)
Has anybody attempted something like this?  Any advice for me 
before I make a fool of myself?   I'm sorry I have not been following
the discussions in this group closely.  It never occurs to me that 
I will be dealing with fortran again.

Thanks for any help you might offer.

- Chyouhwa
  cchen@sbcs.sunysb.edu
-------------------------

thorson@typhoon.atmos.colostate.edu (Bill Thorson) (09/25/89)

In article <3542@sbcs.sunysb.edu> cchen@sbcs.sunysb.edu (Chyouhwa Chen) writes:

>I just ordered a 100K lines program written in VMS fortran for my
>research.  I would like to port it to the Sun3 environment.

I thought all Sun's had basically the same FORTRAN compilers.  Our Sun's
FORTRAN came with a translator for VMS FORTRAN.  The translator is called
f77cvt.  The way our compiler works is that if the file name ends with
.vf or .for it is assumed to be VMS FORTRAN and if run throught the
translator.

>- Chyouhwa
>  cchen@sbcs.sunysb.edu

Bill Thorson
thorson.atmos.colostate.edu

sysruth@helios.physics.utoronto.ca (Ruth Milner) (09/27/89)

In article <2711@ccncsu.ColoState.EDU> thorson@typhoon.typhoon.atmos.colostate.edu (Bill Thorson) writes:
>In article <3542@sbcs.sunysb.edu> cchen@sbcs.sunysb.edu (Chyouhwa Chen) writes:
>
>>I just ordered a 100K lines program written in VMS fortran for my
>>research.  I would like to port it to the Sun3 environment.
>
>I thought all Sun's had basically the same FORTRAN compilers.  Our Sun's
>FORTRAN came with a translator for VMS FORTRAN.  The translator is called
>f77cvt.  The way our compiler works is that if the file name ends with
>.vf or .for it is assumed to be VMS FORTRAN and if run throught the
>translator.

You should be aware that not all VMS extensions are supported. For example,
a lot of the OPEN options are not supported under UNIX because they relate
to record structure, which UNIX basically has no concept of. And, of course,
if your 100K-line package has any system calls in it, you will have to either
replace those calls with corresponding UNIX versions (if there are any) or
write your own routines.

Also, a number of simple VMS extensions were built right into f77 itself;
things like END DO and DO WHILE etc. If the Fortran is not heavily
VMS-dependent, you may be able to compile with just this. If you don't
need it, don't run f77cvt. Although it handles many of the other things
which were too big to write into f77, it has also been known to make some
unnecessary changes. I don't know about Fortran 1.2, but under 1.0 it
would, for example, do things like change quoted character strings in WRITE 
statements into Hollerith (ack). Neither necessary nor desirable. 

If your package was written for VMS, it is likely to be very difficult
to port. In my experience, vendors writing specifically for VMS Fortran
tend to make heavy use of its extensions, particularly in file formats.
If it is essentially mathematical in nature, though, you may be able to
get away with it since standard Fortran 77 covers what is generally
needed.
-- 
 Ruth Milner          UUCP - {uunet,pyramid}!utai!helios.physics!sysruth
 Systems Manager      BITNET - sysruth@utorphys
 U. of Toronto        INTERNET - sysruth@helios.physics.toronto.edu
  Physics/Astronomy/CITA Computing Consortium

sysruth@helios.physics.utoronto.ca (Ruth Milner) (09/28/89)

It has been pointed out to me that the wording in my previous followup was
misleading:

> In article <1989Sep26.210148.7903@helios.physics.utoronto.ca> you write:
>>
>>Also, a number of simple VMS extensions were built right into f77 itself;
>>things like END DO and DO WHILE etc. If the Fortran is not heavily
>...
>>If it is essentially mathematical in nature, though, you may be able to
>>get away with it since standard Fortran 77 covers what is generally
>>needed.
>
>These seem to imply that END DO and DO WHILE are part of the Fortran 77
>standard.  That is false;  they are VMS extensions, and vanilla f77 on
>UNIX systems has not historically supported them.  
>
...
>	-P.
>-- 
>************************f*u*cn*rd*ths*u*cn*gt*a*gd*jb**************************
>Peter S. Shenkin, Department of Chemistry, Barnard College, New York, NY  10027
>(212)854-1418  shenkin@cunixc.cc.columbia.edu(Internet)  shenkin@cunixc(Bitnet)

This is of course right. I apologize for any ambiguity. What I was actually
trying to point out in the first part was that *Sun's* Fortran with VMS
extensions has these particular items built right into the f77 program, making 
the use of f77cvt often unnecessary. I did not mean to imply that it was part 
of everyone else's UNIX f77. (We are after all talking about Sun 3's in this
particular discussion, not UNIX systems in general - or at least that's
what I thought). 

In the second part, I simply meant that mathematical programs often do not 
need to make use of VMS extensions in order to get the job done efficiently, 
so that if that is the kind of thing this particular package does, it may 
not be an issue. If it was written for VMS, though, there is almost certainly 
something in 100,000 lines that even Sun's f77cvt can't swallow.  

Again, apologies if there were other people who read it that way.

-- 
 Ruth Milner          UUCP - {uunet,pyramid}!utai!helios.physics!sysruth
 Systems Manager      BITNET - sysruth@utorphys
 U. of Toronto        INTERNET - sysruth@helios.physics.toronto.edu
  Physics/Astronomy/CITA Computing Consortium