HP MLIB for Itanium Linux Version 9.6 Release Note
Table Of Contents
- Announcement
- What’s in This Version
- Known Problems and Workarounds
- Fortran I/O dependencies in SOLVERS library
- Default OpenMP library stack is too small for MLIB
- Incorrect math library link order for the Intel Fortran compiler
- Dealing with Underscore Compatibility and Duplicated Symbols
- User and Library Subprogram Name Conflicts
- Work length for LAPACK standard eigensolver routine ZHEEVD
- Compatibility Information
- Installation Requirements
- Software Availability in Native Languages
- Associated Documentation
- Support Information

HP MLIB for Itanium Linux Version 9.6 Release Note
Known Problems and Workarounds
HP MLIB for Itanium Linux Version 9.6 Release Note 17
SUBROUTINE XERBLA (SRNAME,INFO)
ENTRY XERBLA_ (SRNAME,INFO)
!DEC$ ATTRIBUTES ALIAS : 'xerbla' :: XERBLA
!DEC$ ATTRIBUTES ALIAS : 'xerbla_' :: XERBLA_
...
If the above syntax is rejected by the compiler, try using the following
SUBROUTINE XERBLA (SRNAME,INFO)
ENTRY XERBLA_ (SRNAME,INFO)
!DEC$ ALIAS : 'xerbla',XERBLA
!DEC$ ALIAS : 'xerbla_',XERBLA_
...
The ALIAS directives control the actual name generated for each entry point.
This should appear within the body of a program/function/subroutine before the first
executable statement.
Use the following workaround on Itanium®2-based processors if you are compiling your own
C version of XERBLA:
• Undefine any previous aliasing from include files and provide both xerbla and xerbla_
entry points explicitly.
#undef xerbla
#undef xerbla_
void xerbla (char*name, int*iarg, size_t len_name){
...
}
void xerbla_ (char*name, int*iarg, size_t len_name){
xerbla (name, iarg, len_name);
}
This problem is not confined to the XERBLA subroutine; it occurs on Itanium®2-based
systems when the following conditions are met:
• Any subprogram with the same name as a user-visible MLIB subprogram is compiled in
your program with -nus
• Another MLIB subprogram used by your program also calls that subprogram