Closed darealshinji closed 9 years ago
Maybe you are doing something wrong, it compiles just fine here with clang-3.6.1 I can't bother to install 3.6.0 because it is too time consuming on a gentoo, is that version not available on your distro?
Ok, I did test gcc-4.8.4 and it compiled fine. I'm inclined to think there is absolutely nothing wrong with fmtconv and the problem lies on your toolchain.
Here fmtconv compiles fine with clang-3.6.1, gcc-4.8.4 and gcc-5.1.0
I get the same errors when compiling with clang 3.6.1. gcc 5.1.0 is fine. They come straight from the Arch Linux package manager.
@4re: Does your CPU happen to have AVX2 and are you passing -march=native or similar? Scaler.h and Transfer.h mention the m256 and m256i types. They are included in main.cpp, which is not compiled with -mavx2. I'm inclined to believe clang is right to complain.
@dubhater yes, I'm passing -march=native but my cpu is only avx capable, is an amd one.
Ok, now back home I tested without -march=native and clang/gcc where not able to build it, same errors here. :(
Passing -march=native to CXXFLAGS makes it build with g++-4.8 and clang.
Yes, but you shouldn't distribute the resulting binary.
Why not?
Because anyone who doesn't have CPU capabilities matching yours can't use the binary. For example, if your CPU can do AVX(2) whereas their's can't.
The latest commit fixed this issue for me. Now it builds without -march=native on all four c++ compilers.
I'm trying to build a package on Launchpad for Ubuntu 14.04. But I can only build it with g++-4.9 which isn't available in Ubuntu 14.04. Building with g++-4.8, clang++-3.5 or clang++-3.6 fails.
Here are the build logs:
g++-4.8
clang++-3.5
clang++-3.6