Pro Fortran 7.0/F77 SDK 5.0 for Macintosh Technical FAQs
31-Mar-03

Attention OS X 10.2 Users                                                     23-Aug-02
What is Apple's vecLib?                                                       23-Aug-02
New system tools package for Mac OS 10.1                                      03-Oct-01
Atools crashes on Mac os 10.1                                                 03-Oct-01
The /var/tmp directory has the wrong default permissions                      24-Aug-01
I receive the error message "segmentation fault"                              24-Aug-01
I receive the error message "relocation overflow for relocation entry"        24-Aug-01
Library out of date error(can't load from it)                                 11-Oct-02
Executing the snowflake example program                                       24-Aug-01
Linker errors with Absoft supplied libraries                                  12-Sep-01
Fixup of 32904 too large for field width of 16 bits                           08-Oct-01
Using More Than 2GB of addressable memory                                     19-Apr-02
Reading of data files fails: "Attempt to read past end of file"               19-Apr-02

Platform: Mac OS X

Problem Details:
OS Version: Mac OS X 10.2
Product Version: 7.0
Date: 23-Aug-02

Q. I just upgraded to OS X 10.2  (or purchased a new computer which runs OS X 10.2.)
      My compiler no longer works and I get an obscure error.

A. Apple upgraded a version of the Apple Developer Tools. This causes an error for Pro Fortran
versions 7.0 and 8.0. We suggest that you follow the instructions (README file) in the following directories
concerning the fix.
      Pro Fortran v7.0 and v8.0 users:
         Go to http://www.absoft.com
         Please read the instructions.

index


Platform: Mac OS X

Problem Details:
OS Version: Mac OS X
Product Version: 7.0
Date: 03-Oct-01

Q. I just upgraded to Mac OS 10.1.  Every time I
   try to create a new project using Absoft Tools
   it crashes.

A. Apple made significant enough changes to Mac OS 
10.1 that Absoft needed to create a new version of
Absoft tools which is in the service pack for
Pro Fortran 7.0. Go to the Absoft download site:
http://www.absoft.com
Follow the instructions.

 

index

Platform: Mac OS X

Problem Details:
OS Version: Mac OS X
Product Version: all
Date: 08-Oct-01

Q. I receive the error message:
   "Fixup of 32904 too large for field width of 16 bits"


A. From the Command line add the –N11 option.  In
   Absoft Tools, Options, Target put a check in Use
   32- bit Branches.
   This is happening because in certain types of unusually
   large program units, the 16-bit addressing ability of the
   PowerPC can be exceeded.


        

index

Platform: Mac OS X

Problem Details:
OS Version: Mac OS X
Product Version: 7.0
Date: 03-Oct-01

Q. I just upgraded to MAC OS 10.1.  Programs that worked
   fine with Mac OS 10 no longer link?

A. Go to the Absoft download site:
   http://www.absoft.com
   Follow the instructions.

   Apple made significant enough changes to OS 10.1 that a
   new system tools package became necessary.


      

index

Platform: Mac OS X

Problem Details:
OS Version: Mac OS X
Product Version: Any
Date: 24-Aug-01

Q. When using Absoft Pro Fortran I receive the message:
   Can't open file: /var/tmp/tmp.000000_*.int
   or Can't open the message file.
   Reason: Permission denied.

A. Change the permissions on the /var/tmp directory
   from the terminal like this:
   chmod a+rw /var/tmp

   You need root permission to use chmod in the /var/tmp
   directory.


      

index

Platform: Mac OS X

Problem Details:
OS Version: Any
Product Version: Any
Date: 24-Aug-01

Q. When I do a standard compile, the program compiles fine,
   but when I execute it, I get a "segmentation fault". 

A. You may be running into a stack overflow. Mac OS X has a
   default stack size of 512k and our compilers default to putting
   all variables that are not in common or saved on the stack. Try
   compiling with the -s option or running your program in a Terminal
   window after issuing the following command:

   limit stacksize unlimited

   To permanently increase the stack add limit stacksize unlimited
   to your .tcshrc file.

index

Platform: MAC OS X

Problem Details:

OS Version: Any
Product Version: Any
Date: 24-Aug-01

Q. I receive an error message like this:
   /usr/bin/ld: /usr/lib/crt1.o relocation overflow for relocation entry 24
   in section (__TEXT,__text) (displacement too large)
   /usr/bin/ld: /usr/lib/crt1.o relocation overflow for relocation entry 29
   in section (__TEXT,__text) (displacement too large) 

A. If you are using the IDE to compile then select Link Large
   Data Stubs in the Target tab of the Options window.
   If you are compiling from the command line add
   the files carbon_stub.o and objcint_stub.o to the
   command line like this:
   f77 test.f /applications/absoft/lib/carbon_stub.o /applications/absoft/lib/objcinit_stub.o

index

Platform: Mac OS X

Problem Details:

OS Version: Any
Product Version: Any
Date: 24-Aug-01

Q. I am receiving these error messages:
/usr/bin/ld: table of contents for archive:
/Applications/Absoft/lib/libmrwe.a is out of date; rerun ranlib(1)
(can't load from it)
/usr/bin/ld: table of contents for archive:
/Applications/Absoft/lib/libfio_carbon.a is out of date; rerun
ranlib(1)
(can't load from it)
/usr/bin/ld: table of contents for archive:
/Applications/Absoft/lib/libf77math.a is out of date; rerun ranlib(1)
(can't load from it)
/usr/bin/ld: table of contents for archive:
/Applications/Absoft/lib/libf90math.a is out of date; rerun ranlib(1)
(can't load from it)
A. Run /Applications/Absoft/lib/run_ranlib.sh
by opening the Mac OS X terminal application
that is in the /Applications/Utilities folder.
After double clicking on the Terminal icon enter:
cd /Applications/Absoft/lib ./run_ranlib.sh
     If you get messages about permission denied 
     then enter:
     sudo ./run_ranlib.sh
     and enter your user log-in password.

index

Platform: Mac OS X

Problem Details:

OS Version: any
Product Version: 7.0
Date: 22-Oct-97

Q. I try to compile and execute the snowflake example.
   It compiles fine but when I execute it all that I get is
   a big round black circle.

A. Open the file info.plist that is in /Absoft/examples/snowflake
   and change line 8 from this:
   string>Snowflake<

   to this:
   string>snowflake<

   Save the file info.plist in UNIX format which is the
   default for Mac OS X.  Then open the snowflake.gui
   and go to Tools and do a Clean and then Rebuild All.

index

Platform: Mac OS X

  Problem Details:

  OS Version: any
  Product Version: All
  Date: 12-Sep-01

  Q. I am trying to link to one of the Absoft supplied libraries:
     IMSL
     LAPACK
     UNIX/VMS compatibility
     AltiVec
     BLAS

     However, I receive an undefined reference for any routine
     that I try to use.  For example:
     [localhost:~] absoft% cat imsl.f
       !C Declare variables
        INTEGER NDEG
        PARAMETER (NDEG=3)
        REAL COEFF(NDEG+1)
        COMPLEX ZERO(NDEG)
        EXTERNAL WRCRN, ZPORC
        ! Set values of COEFF
        !COEFF = (-2.0 4.0 -3.0 1.0)
        DATA COEFF/-2.0, 4.0, -3.0, 1.0/
        CALL ZPORC (NDEG, COEFF, ZERO)
        CALL WRCRN ('The zeros found are', 1, NDEG, ZERO, 1, 0)
        END
     [localhost:~] absoft% f77 imsl.f
     FORTRAN 77 Compiler 7.0, Copyright (c) 1987-2001, Absoft Corp.
     /usr/bin/ld: Undefined symbols:
     _WRCRN
     _ZPORC

  A. All of the Absoft supplied library symbols are lower case with a
     trailing underscore.

     If you change ZPORC and WRCRN to zporc_ and wrcrn_ then imsl.f
     will compile and link with out error.

     If you are using .f files with Absoft Tools then go to
     Configure, Set Project Options…, Plug-ins and select
     the desired library.  If you are using .f90 of .f95 files
     then after selecting the desired plug-in go to the F95
     tab and select Compatibility from the drop down list.
     Then add an underscore in the External Symbol Suffix
     text box.  Then select Format and in External Names
     select Lower Case.

     If you are using the command line here is how you link
     to the IMSL libraries:


  [localhost:~] absoft% f77 imsl.f -limsl -limslblas -N15 -f
  FORTRAN 77 Compiler 7.0, Copyright (c) 1987-2001, Absoft Corp.
  [localhost:~] absoft% f90 imsl.f -limsl -limslblas -YEXT_SFX=_ -YEXT_NAMES=LCS

  The IMSL routines are documented on the CDROM in the
  IMSL Documentation folder

  Unix/VMS libraries:

  The Unix/VMS libraries contain three entry points for
  each routine. One in all upper case, one in all upper
  case with a trailing underscore, and one in all lower
  case with a trailing underscore:
   DATE
   DATE_
   date_

  [localhost:~] absoft% cat test.f
        character*40 argument
            n = IARGC()
              do i=1,n
                call GETARG(i,argument)
                print *,trim(argument)
             end do
           end

  [localhost:~] absoft% f77 test.f -lU77
  FORTRAN 77 Compiler 7.0, Copyright (c) 1987-2001, Absoft Corp.
  [localhost:~] absoft% a.out I am on the command line!
   I
   am
   on
   the
   command
   line!

  The Unix/VMS routines are documented in
   /Applications/absoft/doc/SupportLibrary.pdf

  LAPACK:
  To use the LAPACK libraries you must also link in the BLAS libraries
  from the command line like this:
  [localhost:~] absoft% f90 -YEXT_NAMES=LCS -YEXT_SFX=_ t.f -llapack -lblas
  [localhost:~] absoft% f77 -f -N15 t.f -llapack -lblas
  FORTRAN 77 Compiler 7.0b, Copyright (c) 1987-2002, Absoft Corp.
  From Absoft Tools go to Configure, Plug-ins and put a check in LAPACK
  Library and BLAS Library, Standered.
  You can recompile any of the Absoft supplied
  libraries with any case folding/underscore combination
  that suits your programs linking requirements.
  We supply the complete source codes and makefiles
  for all of the Absoft supplied libraries except for
  the IMSL libraries which is proprietary code.
  All of the Absoft supplied libraries are maintained in:
  /Applications/Absoft/lib

  You can find out what the entry points for any library
  are by typing nm and the name of the library from the
  command line. 

index

Platform: All

Problem Details:
OS Version: Any
Product Version: 7.0
Date: 19-Apr-02

Q. Using more than 2GB of addressable memory

A. The following table shows the maximum process size (code+data)
on each operating system:
                     OS | Max process size
   ---------------------+--------------------
   x86 Linux kernel 2.4 | 3GB
   x86 Linux kernel 2.2 | 2GB
              PPC Linux | 2GB
                Windows | 2GB
                Mac OSX | 2GB, 64MB max stack
   In addition to those limits, f90 has a limit of a maximum of 512MB
   for any single array or common block. This limit is scheduled to be
   removed from f90 in the next release after version 7.5.
   F77 has a limit of 2GB for any single array, and 2,000,000,000 bytes
   for any single common block.
   To have the maximum amount of memory available for data on Linux,
   it is necessary to link your application statically. This is done
   by using the "-X -static" option for either f77 or f90.
   On x86 Linux there is also a limit in the GNU assembler that
   you can't have more than 2GB of static data (either save
   statements, or the -s switch) in a single file. If you try,
   you will get the following error: Error: attempt to .org backwards ignored
   To work around this, you can put some data into a common block.

 

index

Platform: Mac OS X            
Problem Details:
           OS Version: 10.2 or later
           Product Version: 7.0 and later
           Date: 18-Sept-02
Q. What is Apple's vecLib and how do I link to it using Absoft Pro Fortran?
A. Apple's vecLib is a library of routines coded to take advantage
of PowerPC architecture known as Velocity Engine or AltiVec.
Of particular interest to Fortran programmers is the fact that the
vecLib shipping with OS X 10.2 includes a complete BLAS
implementation (although only the single and complex routines
take advantage of Altivec.) Further information about vecLib
can be found at Apple's web site.
   Linking vecLib with Absoft Pro Fortran is a simple procedure. You
   need to compile your source code with the appropriate name
   decoration options (external routine names folded to lower-case
   with a trailing underscore appended) and then include vecLib when
   building your application. The following two command lines illustrate
   this procedure for FORTRAN 77 and Fortran 90 for a simple, one file
   application.
   f77 -f -N15 file.f -X -framework -X vecLib
   f90 -YEXT_NAMES=LCS -YEXT_SFX=_ file.f90 -X -framework -X vecLib
             
index

Platform: Mac OS X            
Problem Details:
           OS Version: OSX
           Product Version: 7.0 and later
           Date: 31-Mar-03
Q. Whenever I do file I/O with my program, I see this error:
? FORTRAN Runtime Error:
? Attempt to read past end of file
? READ(UNIT=26,...
A. The problem is that your files are in Mac format.  In OS 9 
lines are terminated with a carriage return, in UNIX like
systems lines are terminated with a line feed. OSX is a UNIX
like operating system, and so your input file must be in UNIX format.
      The simplest way to convert these files is to do an ASCII FTP 
      transfer of them between the two computers.
      You can use the command line utility provided,
       /Applications/Absoft/bin/unixformat, to ensure that your files are in the
       correct format. This will also leave a copy of your original file in the
       directory with a .mac file extension added.
       Important Note: If you run the command as "unixformat *" the utility will
       rename of all the directories in the current directory with a .mac
       extension and create a big mess. Use the unixformat command with with
       some kind of specifier so that it is only run on the desired files, such
       as "unixformat *.dat".
       Also, you can control the file format in the Absoft Editor by going to the
       "Format" menu and choosing "Show Info". Select the desired style from the
       "Line Style" drop down box and save. The current format is displayed in
       the lower right corner of the editor window.
               
index