On Thu, Feb 19, 2015 at 2:35 PM, Garth N. Wells <[email protected]> wrote:
> On Thu, Feb 19, 2015 at 1:26 PM, Johannes Ring <[email protected]> wrote:
>> On Thu, Feb 19, 2015 at 1:59 PM, Garth N. Wells <[email protected]> wrote:
>>> I'm trying to use Hashdist to build FEniCS inside a Docker container.
>>> I have a few comments and questions:
>>>
>>> - The script at http://fenicsproject.org/fenics-install.sh takes an
>>> incredibly long time to run because it builds *so* many libraries,
>>> e.g. do we really need to be building openssl, freetype, zlib,
>>> libtiff, libxml2, sqlite, ncurses, png, etc?
>>>
>>> - Can I skip building the loads of libraries that I can get as
>>> binaries from my package manager?
>>
>> Yes, you can do that. See for instance the
>> install/profiles/fenics.host-debian.yaml profile. Some of the packages
>> above does not have a host-package in hashstack yet, but it should be
>> relatively easy to add.
>>
>
> If I write my own yaml file, should I still use the script at
> http://fenicsproject.org/fenics-install.sh, or should I do something
> different?
It is the same script, but you have to run it like this:
fenics-install.sh your-stack.yaml
For instance from the fenics-developer-tools repository:
./install/fenics-install.sh install/profiles/fenics.host-debian.yaml
> Also, is there an option to get the PETSc dev version?
Yes, you can override the source like this:
petsc:
sources:
- key: git:773816535009e9e635101591949992a269e18d4e
url: https://github.com/petsc/petsc.git
The key must be updated manually.
Johannes
>>> - Building ParMETIS, SCOTCH, MUMPS, etc, and then configuring with
>>> PETSc is guaranteed to end in tears (there has already been a bug
>>> report). PETSc should download and configure these because PETSc picks
>>> (and sometimes patches) compatible versions. If PETSc doesn't do the
>>> picking, then solvers will seg fault.
>>
>> In hashdist we are trying to build these libraries in the same way as
>> PETSc builds them, but you can can let PETSc build them by adding them
>> to the 'download' argument in the profile, like this:
>>
>> petsc:
>> download: |
>> parmetis, scotch, mumps, scalapack, blacs, superlu_dist
>> ...
>>
>>> - If the objective is a consistent 'stack', then using a Linux
>>> container is a better approach.
>>>
>>> - For decent performance, the Hashdist installer should install an
>>> optimised BLAS library, not reference BLAS.
>>
>> It should be relatively easy to switch to OpenBLAS.
>>
>>> - While writing this message, Hashdist has crashed on petsc4py:
>>>
>>> File
>>> "/home/garth/.local/lib/python2.7/site-packages/Cython-0.21-py2.7-linux-x86_64.egg/Cython/Compiler/Main.py",
>>> line 22, in <module>
>>> 2015/02/19 12:56:05 - INFO: [package:run_job] from .Scanning
>>> import PyrexScanner, FileSourceDescriptor
>>> 2015/02/19 12:56:05 - INFO: [package:run_job] ImportError:
>>> /home/garth/.local/lib/python2.7/site-packages/Cython-0.21-py2.7-linux-x86_64.egg/Cython/Compiler/Scanning.so:
>>> undefined symbol: PyUnicodeUCS4_DecodeUTF8
>>> 2015/02/19 12:56:05 - ERROR: [package:run_job] Command '[u'/bin/bash',
>>> '_hashdist/build.sh']' returned non-zero exit status 1
>>> 2015/02/19 12:56:05 - ERROR: [package:run_job] command failed (code=1);
>>> raising
>>
>> I haven't seen this before. Could you report an issue for hashstack at
>> https://github.com/hashdist/hashstack/?
>>
>
> Will do.
>
> Garth
>
>> Johannes
> _______________________________________________
> fenics mailing list
> [email protected]
> http://fenicsproject.org/mailman/listinfo/fenics
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics