marbl / Winnowmap

Long read / genome alignment software
Other
235 stars 22 forks source link

Using Meryl on MacOS #3

Closed TommySchooner closed 3 years ago

TommySchooner commented 3 years ago

Hi there,

I am a newbie to bioinformatics. I am looking for a software that would allow be to better map the RNA reads into the repeat region of the viral genome, compare to minimap2.

However, I am not sure if I am able to run winnowmap on MacOS. I tried to use meryl but it shows the following error: exec format error: meryl

I wonder do I need alternative method in order to use winnow map?

Thank you very much for helping I am looking forward to that!

cjain7 commented 3 years ago

To install the latest version (1.11) from source on MacOS, the following recipe works for me. I assume you've brew package installer available on your mac. If not, it's straightforward to install it.

1) Install gcc using brew. brew install gcc@10 2) Download Winnowmap source code. 3) Run make CC=gcc-10 CXX=g++-10 4) You should see a bin folder with meryl and winnowmap executable files.

In step 3, I'm telling makefile to use C and C++ compilers that were installed in Step 1. Otherwise it might default to using MacOS's built in compiler.

Hope this helps!

TommySchooner commented 3 years ago

Hi there!

It helps certainly and it is working now! I guess it is the steps where MacOS decide to use the built in complier that cause the trouble!

Thank you very much for helping!

mleysens commented 3 years ago

no go for me as well using this

make CC=gcc-12 CXX=g++-10 /Applications/Xcode.app/Contents/Developer/usr/bin/make -e -C src g++-10 -c -g -Wall -O2 -DHAVE_KALLOC -fopenmp -std=c++11 -Wno-sign-compare -Wno-write-strings -Wno-unused-but-set-variable main.c -o main.o FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't understand 'm' flag! make[1]: [main.o] Error 1 make: [winnowmap] Error 2

mleysens commented 3 years ago

is this in the Makefile in the src directory where the sse libraries are being called via -msse4.1 for example?

cjain7 commented 3 years ago

Tried google searching FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't understand 'm' flag!
Try export PATH=/usr/bin:$PATH before compiling.

mleysens commented 3 years ago

This worked!. Of course /usr/bin was in my path but not as the first item.

bencarty2 commented 6 months ago

Hello,

This looks like a similar(ish) issue that I can't seem to resolve on an M1 Macbook pro. I've done 'brew install gcc' which installed gcc 13.2.0. Then downloaded the winnowmap source code, cd to /Winnowmap and then 'make CC=gcc-13 CXX=g++-13'. This gives the below message:

make CXX=g++-13 CC=gcc-13
/Library/Developer/CommandLineTools/usr/bin/make -e -C src g++-13 -c -msse2 -g -Wall -O2 -DHAVE_KALLOC -fopenmp -std=c++11 -Wno-sign-compare -Wno-write-strings -Wno-unused-but-set-variable -fno-tree-vectorize ksw2_ll_sse.c -o ksw2_ll_sse.o g++-13: error: unrecognized command-line option '-msse2' make[1]: [ksw2_ll_sse.o] Error 1 make: [winnowmap] Error 2

From my google search, it sounds like it wants to use Apple's preinstalled clang version over the brew installed one, but I don't know how to override this. Any suggestions? Thank you!

brianwalenz commented 6 months ago

That's actually a winnowmap (https://github.com/marbl/Winnowmap) problem and not a meryl problem - with some success reported at https://github.com/marbl/Winnowmap/issues/31. You were close though, use:

make CC=gcc-13 CXX=g++-13 arm_neon=1
bencarty2 commented 6 months ago

This worked - thank you very much!