deal.II works without problems with shared
libraries on this platform, if you list the path
$D/lib
in your $LD_LIBRARY_PATH
environment variable, where $D
is the path to your
installation of the deal.II library. The
necessary actions can be done with the commands
setenv LD_LIBRARY_PATH $D/lib:$LD_LIBRARY_PATH
for csh-like shells, or by
export LD_LIBRARY_PATH=$D/lib:$LD_LIBRARY_PATH
if you use the ``bash'' shell. Please substitute $D
by whatever is the appropriate path on your installation.
These actions are necessary, since on SGI IRIX it seems not possible to link a program to a shared library by giving the full path of the latter. On all other systems where we use shared libraries, the full path to the shared library is given on the command line and stored somewhere in the executable, so that the linker finds the library irrespective of the fact that the path is specified in LD_LIBRARY_PATH or not. However, on SGI IRIX, as it seems, only the library's name, not its path seems to be stored in the executable, so LD_LIBRARY_PATH has to be modified.
We note that this might lead to problems if, for whatever reason, you have multiple versions of deal.II installed and compiled with different flags; then, to ensure that you link to the correct library at execution time, you will have to redefine LD_LIBRARY_PATH before execution of your program. Another possibility would be to used statically linked libraries instead of shared ones (see the ReadMe file to find out how to do that).
When compiling deal.II with the MIPSpro compiler in 64-bit mode it is necessary to
setenv CXXFLAGS -64
setenv LDFLAGS -64
before calling ./configure
.
Furthermore, the $LD_LIBRARY64_PATH
(instead of the
$LD_LIBRARY_PATH
) environment variable needs to be set
setenv LD_LIBRARY64_PATH $D/lib:$LD_LIBRARY64_PATH
On ``bash'' shells use the export
command accordingly.