On Tue, Feb 25, 2014 at 12:34 PM, Corrado Maurini
<[email protected]> wrote:
> On macosx I need to set CXXFLAGS="-lpython" as environment variable with the
> new ffc including ufc.
>
> Otherwise I get an error at linking (see below). The issue was not present
> before the merging of ufc and ffc.
>
> Is there a proper way to fix? I do not exactly which configuration file
> should be modified.

Linking with the Python library is required on some platforms, but I
haven't found a good way to find the full path to the library with
distutils. Suggestions are welcome.

Johannes

> Corrado
>
>
> Calling FFC just-in-time (JIT) compiler, this may take some time.
> In instant.recompile: The module did not compile with command 'make
> VERBOSE=1', see
> '/Users/Maurini/.instant/error/ffc_form_47fe6a7f2dd394a4567c94fe4fb0afeb70e88b85/compile.log'
> Traceback (most recent call last):
>   File "demo_poisson.py", line 41, in <module>
>     V = FunctionSpace(mesh, "Lagrange", 1)
>   File
> "/opt/HPC/FEniCS/lib/python2.7/site-packages/dolfin/functions/functionspace.py",
> line 392, in __init__
>     FunctionSpaceBase.__init__(self, mesh, element, constrained_domain)
>   File
> "/opt/HPC/FEniCS/lib/python2.7/site-packages/dolfin/functions/functionspace.py",
> line 81, in __init__
>     ufc_element, ufc_dofmap = jit(self._ufl_element)
>   File
> "/opt/HPC/FEniCS/lib/python2.7/site-packages/dolfin/compilemodules/jit.py",
> line 62, in mpi_jit
>     return local_jit(*args, **kwargs)
>   File
> "/opt/HPC/FEniCS/lib/python2.7/site-packages/dolfin/compilemodules/jit.py",
> line 126, in jit
>     return jit_compile(form, parameters=p)
>   File "/opt/HPC/FEniCS/lib/python2.7/site-packages/ffc/jitcompiler.py",
> line 75, in jit
>     return jit_element(ufl_object, parameters)
>   File "/opt/HPC/FEniCS/lib/python2.7/site-packages/ffc/jitcompiler.py",
> line 186, in jit_element
>     compiled_form, module, form_data, prefix = jit_form(form, parameters)
>   File "/opt/HPC/FEniCS/lib/python2.7/site-packages/ffc/jitcompiler.py",
> line 155, in jit_form
>     cache_dir = cache_dir)
>   File
> "/opt/HPC/FEniCS/lib/python2.7/site-packages/ffc/backends/ufc/build.py",
> line 73, in build_ufc_module
>     **kwargs)
>   File "/opt/HPC/FEniCS/lib/python2.7/site-packages/instant/build.py", line
> 542, in build_module
>     recompile(modulename, module_path, new_compilation_checksum,
> build_system)
>   File "/opt/HPC/FEniCS/lib/python2.7/site-packages/instant/build.py", line
> 151, in recompile
>     instant_error(msg % (cmd, compile_log_filename_dest))
>   File "/opt/HPC/FEniCS/lib/python2.7/site-packages/instant/output.py", line
> 57, in instant_error
>     raise RuntimeError(text)
> RuntimeError: In instant.recompile: The module did not compile with command
> 'make VERBOSE=1', see
> '/Users/Maurini/.instant/error/ffc_form_47fe6a7f2dd394a4567c94fe4fb0afeb70e88b85/compile.log'
>
>
> Here the relevant lines of compile.log:
>
> /usr/local/Cellar/cmake/2.8.12.2/bin/cmake -E cmake_link_script
> CMakeFiles/_ffc_form_47fe6a7f2dd394a4567c94fe4fb0afeb70e88b85.dir/link.txt
> --verbose=1
> /usr/bin/c++   -std=c++11  -O2 -bundle -Wl,-headerpad_max_install_names   -o
> _ffc_form_47fe6a7f2dd394a4567c94fe4fb0afeb70e88b85.so
> CMakeFiles/_ffc_form_47fe6a7f2dd394a4567c94fe4fb0afeb70e88b85.dir/ffc_form_47fe6a7f2dd394a4567c94fe4fb0afeb70e88b85PYTHON_wrap.cxx.o
> Undefined symbols for architecture x86_64:
>   "_PyArg_UnpackTuple", referenced from:
>       _SwigPyObject_own in
> ffc_form_47fe6a7f2dd394a4567c94fe4fb0afeb70e88b85PYTHON_wrap.cxx.o
>   "_PyBool_FromLong", referenced from:
>       _SwigPyObject_richcompare in
> ffc_form_47fe6a7f2dd394a4567c94fe4fb0afeb70e88b85PYTHON_wrap.cxx.o
>       _SwigPyObject_own in
> ffc_form_47fe6a7f2dd394a4567c94fe4fb0afeb70e88b85PYTHON_wrap.cxx.o
>   "_PyCapsule_GetPointer", referenced from:
>       _SWIG_Python_DestroyModule in
> ffc_form_47fe6a7f2dd394a4567c94fe4fb0afeb70e88b85PYTHON_wrap.cxx.o
>   "_PyCapsule_Import", referenced from:
>
>
>
>
> Corrado Maurini
> Institut Jean Le Rond d'Alembert (UMR 7190)
> Université Pierre et Marie Curie
> 4 Place Jussieu, case 162
> Tour 55-65, 4ème étage, Bureau 424
> 75252 Paris Cedex 05
> Tél: 01 44 27 87 19, Fax: 01 44 27 52 59
> E-mail: [email protected]
> Web: http://www.lmm.jussieu.fr/~corrado/
>
>
> On Tue, Feb 25, 2014 at 11:56 AM, Jan Blechta <[email protected]>
> wrote:
>>
>> On Tue, 25 Feb 2014 11:39:38 +0100
>> Kent-Andre Mardal <[email protected]> wrote:
>>
>> > On 25 February 2014 11:28, Jan Blechta <[email protected]>
>> > wrote:
>> >
>> > > On Mon, 24 Feb 2014 19:33:30 +0100
>> > > Anders Logg <[email protected]> wrote:
>> > >
>> > > > On Mon, Feb 24, 2014 at 06:27:29PM +0100, Jan Blechta wrote:
>> > > > > On Mon, 24 Feb 2014 16:52:18 +0100
>> > > > > Nico Schlömer <[email protected]> wrote:
>> > > > >
>> > > > > > > Shouldn't -std=c++11 be switched for -std=c++0x which is
>> > > > > > > only recognized by GCC 4.6 in Ubuntu Precise, the latest
>> > > > > > > long-term release?
>> > > > > >
>> > > > > > Just bumped into this as well.
>> > > > >
>> > > > > This is already handled in DOLFIN (by CMake), so it is
>> > > > > desirable to be handled also in UFC. Is it possible, Anders?
>> > > > > Relevant code is line 10
>> > > > >
>> > > > >   CXX_FLAGS = "-std=c++11 " + os.environ.get("CXXFLAGS", "")
>> > > > >
>> > > > > in ffc/setup.py
>> > > >
>> > > > Sure this can be added, but I don't know how to check for which
>> > > > flags are suppported. Is there a standard way to check for
>> > > > supported compiler flags in distutils?
>> > >
>> > > It does not seem that there is a systematic way of doing this. What
>> > > about try/except sequence for flags in [' -std=c++11 ', '
>> > > -std=c++0x ', ' ']. The latter should work with compilers which
>> > > support C++0x/11 by default without flags. On fail, we could print
>> > > out "Your compiler does not seem to support C++0x/11. Otherwise,
>> > > set environment variable CXX_FLAGS appropriately."
>> > >
>> > > In the case that this would need speed-up, try/except loop could be
>> > > performed with dummy file to detect respective flag.
>> > >
>> > > Jan
>> > >
>> >
>> >
>> > This sounds bothersome. Distutils support for C/C++ is really just a
>> > hack on top of the Python system. Adding to CXX_FLAGS sounds like the
>> > road to trouble on multiple platforms.  There were good reasons for
>> > removing Distutils from instant as it was unpredictable at times due
>> > to our modifications of CXX_FLAGS etc.
>>
>> So what do you suggest with compiling UFC?
>>
>> Jan
>>
>> >
>> > Kent
>> >
>> >
>> > > >
>> > > > --
>> > > > Anders
>> > > >
>> > > >
>> > > > > Jan
>> > > > >
>> > > > > > --Nico
>> > > > > >
>> > > > > >
>> > > > > > On Fri, Feb 21, 2014 at 3:44 PM, Jan Blechta
>> > > > > > <[email protected]> wrote:
>> > > > > > > Shouldn't -std=c++11 be switched for -std=c++0x which is
>> > > > > > > only recognized by GCC 4.6 in Ubuntu Precise, the latest
>> > > > > > > long-term release?
>> > > > > > >
>> > > > > > > Jan
>> > > > > > >
>> > > > > > >
>> > > > > > > On Fri, 21 Feb 2014 15:11:05 +0100
>> > > > > > > Johannes Ring <[email protected]> wrote:
>> > > > > > >
>> > > > > > >> On Fri, Feb 21, 2014 at 3:05 PM, Anders Logg
>> > > > > > >> <[email protected]> wrote:
>> > > > > > >> > On Fri, Feb 21, 2014 at 03:00:01PM +0100, Johannes Ring
>> > > > > > >> > wrote:
>> > > > > > >> >> On Fri, Feb 21, 2014 at 2:15 PM, Anders Logg
>> > > > > > >> >> <[email protected]> wrote:
>> > > > > > >> >> > UFC has now been merged into FFC. Some work remains
>> > > > > > >> >> > to do some cleanup after the merge (mostly merging of
>> > > > > > >> >> > the documentation), but everything should work now.
>> > > > > > >> >> > This means that FEniCS users no longer need to
>> > > > > > >> >> > download and install UFC separately.
>> > > > > > >> >> >
>> > > > > > >> >> > Some issues:
>> > > > > > >> >> >
>> > > > > > >> >> > - Can we mark the UFC repository as discontinued on
>> > > > > > >> >> > Bitbucket? Should it be removed?
>> > > > > > >> >> >
>> > > > > > >> >> > - How do we handle installation in Dorsal? If we just
>> > > > > > >> >> > remove the UFC package, then it will work for
>> > > > > > >> >> > installation from the master branch but will fail for
>> > > > > > >> >> > download of the latest stable version.
>> > > > > > >> >>
>> > > > > > >> >> We can fix this temporarily by setting BUILDCHAIN=cmake
>> > > > > > >> >> in ufc-stable.package and BUILDCHAIN=nothing in
>> > > > > > >> >> ufc.package. This will checkout UFC from git but
>> > > > > > >> >> nothing will be built or installed when
>> > > > > > >> >> STABLE_BUILD=false. When 1.4 is release, we can remove
>> > > > > > >> >> the UFC package.
>> > > > > > >> >
>> > > > > > >> > Sounds good. Will you fix?
>> > > > > > >>
>> > > > > > >> Yes, done.
>> > > > > > >>
>> > > > > > >> Johannes
>> > > > > > >> _______________________________________________
>> > > > > > >> fenics mailing list
>> > > > > > >> [email protected]
>> > > > > > >> http://fenicsproject.org/mailman/listinfo/fenics
>> > > > > > >
>> > > > > > > _______________________________________________
>> > > > > > > fenics mailing list
>> > > > > > > [email protected]
>> > > > > > > http://fenicsproject.org/mailman/listinfo/fenics
>> > > > > > _______________________________________________
>> > > > > > fenics mailing list
>> > > > > > [email protected]
>> > > > > > http://fenicsproject.org/mailman/listinfo/fenics
>> > > > >
>> > > > _______________________________________________
>> > > > fenics mailing list
>> > > > [email protected]
>> > > > http://fenicsproject.org/mailman/listinfo/fenics
>> > >
>> > > _______________________________________________
>> > > fenics mailing list
>> > > [email protected]
>> > > http://fenicsproject.org/mailman/listinfo/fenics
>> > >
>>
>> _______________________________________________
>> fenics mailing list
>> [email protected]
>> http://fenicsproject.org/mailman/listinfo/fenics
>
>
>
> _______________________________________________
> fenics mailing list
> [email protected]
> http://fenicsproject.org/mailman/listinfo/fenics
>
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to