Compiling BWA on POWER7
3
0
Entering edit mode
6.3 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.6k views
ADD COMMENT
0
Entering edit mode

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

ADD REPLY
0
Entering edit mode

Tagging lh3

ADD REPLY
0
Entering edit mode

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

ADD REPLY
2
Entering edit mode
6.2 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).

ADD COMMENT
0
Entering edit mode

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

ADD REPLY
0
Entering edit mode
6.3 years ago
Charles Plessy ★ 2.8k

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.

ADD COMMENT
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?

ADD REPLY
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.

ADD REPLY
0
Entering edit mode

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

ADD REPLY
0
Entering edit mode
6.2 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.

ADD COMMENT

Login before adding your answer.

Traffic: 1983 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6