Skip to content
Snippets Groups Projects
Commit f68a742d authored by Claus-Justus Heine's avatar Claus-Justus Heine
Browse files

Update, correct installation directories etc.

parent cbe0dad2
Branches
Tags
No related merge requests found
MAINTENANCE DOCUMENTATION FOR ALBERTA PACKAGES MAINTENANCE DOCUMENTATION FOR ALBERTA PACKAGES
Daniel Koester, April 2005 Daniel Koester, April 2005
koester@math.uni-augsburg.de koester@math.uni-augsburg.de
Claus-Justus Heine, December 2003 Claus-Justus Heine, December 2003, May 2007
claus@mathematik.uni-freiburg.de claus@mathematik.uni-freiburg.de
I) Introduction and Maintenance I) Introduction and Maintenance
=============================== ===============================
The alberta-2.0 package is currently distributed using GNU "autoconf 2.60", The alberta2-2.0 package is currently distributed using GNU "autoconf
"automake 1.9.6", and "libtool 1.5.22". Since some unusual compilation was 2.61", "automake 1.10", and "libtool 1.5.22". Since some unusual
necessary, a few hints seemed like a good idea. Here is the general compilation was necessary, a few hints seemed like a good idea. Here
structure of the alberta2-2.0 packages: is the general structure of the alberta2-2.0 packages:
__________ alberta/ __________ src/ ______|--- 1d/ __________ alberta/ __________ src/ ______|--- 1d/
/ \ |--- 2d/ / \ |--- 2d/
/ -- doc/ |--- 3d/ / -- doc/ |--- 3d/
/ |--- Nd/ / |--- Common/
/ |--- Common/ / |--- alberta2*/
/_____________ demo/ __ src/ _______|--- 1d/ |--- alberta*/ /_____________ demo/ __ src/ _______|--- 1d/
alberta-2.0 / |--- 2d/ alberta2-2.0 / |--- 2d/
\ |--- 3d/ \ |--- 3d/
\ |--- 4d/ \ |--- 4d/
\ |--- 5d/ \ |--- 5d/
\ |--- Common/ \ |--- Common/
\ \
\ \
\__________ alberta_util/ ___ src/ \__________ alberta_util/ ___ src/
\
\ \
\_______ add_ons/ ---- grape/ __ mesh/ ____|--- 2d/ \
\ \ |--- 3d/ \_______ add_ons/ ---- grape/ __ mesh/ ____|--- 2d/
\ \ |--- Common/ \ \ |--- 3d/
\ \ \ \ |--- Common/
\ - meshtv/ ___|--- 1d/ \ \
\ \ |--- 2d/ \ - meshtv/ ___|--- 1d/
\ \ |--- 3d/ \ \ |--- 2d/
\ \ |--- Common/ \ \ |--- 3d/
\ \ \ \ |--- Common/
\ \- geomview/ \ \
\ \ \- geomview/
\_ configure.ac and other distribution \
files \_ configure.ac and other distribution
files
We keep track of the "Makefile.am"s, which are processed by automake We keep track of the "Makefile.am"s, which are processed by automake
to create "Makefile.in"s. Two exceptions: to create "Makefile.in"s. Two exceptions:
...@@ -52,13 +53,16 @@ produced by automake. ...@@ -52,13 +53,16 @@ produced by automake.
2) The "Makefile.alberta.in" in alberta/src/Common/, see below. 2) The "Makefile.alberta.in" in alberta/src/Common/, see below.
The file "configure.ac" is processed by autoconf to create "configure". The The file "configure.ac" is processed by autoconf to create
script "configure" then processes "Makefile.in"s to create proper "configure". The script "configure" then processes "Makefile.in"s to
Makefiles. The created Makefiles can then be used by us to test compilation create proper Makefiles. The created Makefiles can then be used by us
and the demo programs. All Makefiles can be called independently from any to test compilation and the demo programs. All Makefiles can be called
subdirectory. The "install"-target is used to install a package (default independently from any subdirectory. The command "make install" is
for maintenance: $installdir=./ ). There are also several variations of used to install a package. All files are installed below a common
"clean" targets. prefix path ("configure --prefix=PREFIX"). PREFIX defaults to `./' if
`./configure' was run with the `--enable-maintainer-mode'
switch. Otherwise it defaults to `/usr/local/'. There are also several
variations of "clean" targets.
For the portable building of shared libraries we use "libtool". This involves For the portable building of shared libraries we use "libtool". This involves
special compilation, e.g. special compilation, e.g.
...@@ -70,25 +74,26 @@ and ...@@ -70,25 +74,26 @@ and
libtool --mode=link gcc ... libtool --mode=link gcc ...
By default we therefore install a configured version of "libtool", By default we therefore install a configured version of "libtool",
"libtool.alberta", in the $install_dir/libexec directory. This behaviour can be `PREFIX/libexec/alberta2/' directory. This behaviour can be turned off
turned off. by running `configure' with the "--disable-install-libtool" switch.
II) Package contents II) Package contents
==================== ====================
The following subpackages are included in alberta-2.0: The following subpackages are included in alberta2-2.0:
1) alberta 1) alberta2
The main package. The main package.
2) demo 2) demo
A few demonstration programs meant to faciliate the first steps with ALBERTA.
This package is not touched by automake and includes several small A few demonstration programs meant to facilitate the first steps with
Makefile.in's in which "configure" substitutes values like installation paths ALBERTA. This package is not touched by automake and includes several
for libraries and headers. This directory is installed as a tarball in small Makefile.in's in which "configure" substitutes values like
$installdir/share/alberta, but can be copied by users to other locations. installation paths for libraries and headers. This directory is
The Makefiles in demo include "Makefile.alberta" which resides installed as a tar-ball in `PREFIX/share/alberta2/', but can be copied
in $installdir/share/alberta. by users to other locations. The Makefiles in the demo package
include "Makefile.alberta" which resides in `PREFIX/libexec/alberta2/'.
3) alberta_util 3) alberta_util
This package contains the old ALBERTA util.c file, now split into This package contains the old ALBERTA util.c file, now split into
...@@ -98,11 +103,11 @@ contains the former "SOLVER" library. ...@@ -98,11 +103,11 @@ contains the former "SOLVER" library.
It is compiled to form a separate utility library (message macros, It is compiled to form a separate utility library (message macros,
ALBERTA memory allocation routines, BLAS solver routines and wrappers) and ALBERTA memory allocation routines, BLAS solver routines and wrappers) and
should linked to any program using the ALBERTA package. It can also be used as should linked to any program using the ALBERTA package. It can also be used as
a standalone utility library. a stand-alone utility library.
4) add_ons 4) add_ons
add_ons contains extra tools built on top of ALBERTA. At the moment it contains add_ons contains extra tools built on top of ALBERTA. At the moment it contains
GRAPE and SILO/MESHTV data visualisation interfaces for ALBERTA. GRAPE and SILO/MESHTV data visualization interfaces for ALBERTA.
III) External packages III) External packages
====================== ======================
...@@ -116,7 +121,7 @@ Same thing applies for Open DX which is used for online visualization ...@@ -116,7 +121,7 @@ Same thing applies for Open DX which is used for online visualization
via the alberta/src/Common/dxtools.c interface. via the alberta/src/Common/dxtools.c interface.
IV) Checking into Subversion directory tree IV) Checking into Subversion directory tree
==================================== ===========================================
Step 0) Step 0)
Become familiar with Subversion. A very good source of information is Become familiar with Subversion. A very good source of information is
...@@ -138,7 +143,7 @@ Step 1) ...@@ -138,7 +143,7 @@ Step 1)
Step 2) Step 2)
svn update svn update
This step will make sure that the changes made simulataneously by other This step will make sure that the changes made simultaneously by other
maintainers do not interfere with the new local changes. maintainers do not interfere with the new local changes.
svn commit svn commit
...@@ -168,13 +173,13 @@ Step 1) ...@@ -168,13 +173,13 @@ Step 1)
package with the directory structure described right at the package with the directory structure described right at the
beginning of this file. beginning of this file.
svn checkout svn+ssh://marbella.math.uni-augsburg.de/homes/andere/alberta/ALBERTA_SVN/trunk albertadist svn checkout svn+ssh://malaga.math.uni-augsburg.de/homes/proj/alberta/ALBERTA_SVN/trunk/albertadist
also checks out 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 is ok, since Makefiles produced by "configure" have a fixed set of
directories to be included in a distribution. Another possibility is directories to be included in a distribution. Another possibility is
svn export svn+ssh://pizza.math.uni-augsburg.de/homes/andere/alberta/ALBERTA_SVN/trunk albertadist svn export svn+ssh://malaga.math.uni-augsburg.de/homes/proj/alberta/ALBERTA_SVN/trunk/albertadist
which is faster and strips the .svn directories. which is faster and strips the .svn directories.
...@@ -208,6 +213,13 @@ Step 4) ...@@ -208,6 +213,13 @@ Step 4)
where you have to replace foobar by the proper name of the program. where you have to replace foobar by the proper name of the program.
Step 3/4-alt)
Instead of step 3) and 4) run
fromsvnreconf.sh
This will execute the commands from step 3) and 4).
Step 5) Step 5)
Reconfigure ALBERTA with the additional switch Reconfigure ALBERTA with the additional switch
"--enable-maintainer-mode": "--enable-maintainer-mode":
...@@ -215,7 +227,7 @@ Step 5) ...@@ -215,7 +227,7 @@ Step 5)
./configure BLABLABLA --enable-maintainer-mode ./configure BLABLABLA --enable-maintainer-mode
Step 6) Step 6)
Do "[g]make dist" at the top level. This creates alberta-?.?.tar.gz Do "[g]make dist" at the top level. This creates alberta2-?.?.tar.gz
in which all CVS-directories, ~-files, and other unnecessary in which all CVS-directories, ~-files, and other unnecessary
components are stripped. To be a bit more precise: components are stripped. To be a bit more precise:
...@@ -256,7 +268,8 @@ script "config.guess"): ...@@ -256,7 +268,8 @@ script "config.guess"):
b) The GNU Fortran compiler g77 distributed by SGI produced n32-style b) The GNU Fortran compiler g77 distributed by SGI produced n32-style
code, which was not default for the gcc. Recommended solutions: code, which was not default for the gcc. Recommended solutions:
i) Adding -n32 option to "CFLAGS" and "LDFLAGS", if $CC == gcc and %F77 = g77. i) Adding -n32 option to "CFLAGS" and "LDFLAGS", if $CC == gcc and
%F77 = g77.
ii) Using the system compilers cc and f77. ii) Using the system compilers cc and f77.
2) i686-suse-linux: 2) i686-suse-linux:
...@@ -325,7 +338,7 @@ script "config.guess"): ...@@ -325,7 +338,7 @@ script "config.guess"):
VII) Making rpm packages VII) Making rpm packages
======================== ========================
This is still an experimental feature. We habe included an alberta-2.0.spec This is still an experimental feature. We have included an alberta-2.0.spec
file adapted for SUSE LINUX 9.2. Using "rpmbuild -ba alberta-2.0.spec" will file adapted for SUSE LINUX 9.2. Using "rpmbuild -ba alberta-2.0.spec" will
process an "alberta-2.0.tar.gz" bundle in "/usr/src/packages/SOURCES". After process an "alberta-2.0.tar.gz" bundle in "/usr/src/packages/SOURCES". After
unpacking, configuring, building, and installing you will (hopefully) have unpacking, configuring, building, and installing you will (hopefully) have
...@@ -335,3 +348,9 @@ The first package will install the libraries in "/usr/local/lib", headers in ...@@ -335,3 +348,9 @@ 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/include", the programs in "usr/local/bin", and the demo package in
"/usr/local/share/alberta". The installation directories can be changed by "/usr/local/share/alberta". The installation directories can be changed by
passing options to "rpm" (we have tried to build "relocatable" rpms). passing options to "rpm" (we have tried to build "relocatable" rpms).
LocalWords: alberta meshtv geomview automake autoconf libtool FOOBAR util yum
LocalWords: gltools albertadist automakefiles autoreconf foobar fromsvnreconf
LocalWords: BLABLABLA LTLIBRARIES config MesaGL gfortran xorg devel gcc vxfz
LocalWords: Ubuntu libc libx libxext sse sudo cd sparc SunOS xdr rpm SUSE usr
LocalWords: rpmbuild
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment