← Back to team overview

fenics team mailing list archive

Re: Build time bugs in syfi and segfaults in dolfin -- Partially Fixed

 

On Thursday 12 February 2009 02:23:15 Balbir Thomas wrote:
> Hi,

> Looks like Harish was right. Rebuilding after update alternatives does seem
> to solve the problem with C++ files. Of course I had to edit the scons file
> and remove "-Werror" to build dolfin. 

Is it to be able to build PyDOLFIN you need this? Then you can remove it 
before building the swig generated wrapper files, look into dolfin/SConscript 
around line 235. This is fixed in the development version.

> I am now able to build and 
> successfully run the C++ demos (have not tested them all). This does
> indicate Fenics has problems with mpich. Perhaps the build scripts and
> dependencies in the packaging system need to take this into consideration.
> Also  a note in big bold letters would help :-) .

As Johannes pointed out in an other email, the DOLFIN package is dependent on 
the PETSc deb package which is compiled using OpenMPI. 

> However the python demos fail (at least all the ones I checked). For
> instance demo/pde/poisson/python/demo.py produces the following error :
>
> bt@ps:$ python demo.py
> [darwin:04934] mca: base: component_find: unable to open osc pt2pt: file
> not found (ignored)
> Checking mesh ordering (finished).
> Calling just-in-time (JIT) compiler, this may take some time... 
> WARNING: Didn't find dolfin.i in include paths returned from pkg-config.

This line show that dolfin.i has not been found. In the development version we 
raise an Exception here, with better user information.

If dolfin.i is not found the cxx file won't be built, so that's why this file 
is not found. Where is DOLFIN installed and what does

  pkg-config dolfin --cflags

return?

> In instant.recompile: The module did not compile, see
> '/tmp/tmp0FoES72009-2-12-01-13_instant/dolfin_compile_function_c2c6ca28e8e2
>9b2498da8bbcedb6ff5e/compile.log' Traceback (most recent call last):
>   File "demo.py", line 31, in <module>
>     u0 = Constant(mesh, 0.0)
>   File "/usr/lib/python2.5/site-packages/dolfin/constant.py", line 38, in
> Constant
>     return Function(V, cppexpr)
>   File "/usr/lib/python2.5/site-packages/dolfin/function.py", line 498, in
> __new__
>     cpp_base = compile_function([cpparg],[defaults])[0]
>   File "/usr/lib/python2.5/site-packages/dolfin/compile_function.py", line
> 335, in compile_function
>     function_classes =
> compile_function_code("\n\n".join(code_snippets),classnames)
>   File "/usr/lib/python2.5/site-packages/dolfin/compile_function.py", line
> 272, in compile_function_code
>     signature      = module_name
>   File "/usr/lib/python2.5/site-packages/instant/build.py", line 423, in
> build_module
>     recompile(modulename, module_path, setup_name,
> new_compilation_checksum) File
> "/usr/lib/python2.5/site-packages/instant/build.py", line 101, in recompile
>     "compile, see '%s'" % compile_log_filename)
>   File "/usr/lib/python2.5/site-packages/instant/output.py", line 49, in
> instant_error
>     raise RuntimeError(text)
> RuntimeError: In instant.recompile: The module did not compile, see
> '/tmp/tmp0FoES72009-2-12-01-13_instant/dolfin_compile_function_c2c6ca28e8e2
>9b2498da8bbcedb6ff5e/compile.log'
>
>
> The contents of
> /tmp/tmp0FoES72009-2-12-01-13_instant/dolfin_compile_function_c2c6ca28e8e29
>b2498da8bbcedb6ff5e/compile.log show
>
> bt@ps:$ more
> /tmp/tmp0FoES72009-2-12-01-13_instant/dolfin_compile_function_c2c6ca28e8e29
>b2498da8bbcedb6ff5e/compile.log
> dolfin_compile_function_c2c6ca28e8e29b2498da8bbcedb6ff5e.i:97: Error:
> Unable to find 'dolfin.i'
> running build_ext
> building '_dolfin_compile_function_c2c6ca28e8e29b2498da8bbcedb6ff5e'
> extension
> creating build
> creating build/temp.linux-i686-2.5
> gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
> -Wstrict-prototypes -fPIC
> -I/home/bt/debian/sources/dolfin/dolfin-0.9.0/debian/tmp/include -I/
> usr/lib/python2.5/site-packages/numpy/core/include
> -I/usr/include/suitesparse -I/usr/include/python2.5
> -I/usr/lib/petsc/bmake/linux-gnu-c-opt -I/usr/lib/petsc
> /include -I/usr/lib/openmpi/include -I/usr/lib/openmpi/lib -I.
> -I/usr/include/scotch -I/usr/include/libxml2 -I/usr/include/glib-2.0
> -I/usr/lib/glib-2.0/includ
> e -I/usr/lib/python2.5/site-packages/numpy/core/include
> -I/usr/include/python2.5 -c
> dolfin_compile_function_c2c6ca28e8e29b2498da8bbcedb6ff5e_wrap.cxx -o build
> /temp.linux-i686-2.5/dolfin_compile_function_c2c6ca28e8e29b2498da8bbcedb6ff
>5e_wrap.o gcc:
> dolfin_compile_function_c2c6ca28e8e29b2498da8bbcedb6ff5e_wrap.cxx: No such
> file or directory
> gcc: no input files
> error: command 'gcc' failed with exit status 1
>
> The contents of the temporary folder are
>
> bt@ps:$ tree
> /tmp/tmp0FoES72009-2-12-01-13_instant/dolfin_compile_function_c2c6ca28e8e29
>b2498da8bbcedb6ff5e/
> /tmp/tmp0FoES72009-2-12-01-13_instant/dolfin_compile_function_c2c6ca28e8e29
>b2498da8bbcedb6ff5e/
>
> |-- __init__.py
> |-- build
> |   `-- temp.linux-i686-2.5
> |-- compile.log
> |-- dolfin_compile_function_c2c6ca28e8e29b2498da8bbcedb6ff5e.i
>
> `-- setup.py
>
> So I note dolfin.i and the cxx file could not be found. Where are these
> supposed to be and or what is supposed to generate them ? I would be
> grateful for any other suggestions to help fix these.
>
> PS: i still need to read the manual but am distracted by having to build
> and install dolfin correctly. So apologies if i should know something i
> dont.

The manual is unfortunatley quite outdated.

Johan


References