dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #05238
Re: Problems compiling pydolfin 0.7.0-1
On Tue, Jun 26, 2007 at 10:13:29PM +0200, Martin Sandve Alnæs wrote:
> ...
> Making all in pydolfin
> make[2]: Entering directory
> `/home/martinal/softwaredownloads/fenics/dolfin-0.7.0-1/src/pydolfin'
> make all-am
> make[3]: Entering directory
> `/home/martinal/softwaredownloads/fenics/dolfin-0.7.0-1/src/pydolfin'
> if /bin/bash ../../libtool --tag=CXX --mode=compile mpicxx
> -DPACKAGE_NAME=\"DOLFIN\" -DPACKAGE_TARNAME=\"dolfin\"
> -DPACKAGE_VERSION=\"0.7.0-1\" -DPACKAGE_STRING=\"DOLFIN\ 0.7.0-1\"
> -DPACKAGE_BUGREPORT=\"http://www.fenics.org/bugzilla/\"
> -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
> -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1
> -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
> -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_BOOST=
> -DHAVE_UMFPACK_UMFPACK_H=1 -I. -I. -I/usr/include/python2.5
> -I../../src/kernel/common -I../../src/kernel/elements
> -I../../src/kernel/fem -I../../src/kernel/function
> -I../../src/kernel/graph -I../../src/kernel/io -I../../src/kernel/la
> -I../../src/kernel/main -I../../src/kernel/math
> -I../../src/kernel/mesh -I../../src/kernel/mf -I../../src/kernel/nls
> -I../../src/kernel/ode -I../../src/kernel/pde
> -I../../src/kernel/quadrature -I../../src/kernel/parameter
> -I../../src/kernel/log -I../../src/kernel/plot -I/usr/include
> -I/usr/include/libxml2 -I/usr/include/glib-2.0
> -I/usr/lib/glib-2.0/include -I../../src/pydolfin
> -I/usr/include/python2.5
> -I/usr/lib/python2.5/site-packages/numpy/core/include -DNDEBUG -g -O2
> -fno-strict-aliasing -Wall -Werror -ansi -Wno-uninitialized -MT
> _dolfin_la-dolfin_wrap.lo -MD -MP -MF
> ".deps/_dolfin_la-dolfin_wrap.Tpo" -c -o _dolfin_la-dolfin_wrap.lo
> `test -f 'dolfin_wrap.cpp' || echo './'`dolfin_wrap.cpp; \
> then mv -f ".deps/_dolfin_la-dolfin_wrap.Tpo"
> ".deps/_dolfin_la-dolfin_wrap.Plo"; else rm -f
> ".deps/_dolfin_la-dolfin_wrap.Tpo"; exit 1; fi
> mkdir .libs
> mpicxx -DPACKAGE_NAME=\"DOLFIN\" -DPACKAGE_TARNAME=\"dolfin\"
> -DPACKAGE_VERSION=\"0.7.0-1\" "-DPACKAGE_STRING=\"DOLFIN 0.7.0-1\""
> -DPACKAGE_BUGREPORT=\"http://www.fenics.org/bugzilla/\"
> -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
> -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1
> -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
> -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_BOOST=
> -DHAVE_UMFPACK_UMFPACK_H=1 -I. -I. -I/usr/include/python2.5
> -I../../src/kernel/common -I../../src/kernel/elements
> -I../../src/kernel/fem -I../../src/kernel/function
> -I../../src/kernel/graph -I../../src/kernel/io -I../../src/kernel/la
> -I../../src/kernel/main -I../../src/kernel/math
> -I../../src/kernel/mesh -I../../src/kernel/mf -I../../src/kernel/nls
> -I../../src/kernel/ode -I../../src/kernel/pde
> -I../../src/kernel/quadrature -I../../src/kernel/parameter
> -I../../src/kernel/log -I../../src/kernel/plot -I/usr/include
> -I/usr/include/libxml2 -I/usr/include/glib-2.0
> -I/usr/lib/glib-2.0/include -I../../src/pydolfin
> -I/usr/include/python2.5
> -I/usr/lib/python2.5/site-packages/numpy/core/include -DNDEBUG -g -O2
> -fno-strict-aliasing -Wall -Werror -ansi -Wno-uninitialized -MT
> _dolfin_la-dolfin_wrap.lo -MD -MP -MF .deps/_dolfin_la-dolfin_wrap.Tpo
> -c dolfin_wrap.cpp -fPIC -DPIC -o .libs/_dolfin_la-dolfin_wrap.o
> dolfin_wrap.cpp: In function 'int
> SWIG_Python_ConvertFunctionPtr(PyObject*, void**, swig_type_info*)':
> dolfin_wrap.cpp:2052: error: invalid conversion from 'const char*' to 'char*'
> dolfin_wrap.cpp: In function 'void
> SWIG_Python_FixMethods(PyMethodDef*, swig_const_info*,
> swig_type_info**, swig_type_info**)':
> dolfin_wrap.cpp:91100: error: invalid conversion from 'const char*' to 'char*'
> make[3]: *** [_dolfin_la-dolfin_wrap.lo] Error 1
> ...
>
>
> The error seems to be in some swig-internal code, rather weird:
>
>
> /* Convert a function ptr value */
>
> SWIGRUNTIME int
> SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
> if (!PyCFunction_Check(obj)) {
> return SWIG_ConvertPtr(obj, ptr, ty, 0);
> } else {
> void *vptr = 0;
>
> /* here we get the method pointer for callbacks */
> char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc); //
> <-- line 2052
>
> ...
>
> SWIGINTERN void
> SWIG_Python_FixMethods(PyMethodDef *methods,
> swig_const_info *const_table,
> swig_type_info **types,
> swig_type_info **types_initial) {
> size_t i;
> for (i = 0; methods[i].ml_name; ++i) {
> char *c = methods[i].ml_doc; // <-- line 91100
> ...
>
>
> Some software versions:
> Ubuntu Feisty
> g++ (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
> SWIG Version 1.3.31
> python 2.5
>
> and:
> petsc 2.3.2 (from ubuntu repository)
> FIAT 0.3.1
> ffc 0.4.1
> numpy 1.0.1
>
>
>
> I compiled first with swig 1.3.29, then installed 1.3.31 and ran "make
> clean && configure && make" in dolfin, could that be the problem?
Try doing touch src/pydolfin/dolfin.i before rebuilding.
/Anders
References