Summary:ASTERISK-11018: Asterisk doesn't build with new Speex 1.2beta3
Reporter:Phoebe Anderson (phoebe)Labels:
Date Opened:2007-12-12 08:57:01.000-0600Date Closed:2007-12-13 14:20:57.000-0600
Versions:Frequency of
Description:According to speex.org:

"The most obvious change in this release is that all the non-codec components (preprocessor, echo cancellation, jitter buffer) have been moved to a new libspeexdsp library."

This may be the cause of the problem.


  [LD] abstract_jb.o acl.o aescrypt.o aeskey.o aestab.o alaw.o app.o ast_expr2.o ast_expr2f.o asterisk.o astmm.o astobj2.o autoservice.o callerid.o cdr.o channel.o chanvars.o cli.o config.o cryptostub.o db.o devicestate.o dial.o dns.o dnsmgr.o dsp.o enum.o file.o fixedjitterbuf.o frame.o fskmodem.o http.o image.o indications.o io.o jitterbuf.o loader.o logger.o manager.o md5.o netsock.o pbx.o plc.o privacy.o rtp.o say.o sched.o sha1.o slinfactory.o srv.o stdtime/localtime.o strcompat.o tdd.o term.o threadstorage.o translate.o udptl.o ulaw.o utils.o editline/libedit.a db1-ast/libdb1.a ../apps/modules.link ../cdr/modules.link ../channels/modules.link ../codecs/modules.link ../formats/modules.link ../funcs/modules.link ../pbx/modules.link ../res/modules.link -> asterisk
../codecs/codec_speex.o: In function `lintospeex_destroy':
codec_speex.c:(.text.lintospeex_destroy+0x1d): undefined reference to `speex_preprocess_state_destroy'
../codecs/codec_speex.o: In function `lintospeex_frameout':
codec_speex.c:(.text.lintospeex_frameout+0xd8): undefined reference to `speex_preprocess'
../codecs/codec_speex.o: In function `lintospeex_new':
codec_speex.c:(.text.lintospeex_new+0x176): undefined reference to `speex_preprocess_state_init'
codec_speex.c:(.text.lintospeex_new+0x193): undefined reference to `speex_preprocess_ctl'
codec_speex.c:(.text.lintospeex_new+0x1b0): undefined reference to `speex_preprocess_ctl'
codec_speex.c:(.text.lintospeex_new+0x1cd): undefined reference to `speex_preprocess_ctl'
codec_speex.c:(.text.lintospeex_new+0x1e7): undefined reference to `speex_preprocess_ctl'
codec_speex.c:(.text.lintospeex_new+0x204): undefined reference to `speex_preprocess_ctl'
../codecs/codec_speex.o:codec_speex.c:(.text.lintospeex_new+0x221): more undefined references to `speex_preprocess_ctl' follow
collect2: ld returned 1 exit status
make[1]: *** [asterisk] Error 1
make: *** [main] Error 2
Comments:By: Eliel Sardanons (eliel) 2007-12-12 17:29:52.000-0600

Please try the latest 1.4 SVN branch, but I couldn't reproduce your reported compile error.

(I have Installed speex 1.2beta3 without any compilation parameter)


By: Tilghman Lesher (tilghman) 2007-12-12 17:48:13.000-0600

Given that beta software may still be in a state of flux, we do not guarantee that our releases will work against any particular beta version.  Please use only released versions of speex for the time being.  When Speex 1.2 is finalized, you may file a bug about it if it still does not work.

However, this is not a MAJOR bug, either way, since using an older release will work just fine.

By: Phoebe Anderson (phoebe) 2007-12-13 08:27:21.000-0600

Removing "codecs" from Module Embedding under menuconfig fixes the issue.  Otherwise linking fails, even using svn.

Please note that according to speex.org, the Speex betas are recommended over the stable versions for production usage.

Please reopen as "minor", sorry about the mixup.

By: Tilghman Lesher (tilghman) 2007-12-13 14:20:57.000-0600

Again, we do not adapt to beta software.  You may reopen ONLY when 1.2 is released, not while it is in beta status.