Configuration Error with GCC compiler check

Help for Audacity 2.x.x on GNU/Linux.
Forum rules
ImageThis forum is for Audacity 2.x.x on GNU/Linux.
Please state:
  • which version of Linux you are using,
  • the exact three-section version number of Audacity from Help menu > About Audacity,
  • whether you installed your distribution's release, PPA version, or compiled Audacity from source code.

Audacity 1.2.x and 1.3.x are obsolete and no longer supported. If you still have those versions, please upgrade (see https://www.audacityteam.org/download/).
The old forums for those versions are now closed, but you can still read the archives of the 1.2.x and 1.3.x forums.
Post Reply
adaptiman
Posts: 30
Joined: Fri Mar 16, 2018 8:28 pm
Operating System: Linux Debian

Configuration Error with GCC compiler check

Post by adaptiman » Fri Mar 16, 2018 8:41 pm

I'm trying to build Audacity 2.2.2 on Raspbian Stretch. I have the latest code tree from github. My compiler is gcc (Raspbian 6.3.0-18+rpi1) 6.3.0 20170516. I have wxWidgets installed. When configuring Audacity, I'm using the following command:

Code: Select all

../configure --with-lame --with-libid3tag --with-libsoxr=local --with-libvorbis --with-lv2 --with-portaudio --with-midi --with-portmidi --with-widgetextra=local --with-portmixer
during the configuration process, I get an error:

Code: Select all

...
checking for lrintf... yes
gnu XXX
checking whether C++ compiler accepts -msse... no
configure: error: Need a version of gcc with -msse
configure: error: ../../../lib-src/sbsms/configure failed for lib-src/sbsms
I've looked for a reference to -msse but can find no information on this flag for the gcc compiler. Any suggestions about what is causing this error? What is -msse?

adaptiman
Posts: 30
Joined: Fri Mar 16, 2018 8:28 pm
Operating System: Linux Debian

Re: Configuration Error with GCC compiler check

Post by adaptiman » Sat Mar 17, 2018 1:51 pm

UPDATE: I found the -msse compiler flag buried in the gcc documentation. It's an x86 option, so of course it will be "no" when compiled on an ARM-based processor. Specifically, this enables the SSE instruction set on some older processors. This is the reference from gnu.org:
‘sse’
Use scalar floating-point instructions present in the SSE instruction set. This instruction set is supported by Pentium III and newer chips, and in the AMD line by Athlon-4, Athlon XP and Athlon MP chips. The earlier version of the SSE instruction set supports only single-precision arithmetic, thus the double and extended-precision arithmetic are still done using 387. A later version, present only in Pentium 4 and AMD x86-64 chips, supports double-precision arithmetic too.

For the x86-32 compiler, you must use -march=cpu-type, -msse or -msse2 switches to enable SSE extensions and make this option effective. For the x86-64 compiler, these extensions are enabled by default.
I don't understand why this flag would be necessary for a compile on an ARM-based system, though. I think this is a bug.

adaptiman
Posts: 30
Joined: Fri Mar 16, 2018 8:28 pm
Operating System: Linux Debian

Re: Configuration Error with GCC compiler check

Post by adaptiman » Mon Mar 19, 2018 3:42 am

UPDATE: compiling with --disable-sse will succeed. Since WindowsXP is no longer supported by Audacity, sse is enabled by default, but of course won't run on an ARM processor.

Post Reply