On Fri, 9 Jan, 2015 at 3:53 PM, Jan Blechta <[email protected]> wrote:
On Fri, 9 Jan 2015 15:57:10 +0100
Maarten <[email protected]> wrote:

 Hello,

 I would very much like to try out FEniCS, but installing is not as
 easy as hoped. I am on a CentOS 6.6 system without root-rights, and
 tried to use the dorsal script to install locally. I copied the

Dorsal is not well-maintained last months and is going to be superseded
by hashdist-based installer
https://bitbucket.org/fenics-project/fenics-install

 'local.platform' file for 'Red Hat Enterprise Linux 6/CentOS
 6/Scientific Linux 6' and encountered following problems when
 compiling dolfin:


 UMFPACK directory not found, solved by adding the following in
 'local.platform'
 default UMFPACK_INCLUDE_DIR=/usr/include/suitesparse


 Could NOT find Qt4 (missing:  QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE
 > QT_UIC_EXECUTABLE) (found version "4.8.5")
 >
  Qt4 is installed, but I don't succeed in pointing the installer to
 the path where moc, rcc and uic are located.

Screw Qt4. AFAIK, it is not very useful for most of the
scientists/engineers. Disable it by configuring DOLFIN with
-DDOLFIN_ENABLE_QT:BOOL=OFF. Add this to CONFOPTS in
<dorsal>/FEniCS/packages/dolfin.package.



 However, the critical error is the following:

 -- Generating done
 > -- Build files have been written to:
 > /scratch/FEniCS/src/dolfin-1.4.0/dorsal_build_dir
 > make: Entering directory
 > `/scratch/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
 > make[1]: Entering directory
 > `/scratch/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
 > make[2]: Entering directory
 > `/scratch/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
 > make[2]: Leaving directory
 > `/scratch/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
 > make[2]: Entering directory
 > `/scratch/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
 > [  1%] Building CXX object
> dolfin/CMakeFiles/dolfin.dir/generation/GeometryToCGALConverter.cpp.o
 > [  1%] Building CXX object
> dolfin/CMakeFiles/dolfin.dir/generation/PolyhedralMeshGenerator.cpp.o
 > [  2%] Building CXX object
> dolfin/CMakeFiles/dolfin.dir/generation/CSGCGALMeshGenerator3D.cpp.o
 > [  2%] Building CXX object
 > dolfin/CMakeFiles/dolfin.dir/generation/CSGMeshGenerator.cpp.o
 > [  2%] Building CXX object
> dolfin/CMakeFiles/dolfin.dir/generation/CSGCGALMeshGenerator2D.cpp.o
 > [  2%] Building CXX object
 > dolfin/CMakeFiles/dolfin.dir/generation/PolyhedronUtils.cpp.o
 > [  3%] Building CXX object
> dolfin/CMakeFiles/dolfin.dir/generation/PolygonalMeshGenerator.cpp.o
 > [  3%] Building CXX object
 > dolfin/CMakeFiles/dolfin.dir/generation/UnitTetrahedronMesh.cpp.o
 > [  3%] Building CXX object
 > dolfin/CMakeFiles/dolfin.dir/nls/NewtonSolver.cpp.o
 > [  5%] Building CXX object
 > dolfin/CMakeFiles/dolfin.dir/nls/PETScSNESSolver.cpp.o
> /scratch/FEniCS/src/dolfin-1.4.0/dolfin/nls/PETScSNESSolver.cpp: In
 > member function 'void
 > dolfin::PETScSNESSolver::init(dolfin::NonlinearProblem&,
> dolfin::GenericVector&)': /scratch/FEniCS/src/dolfin-1.4.0/dolfin/nls/PETScSNESSolver.cpp:245:
 > error: invalid conversion from 'PetscErrorCode (*)(_p_SNES*,
 > _p_Vec*, _p_Mat**, _p_Mat**, MatStructure*, void*)' to
 > 'PetscErrorCode (*)(_p_SNES*, _p_Vec*, _p_Mat*, _p_Mat*, void*)'
> /scratch/FEniCS/src/dolfin-1.4.0/dolfin/nls/PETScSNESSolver.cpp:245:
 > error:   initializing argument 4 of 'PetscErrorCode
 > SNESSetJacobian(_p_SNES*, _p_Mat*, _p_Mat*, PetscErrorCode
 > (*)(_p_SNES*, _p_Vec*, _p_Mat*, _p_Mat*, void*), void*)'
> /scratch/FEniCS/src/dolfin-1.4.0/dolfin/nls/PETScSNESSolver.cpp: In
 > member function 'void
> dolfin::PETScSNESSolver::set_bounds(dolfin::GenericVector&)': /scratch/FEniCS/src/dolfin-1.4.0/dolfin/nls/PETScSNESSolver.cpp:605:
 > error: 'SNES_VI_INF' was not declared in this scope
> /scratch/FEniCS/src/dolfin-1.4.0/dolfin/nls/PETScSNESSolver.cpp:617:
 > error: 'SNES_VI_INF' was not declared in this scope
 > make[2]: ***
 > [dolfin/CMakeFiles/dolfin.dir/nls/PETScSNESSolver.cpp.o] Error 1
 > make[2]: Leaving directory
 > `/scratch/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
 > make[1]: *** [dolfin/CMakeFiles/dolfin.dir/all] Error 2
 > make[1]: Leaving directory
 > `/scratch/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
 > make: *** [all] Error 2
 > make: Leaving directory
 > `/scratch/FEniCS/src/dolfin-1.4.0/dorsal_build_dir' Failure with
 > exit status: 2 Exit message: There was a problem building
 > dolfin-1.4.0.
 >


I read that this has to do with dolfin 1.4.0 not being compatible with
 petsc 3.5.2 and tried to switch to 'STABLE_BUILD=false' in
 dorsal.cfg. The error then is:

 Initialized empty Git repository in /scratch/FEniCS/src/ferari/.git/
 > fatal: https://bitbucket.org/fenics-project/ferari/info/refs not
 > found: did you run git update-server-info on the server?
 > Failure with exit status: 128
 > Exit message: Error fetching ferari.

FErari is retired and should not normally be used anymore. Just remove
it from your platform file.

@Garth - Was this intended to rename
https://bitbucket.org/fenics-project/ferari
to
https://bitbucket.org/fenics-project/ferari-retired
thus breaking whatever depends on it?


Anything that depended on FErari was already broken because it generated wrong results.





 Rather then jumping from error to error: is there any recommended
 installation method that will work fine? I read that dorsal is not
 really up-to-date and there is another installation script using
 HashDist (it fails for me, too - which I believe is related to the
 folder ./hashdist not being on a local hard disk). I also read a new
 version 1.5 will be out next week. Will any of these make it easier
 to install FEniCS in the near future?


If you want to experiment, you can also try the virtual environments (https://bitbucket.org/garth-wells/fenics-virtual).



If your problem with hashdist is not known, please report it here (in a
new thread). Note that homedir on network drive is usual on many
machines/clusters and is well-tested.

Binaries of 1.5 will be made available through some packaging systems.
But I'm not sure about your OS - @Johannes will know. I also have
suspicion that you'd need to be a root on that machine.


RHEL systems (and clones) are generally *way* behind in the dev tools that are provided as part of the distribution, and good admins will have layered an array of newer compilers and libraries on top. This is why any automated system is doomed on such systems. In general, on RHEL and friends you should build your own libraries. This is not just for FEniCS/DOLFIN.

Garth



Jan


 Kind regards,

 Maarten


_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to