OSX fempy status
Anyone had success with this on OSX?
Still having trouble. Some things I was able to resolve:
- -fPIC / and or ENABLE shared works. Maybe needs "-Wl,-undefined,dynamic_lookup" linker flags in order to make ALUgrid work (but did not recheck that recently)
- DUNE likes to use Python3.4, even v2.7 is the default on the system (same problem as on other systems)
- Python bug: on OSX the extension for shared objects is
.dylib
, but Python insist on required names ending on.so
, this is an upstream bug. Ignorant Python :( Workaround:_common.dylib
etc. has to be renamed or linked to_common.so
- corepy does not like dune.module with version X, it needs X.Y (non bug, silly us)
Afterwards stuff starts to work a little bit, but running python3.4 demo/grid-demo.py
still does not succeed, seemingly the internal build of fempy fails.
heinecj@nbnmh105 ~/Projects/DUNE/head/dune-fempy $ python3.4 demo/grid-demo.py
Traceback (most recent call last):
File "demo/grid-demo.py", line 5, in <module>
import dune.fem.function as function
File "/Users/heinecj/Projects/DUNE/head/dune-fempy/build-optim/python/dune/fem/__init__.py", line 6, in <module>
from ._adaptation import adapt, loadBalance
File "/Users/heinecj/Projects/DUNE/head/dune-fempy/build-optim/python/dune/fem/_adaptation.py", line 6, in <module>
from dune.generator.generator import SimpleGenerator
File "/Users/heinecj/Projects/DUNE/head/dune-corepy/build-optim/python/dune/generator/__init__.py", line 10, in <module>
builder = Builder(False)
File "/Users/heinecj/Projects/DUNE/head/dune-corepy/build-optim/python/dune/generator/builder.py", line 41, in __init__
output = dune.common.module.build_dune_py_module(self.dune_py_dir)
File "/Users/heinecj/Projects/DUNE/head/dune-corepy/build-optim/python/dune/common/module.py", line 562, in build_dune_py_module
output = configure_module(dune_py_dir, dune_py_dir, {d: prefix[d] for d in deps}, definitions)
File "/Users/heinecj/Projects/DUNE/head/dune-corepy/build-optim/python/dune/common/module.py", line 431, in configure_module
raise RuntimeError(buffer_to_str(stderr))
RuntimeError: CMake Error at CMakeLists.txt:8 (find_package):
By not providing "Finddune-common.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"dune-common", but CMake did not find one.
Could not find a package configuration file provided by "dune-common" with
any of the following names:
dune-commonConfig.cmake
dune-common-config.cmake
Add the installation prefix of "dune-common" to CMAKE_PREFIX_PATH or set
"dune-common_DIR" to a directory containing one of the above files. If
"dune-common" provides a separate development package or SDK, be sure it
has been installed.