...
Pros | Cons |
---|---|
different codes can use different versions of libraries | with each release of new version of the library user's code must be recompiled |
each library is released as a separate installation (it's easy to maintain each version separately) | it's not possible to move libraries from their original location |
we are not forced to build log LD_LIBRARY_PATH variables | |
LD_LIBRARY_PATH has lower precedence than rpath | |
It is still possible to use LD_PRELOAD to enforce given library to be used (e.g. debugging purposes) |
RPATH - slightly different layout
Code Block |
---|
swimas
|-- etc
| `-- modulefiles
| `-- xmllib
| |-- 4.0-GCC-6.1.0
| `-- 4.0-intel-17.0.4
`-- extra
`-- xmllib
|-- 4.0-GCC-4.8.5
| |-- include
| | |-- f90_file_reader.mod
| | |-- mod_f90_kind.mod
| | |-- string_manipulation_tools.mod
| | |-- xml2eg_mdl.mod
| | |-- xml_file_reader.mod
| | |-- xmllib_parser.mod
| | |-- xmllib_pathquery.mod
| | `-- xmllib_types.mod
| `-- lib
| |-- libxmllib.a
| `-- pkgconfig
| `-- xmllib.pc
`-- 4.0-intel-17.0.4
|-- include
| |-- f90_file_reader.mod
| |-- mod_f90_kind.mod
| |-- string_manipulation_tools.mod
| |-- xml2eg_mdl.mod
| |-- xml_file_reader.mod
| |-- xmllib_parser.mod
| |-- xmllib_pathquery.mod
| `-- xmllib_types.mod
`-- lib
|-- libxmllib.a
`-- pkgconfig
`-- xmllib.pc
|