Created attachment 549488 [details] /proc/cpuinfo dev-libs/libsodium-1.0.16-r2 fails to build on i686 with no sse2 cpu-flag. The configure script claims to test for this flag but fails to notice that the cpu does not offer an sse2 instruction set.
Created attachment 549490 [details] Build log
Created attachment 549492 [details] emerge --info =dev-libs/libsodium-1.0.16-r2
I set the CFLAGS in my /etc/portage/make.conf to detail the missing flags a while ago to get around a similar problem building some qt software, but this time the compile line for the offending file in libsodium-1.0.16-r2 are ... -msse2 -march=i686 -mno-sse2 ... so I guess -msse2 takes priority.
I have now successfully built libsodium-1.0.16-r2 after restoring the CFLAGS in /etc/portage/make.conf to CFLAGS="-march=native -O2 -pipe". However the configure script still claims that the processor accepts -msse2 , together with a load of other cpu-flags that the processor does not support. How can I test whether this library will function correctly now?
You are passing -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-avx in CFLAGS. There's no need for that since -march=i686 doesn't enable any of those instruction sets. It will only cause problems like this. libsodium isn't my package so I won't make the call, but I have resolved bugs like this as INVALID in the past.
Oh, I didn't realize this package has no maintainer. In that case, yeah, just remove those CFLAGS and don't shoot yourself in the foot.