Skip to content
Snippets Groups Projects
Commit f7744ed6 authored by Daniel Koester's avatar Daniel Koester
Browse files

Some changes to reflect the use of Subversion.

parent 09b5662d
Branches
Tags
No related merge requests found
......@@ -111,127 +111,73 @@ IV) Checking into CVS directory tree
====================================
Step 0)
Become familiar with CVS. There is a very fine Info manual available. You
can view it with "info cvs", or -- better -- use Emacs as Info-reader.
Become familiar with Subversion. A very good source of information is
Another very good source of information is
http://www.cvshome.org/
http://svnbook.red-bean.com/
with the online-manual and online-FAQ at
http://www.cvshome.org/docs/manual/
http://ccvs.cvshome.org/fom//cache/1.html
(the latter link seems to be a bit funky, maybe better use the CVS
home page as entry point.)
There are a couple of front-end for CVS, e.g. an Emacs mode and many
others.
http://subversion.tigris.org/faq.html
Step 0a)
Make sure the stuff you are checking in at least builds without
errors.
Step 1)
Do [g]make clean cvs-clean. This deletes all files which are not
part of the CVS directory tree, but are in the CVS-maintained
directories. Also does "chgrp -R alberta ."
Do [g]make clean svn-clean. This deletes all files which are not
part of the Subversion directory tree, but are in the Subversion-maintained
directories.
Step 2)
cvs update
svn update
This step will make sure that the changes made simulataneously by other
maintainers do not interfere with the new local changes.
cvs commit
svn commit
NOTE: this commits _all_ changed files. It is probably better
to commit on a file-per-file basis:
cvs commit FILE1 .... FILEN
svn commit FILE1 .... FILEN
with a selected collection of file you really want to commit.
ALSO: it is required that all commits are properly documented. The
comments must be written in a way that other people can understand
them.
Another possibility (avoiding Step 1) from above) is the following:
Check out the "cvs.sh" script:
cvs co admin-utils/cvs.sh
Then do the follwing
mkdir $HOME/bin
mv admin-utils/cvs.sh $HOME/bin/cvs
Then edit your rc-scripts and modify your PATH variable:
bash-flavour: add the following to the end of $HOME/.bashrc
export PATH=$HOME/bin:$PATH
csh or tcsh flavour: add the following to the end of $HOME/.cshrc
setenv PATH ${HOME}/bin:${PATH}
For the settings to take affect you have to re-source the rc-files:
bash:
. ~/.bashrc
tcsh:
source ~/.cshrc
Then run cvs like follows:
cvs -d :ext:USER@COMPUTER.mathematik.uni-freiburg.de:/net/sauron/graid/ALBERTA_CVS/ commit FILE1 ... FILEN
This will take care of setting the correct permissions and group
id's in the ALBERTA CVS repository. It will fail if you are not a
member of the access group "alberta", but then you shouldn't attempt
to commit changes at all, ask one of the ALBERTA maintainers for
help.
V) How to create a distribution
===============================
Step 0)
Become familiar with CVS.
Become familiar with Subversion.
Step 1)
At the moment, the subpackages alberta, demo, alberta_util,
and add_ons are maintained using the version control
system CVS. To prepare a distribution, one must first check out the
system Subversion. To prepare a distribution, one must first check out the
distribution version of these packages. To this aim there exists an
"albertadist" module. Checking it out will create the ALBERTA
package with the directory structure described right at the
beginning of this file.
cvs co albertadist
svn checkout svn+ssh://pizza.math.uni-augsburg.de/homes/andere/alberta/ALBERTA_SVN/trunk albertadist
also checks out CVS administration directories in each module. This
also checks out administration directories in each module. This
is ok, since Makefiles produced by "configure" have a fixed set of
directories to be included in a distribution. Another possibility is
cvs export albertadist
svn export svn+ssh://pizza.math.uni-augsburg.de/homes/andere/alberta/ALBERTA_SVN/trunk albertadist
which strips the CVS directories.
which is faster and strips the .svn directories.
Actually, when making a _real_ distribution (i.e. you are not only
playing with "make dist", you should set a symbolic tag with cvs
_first_, e.g.
cvs rtag ALBERTA_2_0 albertadist
Afterwards, check out _that_ version of ALBERTA
cvs co -r ALBERTA_2_0 albertadist
playing with "make dist", you should set a tag with svn
_first_. Afterwards, check out _that_ version of ALBERTA
Step 2)
The next step is to adjust the desired libraries, especially the
ALBERTA libraries. Each ALBERTA library has its own directory of the
form "alberta[DIM_OF_WORLD]<_debug>" since compilation is different for
form "alberta2_[DIM_OF_WORLD]d[_debug]" since compilation is different for
each library version. If these settings are to be changed, make a new
directory, and adapt the files "Makefile.am.template" and
"generate-alberta-automakefiles.sh" in the top directory.
......@@ -332,5 +278,3 @@ The first package will install the libraries in "/usr/local/lib", headers in
"/usr/local/include", the programs in "usr/local/bin", and the demo package in
"/usr/local/share/alberta". The installation directories can be changed by
passing options to "rpm" (we have tried to build "relocatable" rpms).
......@@ -58,13 +58,13 @@ distclean-local:
if MAINTAINER_MODE
# These targets only makes sense for maintainers!!
cvs-clean:
@echo Fixing package for cvs commit...
svn-clean:
@echo Fixing package for svn commit...
find . -name \*~ -exec rm -rf {} \;
find ./alberta ./alberta_util -name Makefile.in -exec rm -rf {} \;
find ./demo ./alberta ./alberta_util -name Makefile -exec rm -rf {} \;
find ./demo \( -name \*~ -o -name \*.o -o -name \*.lo \) -exec /bin/rm -f {} \;
find ./demo \( -name ellipt -o -name heat -o -name nonlin \) -exec /bin/rm -f {} \;
find ./demo \( -name ellipt -o -name ellipt2 -o -name heat -o -name nonlin \) -exec /bin/rm -f {} \;
find ./demo -name Makefile -exec /bin/rm -f {} \;
cp -f .cvsignore admin/
cp -f configure.ac admin/
......@@ -77,7 +77,6 @@ cvs-clean:
cp -f NEWS admin/
cp -f README admin/
cp -f INSTALL admin/
chgrp -R alberta .
dist-hook:
@echo Copying demo directory to $(distdir)
......
ALBERTA is an Adaptive multi-Level finite element toolbox using
is an Adaptive multi-Level finite element toolbox using
Bisectioning refinement and Error control by Residual
Techniques for scientific Applications.
......@@ -26,6 +26,8 @@ III. Configure Options
IV. Compiler flags (with examples)
V. Some platform dependent notes and examples
-------------------------------------------------------------------------------
......@@ -140,57 +142,14 @@ BLAS -- "Basic Linear Algebra Subprograms"
and Opteron CPUs you should have a look at AMD's web-site
(www.amd.com) and search for "acml".
Known quirks and specific BLAS implementations:
Compiler dependence
-------------------
In general, you need a version of the BLAS which was compiled
by the Fortran compiler you are using to compile (parts of)
the ALBERTA package. Sometimes it is possible to get around
this restriction by linking in additional libraries, as shown
in some of the examples listed below.
Intel's "math core library" libmkl:
------------------------------------
Make sure to also link with libguide, this can be achieved by the
following configure switches:
--with-blas-lib=/opt/intel/mkl61/lib/32/ --with-blas-name="mkl -lguide"
You also need to set the LD_LIBRARY_PATH variable appropriately:
export LD_LIBRARY_PATH=/opt/intel/mkl61/lib/32
or
setenv LD_LIBRARY_PATH /opt/intel/mkl61/lib/32
g77-compiled libblas on Linux, but Intel's ifc compiler for ALBERTA
-------------------------------------------------------------------
NOTE: this probably doesn't make to much sense, but you can
try the following
in some of the platform dependent examples listed below.
--with-blas-name="blas -lg2c"
SunOS (Solaris), using libsunperf:
----------------------------------
Find out about the location of libsunperf, then using Sun's f77
compiler you need the following switches:
--with-blas-lib=LOCATION --with-blas-name=sunperf
However, with gcc the following might work:
--with-blas-lib=LOCATION --with-blas-name="sunperf -lfui -lfsu -lsunmath"
Alpha AXP with Compaq's extended math-library libcxml:
------------------------------------------------------
The following might work (UNTESTED!!!)
--with-blas-lib=LOCATION --with-blas-name="cxml -lcpml"
2) Optional Packages
--------------------
......@@ -296,7 +255,7 @@ This will be the layout after running "make install".
Compiling all flavours of the ALBERTA libraries takes a long time. The
ALBERTA libraries are all named
libalberta<DIM_OF_WORLD>[_debug]
libalberta2_<DIM_OF_WORLD>d[_debug]
The options below control which of them are actually created.
......@@ -494,6 +453,62 @@ implementation)
or set environment variables or use arguments to "make" as shown in
example 1.)
V. Some platform dependent notes and examples
=============================================
1) Intel's "math core library" libmkl:
------------------------------------
Make sure to also link with libguide, this can be achieved by the
following configure switches:
--with-blas-lib=/opt/intel/mkl61/lib/32/ --with-blas-name="mkl -lguide"
You also need to set the LD_LIBRARY_PATH variable appropriately:
export LD_LIBRARY_PATH=/opt/intel/mkl61/lib/32
or
setenv LD_LIBRARY_PATH /opt/intel/mkl61/lib/32
2) g77-compiled libblas on Linux, but Intel's ifc compiler for ALBERTA
-------------------------------------------------------------------
NOTE: this probably doesn't make to much sense, but you can
try the following
--with-blas-name="blas -lg2c"
3) SunOS (Solaris), using libsunperf:
----------------------------------
Find out about the location of libsunperf, then using Sun's f77
compiler you need the following switches:
--with-blas-lib=LOCATION --with-blas-name=sunperf
However, with gcc the following might work:
--with-blas-lib=LOCATION --with-blas-name="sunperf -lfui -lfsu -lsunmath"
4) Alpha AXP with Compaq's extended math-library libcxml:
------------------------------------------------------
The following might work (UNTESTED!!!)
--with-blas-lib=LOCATION --with-blas-name="cxml -lcpml"
5) MAC OS X using the Accelerate library:
--------------------------------------
The following switch has been reported to work:
--with-blas-name=Accelerate
The following location was used for the OpenGL library:
--with-opengl-lib=/usr/X11R6/lib --with-opengl-headers=/usr/X11R6/include
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PLEASE LEAVE HERE FOR ISPELL:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment