jakobandersen / mod

Home Page:http://cheminf.imada.sdu.dk/mod

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

build failures on MacOS 11.4 XCode 12.5.1

eric-smith-ELSI opened this issue · comments

Jakob, hi,

Do you have any users who have successfully build MØD on the latest MacOS (Big Sur)?

My earlier successful install was on MacOS 10.14.6 (Mojave) with XCode 11.3.1, on 19 May 2021.

BACKGROUND INFO
With small modifications, the installation of dependencies and configuration of MØD through cmake could be made to work as before. There are two differences in logging during installation in this dependency install from homebrew; I don't know if they matter to the later build failure.

  1. The current dependency install is including networkx and decorator, and gives the error:
    ERROR: networkx 2.5.1 has requirement decorator<5,>=4.3, but you'll have decorator 5.0.9 which is incompatible.
    There does not seem to be another version of decorator available, and
    brew install decorator
    completes without complaining.
    For the previous install (on Mojave)
    brew info networkx
    brew info decorator
    show no installed packages.

  2. Unlike the previous install on Mojave, in this install I get a permission error from pip3:
    ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Python/3.8'
    Consider using the --user option or check the permissions.
    so I ran
    pip3 install --user -r requirements.txt

THE MAIN PROBLEM
make then completes through the first 82% of builds and linkings, and fails beginning with output:
[ 83%] Building CXX object libs/pymod/CMakeFiles/pymod.dir/src/mod/py/Config.cpp.o
/Users/desmith/projects/graphs/mod/libs/pymod/src/mod/py/Config.cpp:197:25: error: expected '(' for function-style cast or type construction
BOOST_PP_SEQ_FOR_EACH(NSIter, ~, MOD_CONFIG_DATA())

and a cascade more. I attach a file with the full error output.

Many thanks if you can advise,

Eric
MOD_MacOS11.4_XCode12.5.1_error_log.txt

Thanks for the report:

  1. It looks like networkx has some problems with the decorator package: networkx/networkx#4773
    I guess this will resolve it self in the next networkx release. In MØD it is only used in the EpiM module.
  2. The default install directory for pip seems to vary between OS distributions. Som make --user default, others don't. I'll try to get the documentation updated for the next version to mention that --user may be a good option to use.
  3. The main problem: what I think the compiler is trying to tell in it's own wonderful way, is that there is a missing include in the beginning of libs/pymod/src/mod/py/Config.cpp.
    If you manually insert the line #include <boost/mpl/vector.hpp> at line 4 or so in that file, then I think that part will be fixed.
    (This include is necessary in one of the Boost versions released after the latest release of MØD.)

This works Jakob, thank you.