Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uwm.edu!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!caen!wross From: wross@caen.engin.umich.edu (Wendy Ross) Newsgroups: comp.unix.aix Subject: Problem with new release of Fortran compiler on RS/6000 Message-ID: <1991Feb6.224501.15588@engin.umich.edu> Date: 6 Feb 91 22:45:01 GMT Sender: news@engin.umich.edu (CAEN Netnews) Distribution: na Organization: University of Michigan Engineering, Ann Arbor Lines: 130 Originator: wross@elvedore.engin.umich.edu Anyone else noticed a problem with newer Fortran compiler/library when linking? skylab is running the older version; the program compiles and links happily. elvedore is running the newer version; the compiler bombs out at link time with unresolved symbols. The reason is that the /usr/lib/libxlf.a library was changed between the two versions. When I took the older version of the library and used it with the newer version of the compiler, things worked fine. The nitty gritty details are as follows: OLDER VERSION OF FORTRAN: skylab% lslpp -h ... xlfrte.obj INACTIVE COMMIT 11/27/90 01.01.0000.0000 root INACTIVE APPLY 11/27/90 01.01.0000.0001 root ACTIVE COMMIT 11/27/90 01.01.0000.0001 root xlfrtemEn_US.msg ACTIVE COMMIT 11/27/90 01.01.0000.0000 root xlfcmp.obj INACTIVE COMMIT 11/27/90 01.01.0000.0000 root INACTIVE APPLY 11/27/90 01.01.0000.0001 root ACTIVE COMMIT 11/27/90 01.01.0000.0001 root ... skylab% xlf /tmp/p.f ** main === End of Compilation 1 === ** ttyint === End of Compilation 2 === ** pttyin === End of Compilation 3 === 1501-510 Compilation successful for file p.f. skylab% skylab% nm /usr/lib/libxlf.a | grep -i getenv U getenv 00001b90 T .getenv 00001b90 t .getenv 00000378 d getenv U .getenv 00000008 d .+GETENV_ 00000000 T .getenv_ 0000000c d GETENV_ 00000000 D getenv_ U .getenv 00000000 D #GETENV 0000000c d #GETENV 00000000 T .#GETENV 00000008 d .+#GETENV NEWER VERSION OF FORTRAN: elvedore% lslpp -h ... xlfrte.obj INACTIVE COMMIT 11/27/90 01.01.0000.0000 root INACTIVE APPLY 11/27/90 01.01.0000.0001 root INACTIVE COMMIT 11/27/90 01.01.0000.0001 root INACTIVE APPLY 11/30/90 01.01.0001.0002 root ACTIVE COMMIT 11/30/90 01.01.0001.0002 root xlfrtemEn_US.msg ACTIVE COMMIT 11/27/90 01.01.0000.0000 root xlfcmp.obj INACTIVE COMMIT 11/27/90 01.01.0000.0000 root INACTIVE APPLY 11/27/90 01.01.0000.0001 root INACTIVE COMMIT 11/27/90 01.01.0000.0001 root INACTIVE APPLY 11/30/90 01.01.0001.0004 root ACTIVE COMMIT 11/30/90 01.01.0001.0004 root xlfcmpmEn_US.msg ACTIVE COMMIT 11/27/90 01.01.0000.0000 root ... elvedore% xlf /tmp/p.f ** main === End of Compilation 1 === ** ttyint === End of Compilation 2 === ** pttyin === End of Compilation 3 === 1501-510 Compilation successful for file p.f. 0706-317 ERROR: Unresolved or undefined symbols detected: Symbols in error (followed by references) are dumped to the load map. .#GETENV .#SIGNAL elvedore% elvedore% nm /usr/lib/libxlf.a | grep -i getenv U getenv 00001b90 T .getenv 00001b90 t .getenv 00000370 d getenv U ._getenv 00000008 d .+GETENV_ 00000000 T .getenv_ 0000000c d GETENV_ 00000000 D getenv_ U ._getenv 00000008 d .+GETENV 00000000 T .getenv 0000000c d GETENV 00000000 D getenv Where /tmp/p.f is as follows: character*10 C C C integer getenv C i=getenv('SHELL',C) C call getenv('SHELL',C) write(6,'(a10)') C call ttyint pause stop end subroutine ttyint external pttyin C IBMRS/6000 C call signal(2,pttyin) C Apollos/Suns/Decs5000 integer signal k=signal(2,pttyin,-1) return end subroutine pttyin write(6,'(a32)') '**** Interrupt signal caught ...' write(6,*) 'enter a number' read(5,*) i write(6,*) 'number was ',i return end Hello Austin??? Wendy Ross wross@caen.engin.umich.edu Computer Aided Engineering Network University of Michigan, Ann Arbor