soedinglab / BaMMmotif

Bayesian Markov Model motif discovery - An expectation maximization algorithm for the de novo discovery of enriched motifs as modelled by higher-order Markov models.
GNU General Public License v3.0
20 stars 2 forks source link

Compiling fails potentially stdlib issue #3

Closed TobiasMadsen closed 8 years ago

TobiasMadsen commented 8 years ago

Hi I am unable to compile the software on MacOSX (10.10.1). Using clang compiler:

c++ -v
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.0.0
Thread model: posix

All of 10 error messages are related to std::_Node_List, the first being:

git/BaMMmotif/src/StartModels.cpp:43:21: error: no template named '_List_node' in namespace 'std'; did you mean '__list_node'?
                                Pool_alloc<std::_List_node<Match> >::reset_Pool();
                                           ~~~~~^~~~~~~~~~
                                                __list_node

I thus suspect it to be an issue with the stdlib. I have tried to no avail compiling with both flags -stdlib=libc++ and -stdlib=libstdc++

croth1 commented 8 years ago

Hi @TobiasMadsen,

Unfortunately BaMM!motif currently can only be built with a gcc compiler, not with apple's clang. I updated the README. It now contains step-by-step instructions for compiling on macOS, but we did not merge it yet: https://github.com/croth1/BaMMmotif/blob/0074680ae7d9ac3c2f1234aa5a83fc10600d82e2/README.md

Please let us know if that works for you 👍

@AnjaSophieKiesel, @matthias-siebert, you should consider doing a 1.0 release with statically compiled binaries to make it easier for users to try out BaMM!motif.

TobiasMadsen commented 8 years ago

Thank you for the quick response. Actually it didn't work. But I managed to compile it on a linux machine instead.

The compilation on MacOSX fails with the following message: [ 2%] Building CXX object CMakeFiles/BaMMmotif.dir/src/Globals.cpp.o /var/folders/fb/pyq5765j1hq2tsm72fjqr5m00000gn/T//ccAdG9TG.s:4067:suffix or operands invalid for `movq'

It is probably still some misconfiguration on my side. I will try installing the latest XCode and report if I can compile succesfully.

AnjaSophieKiesel commented 8 years ago

Hi @TobiasMadsen ,

sorry for this inconvenience. A release with compiled binaries (Linux and MAC version) is now available for download.

Please let us know if the binary (BaMMmotif_mac) works on your MAC machine.

Greetings, Anja

TobiasMadsen commented 8 years ago

Hi @AnjaSophieKiesel

The binary works beautifully. Thank you guys again for the quick responses.

Best, Tobias

AnjaSophieKiesel commented 8 years ago

Hi @TobiasMadsen ,

glad we could help. In case you need further help operating the program , please don't hesitate to ask :)

Best, Anja