Compiling BWA on POWER7
3
0
Entering edit mode
6.8 years ago
idedios ▴ 30

Lately I've tried compiling the latest version of bwa on github in CentOS 7.2 on ppc64 but I get stuck on an x86_64 dependency (emmintrin.h). I found that this header file is specific to SSE2 instructions on x86 machines.

Roughly 2 years ago I was able to compile bwa on my PowerMac G5 so I'm not sure what changed since then that made bwa require x86_64.

software error bwa • 1.8k views
0
Entering edit mode

This is probably something worth asking on the bwa mailing list, possibly combined w/ tagging this report with 'bwa'

0
Entering edit mode

Tagging lh3

0
Entering edit mode

Ah yes, didn't realize this pings someone :)

2
Entering edit mode
6.7 years ago
william.wang ▴ 20

It doesn't compile for AArch64 either, but can be made to run by replacing 'emmintrin.h' with another header file 'SSE2NEON.h' (https://github.com/jratcliff63367/sse2neon/blob/master/SSE2NEON.h).

0
Entering edit mode

Could you please post the details working with SSE2NEON.h? Thanks.

0
Entering edit mode
6.8 years ago
Charles Plessy ★ 2.9k

Perhaps you can try to disable SSE2, but it might not be enough. In the thread linked above I wrote that it solved building on non-AMD64 platforms, but the problem came back some time between version 0.6.2 and 0.7.5a.

0
Entering edit mode

Sorry I'm not too familiar with using options with gcc. How exactly would I use the "-D_NO_SSE2" argument?

1
Entering edit mode

I think that you can pass this option directly to GCC in the command line. You can also do this by adding the option to the line defining DFLAGS in the Makefile.

0
Entering edit mode

Thanks! I gave it a try but it looks like bwa really needs the emmintrin.h header file.

0
Entering edit mode
6.7 years ago
idedios ▴ 30

UPDATE:

I found a workaround with from a pull request waiting to get merged. https://github.com/lh3/bwa/pull/71#issuecomment-232170671

The issue appears to be related to the klib dependency for their Smith-Waterman algorithm implementation.