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 13
Known Problems and Workarounds
The following section describes known problems with HP MLIB, and suggests workarounds
you can use to avoid them. The problems include
• 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
Fortran I/O dependencies in SOLVERS library
HP MLIB for Itanium® Linux has been restructured to avoid Fortran I/O dependencies. These
I/O dependencies can be found in our sparse direct linear system solvers and sparse direct
eigensolver. The default behavior of HP MLIB for Itanium® Linux direct solvers is to support
Fortran output unit 6 (Fortran standard output) but avoid Fortran I/O calls to perform the
I/O. This behavior is controlled by the routine mlib_io_msg.c:
#include <stdio.h>
#define NO_FILE_IO_SUPPORT 0 /* Only Fortran standard output */
#define FORTRAN_FILE_IO_SUPPORT 1 /* Fortran file IO */
#define C_FILE_IO_SUPPORT 2 /* C file IO */
int mlib_file_io_support_(void){
return NO_FILE_IO_SUPPORT;
}
void mlib_io_msg_(FILE *fp, char *msgbuf, size_t msglen){
fprintf(fp,"%s\n",msgbuf);
}
The above routine is part of HP MLIB for Itanium® Linux and it interfaces all Fortran writes
to standard output (unit 6). If an application calls the sparse solvers using a Fortran I/O unit
other then 6, native Fortran I/O must be used. The following mlib_io_msg.f must be
compiled and liked with the application before HP MLIB:
integer*4 function mlib file_io_support()
integer*4 NO_FILE_IO_SUPPORT,
$ FORTRAN_FILE_IO_SUPPORT,
$ C_FILE_IO_SUPPORT
parameter (NO_FILE_IO_SUPPORT =0,