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 PA-RISC if you are compiling your own Fortran version of XERBLA:

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 PA-RISC when the following conditions are met:

Any subprogram with the same name as a user-visible MLIB subprogram is compiled in your program with +ppu

Another MLIB subprogram used by your program also calls that subprogram

Furthermore, the reverse can occur in the PA-RISC 32-bit libraries if you compile with the +ppu compiler option.

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 1-1) and the entry points without underbars were added as synonyms to the entry points with underbars. Hence the various MLIB Fortran source subprograms that call XERBLA reference them as xerbla_. Therefore, your xerbla (without the postpended underbar) does not satisfy the Fortran calls to XERBLA, so the linker accesses xerbla.o from the library. This file contains both entry points xerbla and xerbla_, and xerbla conflicts with your XERBLA subroutine.

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