dorsal team mailing list archive
-
dorsal team
-
Mailing list archive
-
Message #00598
Re: Dorsal 1.0-beta2 Released
>> Agreed on boost (because of libboost-mpi). It doesn't look like
>> armadillo/cgal have any mpi dependencies though?
>
> No, but they depend on Boost and to avoid a conflict later, I would
> rebuild them with the Boost built by Dorsal. Not sure it makes any
> sense with Armadillo but the CGAL library does link against the
> Boost.Thread library.
Right, thanks! I put CGAL in as well. Everything seems to work fine
now, except MTL isn't found by dolfin (not sure if I should care about
MTL?).
Harish: I've attached a diff ("bzr send" and "bzr merge-directive"
produce garbage for some reason). It does the following:
- Add a "once:" flag, similar to "skip:" but runs the build the first time
- oneiric.platform additionally builds openmpi, boost, parmetis, scotch, cgal
- openmpi version bumped to 1.4.4 (per Garth's original comment)
- ptscotch added to petsc.package (required for pastix apparently, as
Fredrik Valdmanis also noted)
--
Joachim.
=== modified file 'FEniCS/packages/openmpi.package'
--- FEniCS/packages/openmpi.package 2011-02-09 12:14:28 +0000
+++ FEniCS/packages/openmpi.package 2011-10-31 09:13:27 +0000
@@ -1,4 +1,4 @@
-NAME=openmpi-1.4.3
+NAME=openmpi-1.4.4
SOURCE=http://www.open-mpi.org/software/ompi/v1.4/downloads/
PACKING=.tar.bz2
BUILDCHAIN=autotools
=== modified file 'FEniCS/packages/petsc.package'
--- FEniCS/packages/petsc.package 2011-10-30 19:27:35 +0000
+++ FEniCS/packages/petsc.package 2011-10-31 11:01:38 +0000
@@ -7,7 +7,7 @@
--with-debugging=0 --with-shared-libraries=1 --with-clanguage=cxx
--with-parmetis=1 --with-parmetis-dir=${PARMETIS_DIR}"
-for external_pkg in umfpack hypre mumps scalapack blacs pastix scotch; do
+for external_pkg in umfpack hypre mumps scalapack blacs pastix scotch ptscotch; do
CONFOPTS="${CONFOPTS} --download-${external_pkg}=1"
done
=== modified file 'FEniCS/platforms/supported/oneiric.platform'
--- FEniCS/platforms/supported/oneiric.platform 2011-10-20 13:18:21 +0000
+++ FEniCS/platforms/supported/oneiric.platform 2011-10-31 13:16:22 +0000
@@ -4,29 +4,33 @@
# installed via Ubuntu's apt-get using the following commands:
#
# sudo apt-get install bzr bzrtools cmake flex g++ gfortran \
-# libarmadillo-dev libatlas-base-dev libboost-dev \
-# libboost-{filesystem,iostreams,mpi,program-options,thread}-dev \
+# libarmadillo-dev libatlas-base-dev \
# libcgal-dev libcln-dev libcppunit-dev libginac-dev \
-# liblapack-dev libmpfr-dev libopenmpi-dev libparmetis-dev libptscotch-dev \
-# libsuitesparse-dev libxml2-dev openmpi-bin pkg-config \
+# liblapack-dev libmpfr-dev \
+# libsuitesparse-dev libxml2-dev pkg-config \
# python-dev python-numpy python-scientific python-vtk subversion swig2.0 \
-# wget
+# wget bison libbz2-dev
#
-# Also, if you have multiple MPI libraries installed, make sure
-# "sudo update-alternatives --config mpi" is set to openmpi.
+# Due to a serious bug in oneiric openmpi, it (and packages that depend on
+# it) are built from source. See:
+# https://lists.launchpad.net/dolfin/msg24818.html
##
# Platform specific variables
default PETSC_ARCH=linux-gnu-cxx-opt
-default PARMETIS_DIR=/usr
+default SCOTCH_ARCH=pc_linux2
# Define the packages this platform needs
PACKAGES=(
-trilinos
-petsc
-slepc
-# swiginac
-mtl
+once:openmpi
+once:boost
+once:parmetis
+once:scotch
+once:trilinos
+once:petsc
+once:slepc
+once:cgal
+once:mtl
fiat
# ferari
ufc
=== modified file 'dorsal.sh'
--- dorsal.sh 2011-10-06 06:08:40 +0000
+++ dorsal.sh 2011-10-31 13:36:51 +0000
@@ -108,8 +108,6 @@
# First make sure we're in the right directory before unpacking
cd ${DOWNLOAD_PATH}
- default EXTRACTSTO=${NAME}
-
# Only need to unpack tarballs
if [ ${PACKING} = ".tar.bz2" ] || [ ${PACKING} = ".tar.gz" ] || [ ${PACKING} = ".tbz2" ] || [ ${PACKING} = ".tgz" ]
then
@@ -212,7 +210,9 @@
declare -f package_specific_build >>dorsal_build
echo package_specific_build >>dorsal_build
fi
+ echo "touch dorsal_successful_build" >> dorsal_build
+ # Run the generated build scripts
if [ ${BASH_VERSINFO} -ge 3 ]
then
set -o pipefail
@@ -239,7 +239,6 @@
package_register() {
# Get ready to set environment variables related to the package
cd ${DOWNLOAD_PATH}
- default EXTRACTSTO=${NAME}
if [ ! -d "${EXTRACTSTO}" ]
then
cecho ${BAD} "${EXTRACTSTO} does not exist -- please install at least once."
@@ -461,13 +460,12 @@
# Return to the main Dorsal directory
cd ${ORIG_DIR}
- # Skip building this package if the user requests for it
+ # Skip building this package if the user requests it
SKIP=false
- if [ ${PACKAGE:0:5} = "skip:" ]
- then
- SKIP=true
- PACKAGE=${PACKAGE#skip:}
- fi
+ case ${PACKAGE} in
+ skip:*) SKIP=true; PACKAGE=${PACKAGE#*:};;
+ once:*) SKIP=maybe; PACKAGE=${PACKAGE#*:};;
+ esac
# Check if the package exists
if [ ! -e ${PROJECT}/packages/${PACKAGE}.package ]
@@ -505,12 +503,20 @@
fi
# Ensure that the package file is sanely constructed
- if [ ! ${NAME} ] || [ ! ${SOURCE} ] || [ ! ${PACKING} ] || [ ! ${BUILDCHAIN} ]
+ if [ ! "${NAME}" ] || [ ! "${SOURCE}" ] || [ ! "${PACKING}" ] || [ ! "${BUILDCHAIN}" ]
then
cecho ${BAD} "${PACKAGE}.package is not properly formed. Please check that all necessary variables are defined."
exit 1
fi
+ # Most packages extract to a directory named after the package
+ default EXTRACTSTO=${NAME}
+
+ if [ ${SKIP} = maybe ] && [ ! -f ${DOWNLOAD_PATH}/${EXTRACTSTO}/dorsal_successful_build ]
+ then
+ SKIP=false
+ fi
+
if [ ${SKIP} = false ]
then
# Fetch, unpack and build the current package
References