Subject: [Dorsal-dev] openSUSE

From: Peter-Jan Randewijk <[email-masked]>
Date: Wed, 04 Mar 2009 17:28:04 +0200

Dear Madam/Sir,

I would like to run FEniCS on openSUSE.

How can I modify dorsal to accomplish this?

Kind regards,

Peter-Jan
-- 

*Peter-Jan Randewijk*
Senior Lektor  Drywingselektronika & Elektriese Aandrywing
Senior Lecturer  Power Electronics & Electrical Drives*
Departement Elektriese en Elektroniese Ingenieurswese
Department of Electrical and Electronic Engineering

*Tel: +27 (0) 21 808 4457  I  Faks/Fax: +27 (0) 21 808 3951
E-pos/E-mail: [email-masked]

Universiteit Stellenbosch University
Privaat Sak/Private Bag X1 Matieland 7602*
*Suid-Afrika/South Africa
http://staff.ee.sun.ac.za/pjrandewijk

---

From: Harish Narayanan <[email-masked]>
Date: Wed, 04 Mar 2009 16:59:04 +0100

> How can I modify dorsal to accomplish this?

This should be possible if you're running a recent openSUSE. I am
pasting the contents of the text I typed-out for the same question asked
to me a short while ago. (This other person was running a version of
Suse that was too old to make the effort worthwhile.)

---

Yes this is possible, but since there are no prebuilt packages for
openSUSE, this will require some manual steps.

1. Fetch and uncompress Dorsal:
http://www.fenics.org/dev/dorsal?ca=tip;type=bz2

2. Take a look at README and see which of the supported platforms are
closest to your openSUSE machine in terms of age. I haven't used it so
would like to know how modern of a distribution it is.

3. Locate the corresponding platform file in the "platforms" folder (the
platform name is provided in the README in parenthesis) and copy it to
opensuse.platform.

4. Try running "./dorsal.sh platforms/opensuse.platform". This will
attempt to fetch and build all the FEniCS projects and their dependencies.

This step will fail, but if you provide the errors you run into, we can
iteratively modify opensuse.platform until it works for your machine
(and anyone else who would like to use an openSUSE machine in the future).

Harish

p.s. Please sign up for this mailing list or your mails will be held for
moderation: http://fenics.org/mailman/listinfo/dorsal-dev

---

From: Harish Narayanan <[email-masked]>
Date: Thu, 05 Mar 2009 17:10:08 +0100

Peter-Jan Randewijk wrote:
> Harish,
> 
> Thank you for the information.
> 
> openSUSE 11.1 is very close to Fedora 10 (if I understand correctly).
> 
> I have started with the easy bit, modifying dorsal.sh to read an
> opensuse11.1.platform file (based on the fedora10.platform file).

< Good stuff snipped. >

> 
> Building stable point-releases of FEniCS projects.
> OK? Press enter to continue build, or ctrl-c to quit.
> 
> 
> Pressing enter works for a while, but stops at:
> 
> *********************************************************************************
>          UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log
> for details):
> ---------------------------------------------------------------------------------------
> You must specify a path for MPI with --with-mpi-dir=<directory>
> If you do not want MPI, then give --with-mpi
> *********************************************************************************
> 
> Failure with exit status: 1
> Exit message: There was a problem in build setup for petsc-2.3.3-p15.
> 
> Where do I specify this in the .platform file....?

Excellent, you have gotten very far on your first attempt. Thank you for
the effort, and please continue to note down any tricks/caveats/steps as
you have done so far in your opensuse.platform.

I think the reason you're running into this even though you've installed
OpenMPI is that it is not in your path. For starters, open packages/
petsc.package and add --with-mpi=/your/mpi/path to the configure.py line.

If it works, then it was just the path issue, and then you can add to
your opensuse.platform: export PATH=${PATH}:/your/mpi/path.

Harish

---

From: Peter-Jan Randewijk <[email-masked]>
Date: Fri, 06 Mar 2009 13:41:22 +0200

Harmish,

I saw in bgl-gnu-opt.py the option --with-mpi-shared=0 and added this to
petsc.package, i.e.

package_specific_setup () {
    export PETSC_DIR=${PWD}
    ./config/configure.py COPTFLAGS=-O3 --with-debugging=0
--with-clanguage=cxx --with-fc=0 --with-shared=1
--prefix=${INSTALL_PATH} --with-batch --with-mpi-shared=0
}

It now continues to:

=================================================================================
    Since your compute nodes require use of a batch system or mpiexec
you must:
 1) Submit ./conftest to 1 processor of your batch system or system you are
    cross-compiling for; this will generate the file reconfigure.py
 2) Run ./reconfigure.py (to complete the configure process).
=================================================================================
/home/pjrandew/FEniCS/src/petsc-2.3.3-p15/bmake/common/variables:119:
/home/pjrandew/FEniCS/src/petsc-2.3.3-p15/bmake/linux-gnu-cxx-opt/petscconf:
No such file or directory
/home/pjrandew/FEniCS/src/petsc-2.3.3-p15/bmake/common/rules:803:
/home/pjrandew/FEniCS/src/petsc-2.3.3-p15/bmake/linux-gnu-cxx-opt/petscrules:
No such file or directory
make: *** No rule to make target
`/home/pjrandew/FEniCS/src/petsc-2.3.3-p15/bmake/linux-gnu-cxx-opt/petscrules'. 
Stop.

Where is ./reconfigure.py located ??

PJ

Op 06/03/2009 13:07, het Peter-Jan Randewijk die volgende geskryf:
> Harish,
>
> Adding
>
> export PATH=$PATH:/usr/lib/mpi/gcc/openmpi/bin
>
> seemed to do the trick, but stoped with the following error
>
>                     UNABLE to EXECUTE BINARIES for config/configure.py
> Cannot run executables created with C. It is likely that you will need
> to configure using --with-batch which allows configuration without
> interactive sessions.
> Adding the switch to petsc.package, i.e.
>
> package_specific_setup () {
>     export PETSC_DIR=${PWD}
>     ./config/configure.py COPTFLAGS=-O3 --with-debugging=0
> --with-clanguage=cxx --with-fc=0 --with-shared=1
> --prefix=${INSTALL_PATH} --with-batch
> }
>
> Resulted in the following error:
>
> Must give a default value for with-mpi-shared since executables cannot
> be run
> How and what "default value"  should be specified...?
>
> Kind regards,
>
> PJ
>
> Op 05/03/2009 18:10, het Harish Narayanan die volgende geskryf:

---

From: Harish Narayanan <[email-masked]>
Date: Sat, 07 Mar 2009 10:21:49 +0100

> --prefix=${INSTALL_PATH} --with-batch --with-mpi-shared=0

I don't know. But I think your (Open)MPI is not set up correctly. Google
around a bit to make sure the package you used for openSUSE causes
problems for anyone else, and see if you can compile a simple MPI app
and run it outside before embarking on PetSC.

Harish