While trying to compile https://github.com/COMBINE-lab/salmon on an IBM Power system, compilation fails during the pufferfish build phase because of SSE flags passed to the compiler for constituent ksw2pp:
236.4 Scanning dependencies of target ksw2pp_sse4
236.4 [ 40%] Building C object external/pufferfish/src/CMakeFiles/ksw2pp_sse4.dir/ksw2pp/ksw2_extd2_sse.c.o
236.4 cc: error: unrecognized command line option '-msse'
236.4 cc: error: unrecognized command line option '-msse2'
236.4 cc: error: unrecognized command line option '-msse3'
236.4 cc: error: unrecognized command line option '-mssse3'
236.4 cc: error: unrecognized command line option '-msse4'
236.4 cc: error: unrecognized command line option '-msse4.1'
236.4 make[2]: *** [external/pufferfish/src/CMakeFiles/ksw2pp_sse4.dir/build.make:63: external/pufferfish/src/CMakeFiles/ksw2pp_sse4.dir/ksw2pp/ksw2_extd2_sse.c.o] Error 1
236.4 make[1]: *** [CMakeFiles/Makefile2:484: external/pufferfish/src/CMakeFiles/ksw2pp_sse4.dir/all] Error 2
236.4 make: *** [Makefile:163: all] Error 2
Obviously, -msse flags are not meaningful on non-AMD architectures (I don't have an ARM platform handy to test whether gcc pukes on this arch as well but presumably it does). I'm not sure whether -march=native is important here or not.
I see that Pufferish can be built for both amd64 and arm64 architectures, so presumably there should be a way around this, but I am not seeing it. Please let me know if you have ideas and if successful, I"ll try to submit a PR to broaden support if I can get it working. Normally I would troubleshoot this myself, but the use heavy use of intrinsics in this library has me stumped.
While trying to compile https://github.com/COMBINE-lab/salmon on an IBM Power system, compilation fails during the pufferfish build phase because of SSE flags passed to the compiler for constituent ksw2pp:
Obviously,
-msse
flags are not meaningful on non-AMD architectures (I don't have an ARM platform handy to test whether gcc pukes on this arch as well but presumably it does). I'm not sure whether -march=native is important here or not.I see that Pufferish can be built for both amd64 and arm64 architectures, so presumably there should be a way around this, but I am not seeing it. Please let me know if you have ideas and if successful, I"ll try to submit a PR to broaden support if I can get it working. Normally I would troubleshoot this myself, but the use heavy use of intrinsics in this library has me stumped.
Kind regards