missing file dolfin/swig/modules/fem/dependencies.txt

Issue #19 resolved
Kristian Ølgaard created an issue

On a fresh clone of fenics-project/dolfin I get the CMake error during configuration:

CMake Error at dolfin/swig/modules/fem/CMakeLists.txt:31 (file): file Internal CMake error when trying to open file: /home/oelgaard/software/fenics/src/dolfin/dolfin/swig/modules/fem/dependencies.txt for reading.

I guess the dependencies.txt file should be generated by the script cmake/scripts/generate-swig-interface?

But this fails with:

Traceback (most recent call last): File "cmake/scripts/generate-swig-interface", line 35, in <module> from dolfin_utils.cppparser import * ImportError: No module named cppparser

I see that e.g., dolfin/swig/modules/common/dependencies.txt is tracked, so the question is if /fem/dependencies.txt should be added, or if the cppparser import should be fixed instead.

Comments (6)

  1. Anders Logg (Chalmers)

    Do you get this when you run cmake.local? That should take care of running all the code generation that is needed to build.

  2. Kristian Ølgaard reporter

    I get this when running dorsal (which runs the scripts cmake/scripts). If I run cmake.local I get:

    CMake Error at CMakeLists.txt:252 (message): Could not find a configuration file for package UFC that is compatible with requested version 2.2.0.

    Set UFC_DIR to the directory containing a CMake configuration file for UFC.

    -- Configuring incomplete, errors occurred! make: *** No targets specified and no makefile found. Stop.

    I have fenics version 1.0 installed globally on my system. Line 35 in cmake/scripts/generate-swig-interface

    from dolfin_utils.cppparser import *

    picks up dolfin_utils from /usr/lib/python2.7/dist-packages/dolfin_utils which does not contain cppparsers (the reason the dorsal build failed in the first place).

    This is because line 33: sys.path.append(os.path.abspath("site-packages"))

    appends the local site-packages directory. If I prepend the directory instead:

    sys.path.insert(0,os.path.abspath("site-packages"))

    the dorsal build completes.

  3. Kristian Ølgaard reporter

    But that has nothing to do with why Dorsal fails on the first run. The cmake.local just picks up the global UFC which is installed, but that is not relevant because the cmake/scripts are run when Dorsal tries to build Dolfin, however, this triggers the path issue described above.

  4. Johannes Neumann

    Just as a remark. I got the same error when compiling with dorsal. I compiled on a platform where I hadn't root. I got problems with swig so I added swig to the package list and then everything compiled fine except for dolfin. I switched back the $SWIG_EXECUTABLE for the dolfin module to the installed (newer) version. this cleared the problem for me.

  5. Log in to comment