[Speex-dev] Speex compile/rpmbuild issue on x86_64

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Sun Dec 10 02:30:11 PST 2006

> The rpm compile proceeds apace until the build reaches the %files
> section. Here it uses the _/libdir directive to look for the libraries
> that have just been compiled. However in an x86/_64 environment the
> _libdir directive points to lib64 (at least on centos/Redhat and
> probably Fedora Core). The compile on this platform builds the libraries
> in the lib directory. Hence the rpm build fails.

Sorry, I've no idea how spec files are supposed to work beyond the very
basic stuff. I'm willing to accept a patch, but I'm unable to debug that
(it's been contributed by someone else).

> Hope this is useful info and thanks for a great piece of software.  The
> next step is to get speex native on some hardphones (already hassled a
> Snom developer to look at putting it in their phones). I’ll be releasing
> an Asterisk install script with optimised speex codecs (ie with sse
> optimisations) so it should go head to head with g.729 performance wise.

If you want to optimise Speex. Some options I can recommend (beyond
--enable-sse) are:
* -ffast-math
* -fprofile-generate with -fprofile-use (see gcc manual)
* -ftree-vectorize

Note that some versions of gcc (at least gcc 4.1) under some
circumstances tend to generate bad code with -ftree-vectorize (see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29925), so be careful.


More information about the Speex-dev mailing list