DiamondLightSource / SuRVoS

(Su)per (R)egion (Vo)lume (S)egmentaton workbench
Apache License 2.0
25 stars 5 forks source link

SuRVoS doesn't compile on OSx #31

Closed bertinets closed 6 years ago

bertinets commented 7 years ago

I've recently learned about SuRVoS and I'd like to test it to process 3D stacks obtained through FIB serial slicing but I have an issue when I try to compile the software on OS X.

System details:

At first, I could not build it because the script would look for cud/lib64, which is not in the OS X version of the coda installation. After symbolic linking cuda/lib64 to cuda/lib, the
python setup.py build_ext -i

proceeded for a while, until I got the following (3) errors:

In file included from /opt/SuRVoS/survos/lib/qpbo_src/QPBO.cpp:918:
/opt/SuRVoS/survos/lib/qpbo_src/instances.inc:14:25: error: explicit specialization of 'get_type_information' after instantiation
        inline void QPBO<int>::get_type_information(const char*& type_name, const char*& type_format)
                               ^
/opt/SuRVoS/survos/lib/qpbo_src/QPBO.cpp:293:2: note: implicit instantiation first required here
        get_type_information(type_name, type_format);
        ^
In file included from /opt/SuRVoS/survos/lib/qpbo_src/QPBO.cpp:918:
/opt/SuRVoS/survos/lib/qpbo_src/instances.inc:21:27: error: explicit specialization of 'get_type_information' after instantiation
        inline void QPBO<float>::get_type_information(const char*& type_name, const char*& type_format)
                                 ^
/opt/SuRVoS/survos/lib/qpbo_src/QPBO.cpp:293:2: note: implicit instantiation first required here
        get_type_information(type_name, type_format);
        ^
In file included from /opt/SuRVoS/survos/lib/qpbo_src/QPBO.cpp:918:
/opt/SuRVoS/survos/lib/qpbo_src/instances.inc:28:28: error: explicit specialization of 'get_type_information' after instantiation
        inline void QPBO<double>::get_type_information(const char*& type_name, const char*& type_format)
                                  ^
/opt/SuRVoS/survos/lib/qpbo_src/QPBO.cpp:293:2: note: implicit instantiation first required here
        get_type_information(type_name, type_format);
        ^

Do you have any hint about this or it simply cannot run on OS X?

I've tried also on another system (OS X 10.11.3) with apple clang 7.3.0 and I got the very same errors. On the same system with a clang obtained through homebrew (3.9) I get an error from nvcc, as the 3.9 version of clang is not supported by the cuda compiler driver.

polarise commented 7 years ago

I get the same. Any chance this will be fixed soon?

srikanthnagella commented 6 years ago

Fixed in the master branch