Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation issue related to SSE instructions #127

Closed
alexeigurevich opened this issue Feb 26, 2018 · 2 comments
Closed

Compilation issue related to SSE instructions #127

alexeigurevich opened this issue Feb 26, 2018 · 2 comments
Labels

Comments

@alexeigurevich
Copy link

Hi Heng,

I've just tested minimap2 compilation in various settings and found a small issue on Ubuntu 32bit virtual machine with GCC 5.2.1.
Initially, I got a bunch of errors like:

In file included from ksw2_ll_sse.c:4:0:
/usr/lib/gcc/i686-linux-gnu/5/include/emmintrin.h:1180:1: error: inlining failed in call to always_inline ‘_mm_srli_si128’: target specific option mismatch
 _mm_srli_si128 (__m128i __A, const int __N)
 ^

First, I tried the suggested solution from README file and ran make sse2only=1. However, this did not help. Note that the errors are occurring during ksw2_ll_sse.o compilation which is required independently from sse2only value.

The solution which helped me was to update Makefile first line
CFLAGS= -g -Wall -O2 -Wc++-compat
with one more option: -msse2 (it also works with some other alternatives, e.g. -msse4.1).

Do you think it make sense to add this or similar option to Makefile permanently?

@lh3
Copy link
Owner

lh3 commented Feb 26, 2018

Thanks! I haven't used 32-bit machines (virtual or not) for some years and haven't paid attention to this issue. I have made some changes to Makefile via a22ebb9. Let me know if that works.

@lh3 lh3 added the bug label Feb 26, 2018
@alexeigurevich
Copy link
Author

Now it working, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants