The suggestions from 

http://fenicsproject.org/pipermail/fenics-support/2015-June/001560.html

were very helpful. I have managed to get the first 49 packages built with a 
custom gcc on my Centos 6.5 system, including mpich, scotch, parmetis, and 
hypre. The build stalls at superlu_dist, however. It is complaining about not 
finding the libquadmath, among other things, buit appears the problem is what 
looks like a hard-coded PATH which points to the wrong (system) gcc. The PATH 
listed on the build log by-passes the correct version installed in 
/opt/gcc-4.8.2

2015/06/09 23:11:32 - INFO: [package:run_job]    'PATH': 
u'/home/me/.hashdist/bld/parmetis/mx7whpqcrtab/bin:/home/me/.hashdist/bld/mpi/u5pxhayx63nn/bin:/usr/bin:/bin'

This appears to be the outcome of build.json, with relevant statements:

"build" : {
    "commands" : [
      {
        "nohash_value" : "/usr/bin:/bin", 
        "set" : "PATH"
      },  
      {
        "prepend_path" : "PATH", 
        "value" : "${MPI_DIR}/bin"
      }, 
      {
        "prepend_path" : "PATH", 
        "value" : "${PARMETIS_DIR}/bin"
      }, 

Any suggestions for graceful fix? I'd like to break into the superlu_dist 
archive and edit the json or other files, but I have no idea how to open/unpack 
or repack.

Thus far, the key steps:

1. yum install environment-modules
2. Create modules for gcc-4.4.7 and gcc-4.8.2 and place in /etc/modulefiles/gcc 
(files 4.8.2 and 4.4.7)
3. create my_feincs_profile.yaml (at bottom of message)
4. export FENICS_INSTALL_HASHDIST_PROFILE=/home/me/my_fenics_profile.yaml


my_fenics_profile.yaml:
"""
extends:
- file: linux.yaml

parameters:

    PROLOGUE: |
       source /etc/profile.d/modules.sh;echo "loading modules"; module unload 
gcc/4.4.7; module load gcc/4.8.2; echo "setting default compilers"; export 
CC=gcc; export CXX=g++; export FC=gfortran; export F77=gfortran; export 
CPP=cpp;alias cc=/opt/gcc-4.8.2/bin/gcc; alias c++=/opt/gcc-4.8.2/bin/g++; 
alias cpp=/opt/gcc-4.8.2/bin/cpp; alias gcc=/opt/gcc-4.8.2/bin/gcc; alias 
g++=/opt/gcc-4.8.2/bin/g++; alias ld=/opt/gcc-4.8.2/bin/gcc

# The packages list specifies all the packages that you
# require installed.  <#> will ensure that all packages
# and their dependencies are installed when you build this
# profile.

packages:
  launcher:
  cmake:
  python:
    host: false
    build_with: |
       bzip2, openssl,sqlite
    link: shared
  mpi:
    use: mpich
  blas:
    use: openblas
  lapack:
    use: openblas
  hypre:
    with_openblas: true
  petsc:
    build_with: |
      openblas, parmetis, scotch, suitesparse, superlu_dist, hypre
    download: |
      mumps, scalapack, blacs, ml
    coptflags: -O3 -march=native -mtune=native
    link: shared
    debug: false
  swig:
  boost:
    toolset: gcc
    address_model: 64
    build_with: python
  ipython:
  matplotlib:
  ffc:
  fiat:
  instant:
  ufl:
  uflacs:
  dolfin:
    build_with: |
      hdf5, openblas, parmetis, petsc, petsc4py, suitesparse, scotch, slepc, 
slepc4py, vtk, zlib
  mpi4py:
  mshr:
"""

Module gcc/4.4.7
"""
#%Module1.0
##
##
proc ModulesHelp { } {
        global version GCChome


puts stderr "\tGCC\n"
puts stderr "\tThis module loads the latest version of gfortran/gcc/g++.\n"
}

module-whatis "loads the latest GCC Compiler Environment"

# for Tcl script use only
set    version        4.4.7
set    GCChome        /usr


prepend-path    PATH           $GCChome/bin
prepend-path    INCLUDE        $GCChome/include
prepend-path    LD_LIBRARY_PATH $GCChome/lib64
prepend-path     MANPATH        $GCChome/man
"""

Module gcc/4.8.2
"""
#%Module1.0
##
##
proc ModulesHelp { } {
        global version GCChome


puts stderr "\tGCC\n"
puts stderr "\tThis module loads the latest version of gfortran/gcc/g++.\n"
}

module-whatis "loads the latest GCC Compiler Environment"

# for Tcl script use only
set    version        4.8.2
set    GCChome        /opt/gcc-$version


prepend-path    PATH           $GCChome/bin
prepend-path    INCLUDE        $GCChome/include
prepend-path    LD_LIBRARY_PATH $GCChome/lib64
prepend-path     MANPATH        $GCChome/man
"""
_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to