Previous Next        Current Page: NeXtMidas User's Guide / Third-Party Compatibility / Portland Group Compiler
back
FAQs   
Release Information   
Getting Help   
Basic Concepts   
Result Parameters   
XML Support   
Files   
System Operation   
Macros   
Java WebStart   
Graphics   
X-Midas Interoperability   
Third-Party Compatibility   
   - Apache   
   + Web Browsers   
   + WebStart   
   - Profilers   
   - NetBeans   
   - Eclipse   
   - JBuilder   
   - Intel Fortran Compiler   
   - Portland Group Compiler   
   - SWIG   
   - VNC   
   - WMS and GeoWebCache   
Installation and Customization   
Running NeXtMidas Independently   
Timelines - Keywords, Updating, Known Issues   
WebSwing to deploy NeXtMidas as a Web App   
Glossary   
Installing and Using Docker   
Using Gradle To Build NextMidas   
NeXtMidas Support for Continous Integrations with GitLab   


Portland Group Fortran (pgf77) Compiler

Portland Group Fortran Compiler compiles the XBC option tree and other X-Midas host primitives written in Fortran (see X-Midas Backwards Compatibility (XBC) for details on X-Midas host primitives in NeXtMidas).

Some PGI Fortran Compiler installations are not setup properly causing errors when building XBC. For example:

       nM> make all xbc
       ...
       INFO: Compiling /opt/midas/nxm282/nxm/host/newrate.for [BUILDOPT]
       /usr/bin/ld: /crtbeginS.o: No such file: No such file or directory
       ...
The issue here is that the PGI compiler setup file at <PGI_INSTALL_DIR>/bin/localrc (e.g. /usr/pgi/linux86/5.2/bin/localrc) does not point at the gcc installation. The key info here is that the linker was not finding one of the "C" run-time object file (as it was trying to look for it in the root directory)

There are several ways to solve this problem:
  1. Try to run the <PGI_INSTALL_DIR>/bin/makelocalrc utility. e.g. /usr/pgi/linux86/5.2/bin/makelocalrc -x `pwd`
  2. Hand modify the <PGI_INSTALL_DIR>/bin/localrc setup file as follows (e.g. on a RHEL4 system):
    set LFC=-lg2c;
    set LDSO=/lib/ld-linux.so.2;
    set GCCDIR=/usr/lib/gcc/i386-redhat-linux/3.4.6/;
    set GCCINC=/usr/lib/gcc/i386-redhat-linux/3.4.6/include;
    set G77DIR=/usr/lib/gcc/i386-redhat-linux/3.4.6/;
    set LOCALRC=YES;
    set THROW=__THROW=;
  3. Add /usr/lib/gcc/i386-redhat-linux/3.4.6/ into /etc/ld.so.conf -or- to a new gcc3.4.6.conf file under /etc/ld.so.conf.d


back