Accessing VECLIB
This file includes both entry points xerbla and xerbla_, and xerbla_ conflicts with your XERBLA subroutine.
Use one of the following workarounds on
•Compile your XERBLA with +noppu. This implies that you also compile any of your program that calls XERBLA with +noppu, and that you apply this rule recursively.
•Use f90 ALIAS directives:
% !$HP$ ALIAS xerbla='xerbla'
This prevents the compiler from postpending the underbar onto the entry point and external references for XERBLA.
This problem is not confined to the XERBLA subroutine. It occurs on
•Any subprogram with the same name as a
•Another MLIB subprogram used by your program also calls that subprogram
Furthermore, the reverse can occur in the
Itanium processors
If you compile on Itanium using the compiler option +noppu your xerbla.o object has an entry point xerbla (without the postpended underbar). However the Itanium MLIB libraries were compiled with +ppu option (following the default behavior described in Table
Moreover, the various MLIB C source subprograms that call XERBLA still reference them as xerbla (without the postpended underbar). It means that both xerbla and xerbla_ entry points must be provided in your xerbla.o.
Use one of the following workarounds on Itanium if you are compiling your own Fortran version of XERBLA:
•Compile your Fortran source for XERBLA with +noppu and provide both xerbla and xerbla_ entry points:
Chapter 1 Introduction to VECLIB 15