Difference between revisions of "Installation"

From FEAP Wiki
Jump to navigation Jump to search
Line 10: Line 10:
==== BLAS/LAPACK ====
==== BLAS/LAPACK ====
In general there should be no reason to use the BLAS and LAPACK files that are provided in packages.  Your computer should have pre-loaded BLAS and LAPACK routines.  If it does not it is better to install ones that are tuned for your computer, but if you can not, then it is ok to use the ones in packages.
In general there should be no reason to use the BLAS and LAPACK files that are provided in packages.  Your computer should have pre-loaded BLAS and LAPACK routines.  If it does not it is better to install ones that are tuned for your computer, but if you can not, then it is ok to use the ones in packages.
==== Problems with UBUNTU and other GCC based loaders ====
The GCC loader type machines do not load files out of archives unless they have already been added to the pending stack.  Thus if you have a user macro in an archive, it will get skipped over if previous files on the link line have not yet referred to it.  This then results in the dummy user macro getting loaded out of the main FEAP archive.  The problem can be fixed by telling the loader to load all the files in a given archive even if they are not on the pending stack.  For example if one is using the ARPACK library, one need to replace
<blockquote>$(ARPACKLIB)</blockquote>
on the link line with
<blockquote>
  -L$(FEAPHOME8_5)/packages/arpack
  -Wl,-whole-archive -larpack -Wl,-no-whole-archive
</blockquote> 
The -L lets the compiler know where the archive is located and the -Wl tags are linker directives that force the whole loading of the archive referred to by the -l directive.

Revision as of 18:46, 21 June 2017

Installation Manual

The installation manual can be downloaded from the feap project site at http://projects.ce.berkeley.edu/feap.

Installation Videos

There are two installation videos demonstrating a windows install and one demonstrating a Mac/Unix/Linux install.

Common Installation Issues

Incorrect pointer selection

A very common installation problem is to select the wrong include files include/integer4 versus include/integer8. If you compile and run the program maintain/memprobe.c, it will provide you guidance on selecting the correct include directories.

BLAS/LAPACK

In general there should be no reason to use the BLAS and LAPACK files that are provided in packages. Your computer should have pre-loaded BLAS and LAPACK routines. If it does not it is better to install ones that are tuned for your computer, but if you can not, then it is ok to use the ones in packages.

Problems with UBUNTU and other GCC based loaders

The GCC loader type machines do not load files out of archives unless they have already been added to the pending stack. Thus if you have a user macro in an archive, it will get skipped over if previous files on the link line have not yet referred to it. This then results in the dummy user macro getting loaded out of the main FEAP archive. The problem can be fixed by telling the loader to load all the files in a given archive even if they are not on the pending stack. For example if one is using the ARPACK library, one need to replace

$(ARPACKLIB)

on the link line with

-L$(FEAPHOME8_5)/packages/arpack -Wl,-whole-archive -larpack -Wl,-no-whole-archive

The -L lets the compiler know where the archive is located and the -Wl tags are linker directives that force the whole loading of the archive referred to by the -l directive.