f4exb / cm256cc

Fast GF(256) Cauchy MDS Block Erasure Codec in C++
GNU General Public License v3.0
23 stars 8 forks source link

Unsupported architecture #14

Open gargle256 opened 3 years ago

gargle256 commented 3 years ago

Hi,

when I compile the cm256cc project for sdrangel, i've this error :

-- The CXX compiler identification is GNU 10.2.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Target architecture: x86_64 -- Use SSE2 SIMD instructions -- Unsupported architecture - Terminated -- Configuring done -- Generating done

do you know why?

my computer : Architecture: x86_64 Vendor ID: AuthenticAMD CPU family: 16 Model: 10 Model name: AMD Phenom(tm) II X6 1075T Processor

regards, phi (F4HJK)

f4exb commented 3 years ago

Your CPU does not support SSSE3. You said you are willing to compile SDRangel that anyway requires the higher SSE 4.2 support so you will be out of luck there.

Edit: you can check SSE4 support in various Intel and AMD processor families here: https://en.wikipedia.org/wiki/SSE4

diodelass commented 2 years ago

I think this must be outdated by now, because in spite of these warnings, I tried building SDRangel on a machine supporting only SSE2 (specifically a Yonah 32-bit Core Duo L2400) and, to my considerable surprise, it worked. I built every listed dependency except cm256cc (this one), which I simply left out. I don't have a good sense of how cm256cc is used by SDRangel, but I'm assuming it's to do with demodulating some digital ham radio mode or other that I probably won't need. At any rate, SDRangel seems perfectly happy to build and run without it. I'm very happy to discover this, because it means that my old toughbook can still serve some good use as a field computer, even despite its very old CPU.

So, have there been any new developments here? While I don't personally seem to need this library, I'm guessing someone does, and amateur radio operators are often known for preferring to hold onto old hardware. If this could be made to work without SSSE3, I think that would be helpful for plenty of people out there.