Install failed, error compiling sse_optimized.cpp

Hi all,

I’m on a Fedora 5 Linux box, installing audacity 1.2.6 from source tarball. I downloaded
and installed practically every required required library (although it would not find my
libmad, but let’s forget that for now, I disabled it), and then configured with the following
command :

./configure --without-libmad CPPFLAGS=“-I/w7/u/libid3tag-0.15.1b/include -I/w/u/flac-1.2.1/include” LDFLAGS=“-L/w7/u/libid3tag-0.15.1b/lib -L/w/u/flac-1.2.1/lib” --prefix=/w/u/audacity-src-1.2.6

This seemed to work fine, but then I typed make and it starting compiling, and stopped
with the following error :

g++ -DHAVE_CONFIG_H -I. -I. -I…/…/include -I…/…/include -I/w7/u/libid3tag-0.15.1b/include -I/w/u/flac-1.2.1/include -O3 -fcheck-new -I…/…/include -MT sse_optimized.lo -MD -MP -MF .deps/sse_optimized.Tpo -c sse_optimized.cpp -o sse_optimized.o
In file included from sse_optimized.cpp:70:
/usr/lib/gcc/i386-redhat-linux/4.1.0/include/xmmintrin.h:34:3: error: #error “SSE instruction set not enabled”
sse_optimized.cpp: In member function ‘virtual double soundtouch::TDStretchSSE::calcCrossCorrStereo(const float*, const float*) const’:
sse_optimized.cpp:76: error: ‘__m128’ was not declared in this scope
sse_optimized.cpp:76: error: expected ;' before 'vSum' sse_optimized.cpp:106: error: 'pVec2' was not declared in this scope sse_optimized.cpp:106: error: expected primary-expression before ')' token sse_optimized.cpp:106: error: expected ;’ before ‘pV2’
sse_optimized.cpp:107: error: ‘vSum’ was not declared in this scope
sse_optimized.cpp:107: error: ‘_mm_setzero_ps’ was not declared in this scope
sse_optimized.cpp:113: error: ‘_mm_load_ps’ was not declared in this scope
sse_optimized.cpp:113: error: ‘_mm_mul_ps’ was not declared in this scope
sse_optimized.cpp:113: error: ‘_mm_add_ps’ was not declared in this scope
sse_optimized.cpp: In member function ‘virtual uint soundtouch::FIRFilterSSE::evaluateFilterStereo(float*, const float*, uint) const’:
sse_optimized.cpp:296: error: expected initializer before ‘*’ token
sse_optimized.cpp:297: error: ‘__m128’ was not declared in this scope
sse_optimized.cpp:297: error: expected ;' before 'sum1' sse_optimized.cpp:301: error: 'pFil' was not declared in this scope sse_optimized.cpp:301: error: expected primary-expression before ')' token sse_optimized.cpp:301: error: expected ;’ before ‘filterCoeffsAlign’
sse_optimized.cpp:303: error: ‘sum1’ was not declared in this scope
sse_optimized.cpp:303: error: ‘sum2’ was not declared in this scope
sse_optimized.cpp:303: error: ‘_mm_setzero_ps’ was not declared in this scope
sse_optimized.cpp:313: error: ‘_mm_loadu_ps’ was not declared in this scope
sse_optimized.cpp:313: error: ‘_mm_mul_ps’ was not declared in this scope
sse_optimized.cpp:313: error: ‘_mm_add_ps’ was not declared in this scope
sse_optimized.cpp:334: error: ‘_MM_SHUFFLE’ was not declared in this scope
sse_optimized.cpp:334: error: ‘_mm_shuffle_ps’ was not declared in this scope
sse_optimized.cpp:336: error: ‘_mm_add_ps’ was not declared in this scope
sse_optimized.cpp:336: error: ‘_mm_storeu_ps’ was not declared in this scope
make[4]: *** [sse_optimized.lo] Error 1
make[4]: Leaving directory /home/joao/tmp/audacity-src-1.2.6/lib-src/soundtouch/source/SoundTouch' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory /home/joao/tmp/audacity-src-1.2.6/lib-src/soundtouch/source’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory /home/joao/tmp/audacity-src-1.2.6/lib-src/soundtouch' make[1]: *** [soundtouch/source/SoundTouch/.libs/libSoundTouch.a] Error 2 make[1]: Leaving directory /home/joao/tmp/audacity-src-1.2.6/lib-src’
make: *** [audacity] Error 2
[joao@fox audacity-src-1.2.6]$

Any suggestions on what’s causing this ? can I disable this sse thing ?

Thnaks for helping,
Joao

I’ve moved this into the compiling Forum.

It looks as if this problem arises on AMD machines without SSE enabled. It seems you can solve it by defining an environment variable:

$ SOUNDTOUCH_CXXFLAGS =-msse -mmmx

For details see here.


Gale