Hi With 32-bit Xubuntu-14.04. When I compile FFmpeg from git using speex-1.2rc1 it builds OK. When I compile FFmpeg from git using speex-git it fails to build. (speex-HEAD-78cce67) It's not a big deal, I don't mind using speex-1.2rc1. But am I doing something wrong or is there something wrong with speex-git? (I've put the details in a txt attachment to keep this email post uncluttered) -------------- next part -------------- This is the build method I'm using:- --------------------------------------------------------------------- speex-1.2rc1 ------------ cd ~/; sudo rm -rf build; mkdir build; cd build; \ wget downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz -qO- | tar -xz; cd speex-*; \ ./configure --prefix=$HOME/build --disable-shared --disable-dependency-tracking; make; make install; cd ..; \ wget "git.videolan.org/?p=ffmpeg.git;a=snapshot;h=HEAD;sf=tgz" -qO- | tar -xz; cd ffmpeg-HEAD-*; \ PKG_CONFIG_PATH=$HOME/build/lib/pkgconfig \ LDFLAGS=-L$HOME/build/lib \ CFLAGS=-I$HOME/build/include \ ./configure --enable-libspeex; \ make --------------------------------------------------------------------- speex-git. --------------- cd ~/; sudo rm -rf build; mkdir build; cd build; \ wget "git.xiph.org/?p=speex.git;a=snapshot;h=HEAD;sf=tgz" -qO- | tar -xz; cd speex-HEAD-*; ./autogen.sh; \ ./configure --prefix=$HOME/build --disable-shared --disable-dependency-tracking; make; make install; cd ..; \ wget "git.videolan.org/?p=ffmpeg.git;a=snapshot;h=HEAD;sf=tgz" -qO- | tar -xz; cd ffmpeg-HEAD-*; \ PKG_CONFIG_PATH=$HOME/build/lib/pkgconfig \ LDFLAGS=-L$HOME/build/lib \ CFLAGS=-I$HOME/build/include \ ./configure --enable-libspeex; \ make --------------------------------------------------------------------- This is a successful build with speex-1.2rc1 @Xubuntu:~/build/ffmpeg-HEAD-b217e1b$ ./ffmpeg ffmpeg version 2.2.git-b217e1b Copyright (c) 2000-2014 the FFmpeg developers built on May 16 2014 18:49:41 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1) configuration: --enable-libspeex libavutil 52. 83.100 / 52. 83.100 libavcodec 55. 62.100 / 55. 62.100 libavformat 55. 38.100 / 55. 38.100 libavdevice 55. 13.101 / 55. 13.101 libavfilter 4. 5.100 / 4. 5.100 libswscale 2. 6.100 / 2. 6.100 libswresample 0. 19.100 / 0. 19.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... --------------------------------------------------------------------- These are the errors when I try to compile FFmpeg with speex-git CC libavcodec/lagarithrac.o CC libavcodec/latm_parser.o CC libavcodec/lcldec.o CC libavcodec/lclenc.o CC libavcodec/libspeexdec.o In file included from /home/user/build/include/speex/speex_types.h:122:0, from /home/user/build/include/speex/speex.h:43, from libavcodec/libspeexdec.c:21: /home/user/build/include/speex/speex_config_types.h:12:1: error: unknown type name ?int16_t? typedef int16_t spx_int16_t; ^ /home/user/build/include/speex/speex_config_types.h:13:1: error: unknown type name ?uint16_t? typedef uint16_t spx_uint16_t; ^ /home/user/build/include/speex/speex_config_types.h:14:1: error: unknown type name ?int32_t? typedef int32_t spx_int32_t; ^ /home/user/build/include/speex/speex_config_types.h:15:1: error: unknown type name ?uint32_t? typedef uint32_t spx_uint32_t; ^ In file included from libavcodec/libspeexdec.c:23:0: /home/user/build/include/speex/speex_stereo.h:64:1: warning: function declaration isn?t a prototype [-Wstrict-prototypes] SpeexStereoState *speex_stereo_state_init(); ^ libavcodec/libspeexdec.c: In function ?libspeex_decode_frame?: libavcodec/libspeexdec.c:153:5: warning: passing argument 3 of ?speex_decode_int? from incompatible pointer type [enabled by default] ret = speex_decode_int(s->dec_state, &s->bits, output); ^ In file included from libavcodec/libspeexdec.c:21:0: /home/user/build/include/speex/speex.h:372:5: note: expected ?spx_int16_t *? but argument is of type ?int16_t *? int speex_decode_int(void *state, SpeexBits *bits, spx_int16_t *out); ^ libavcodec/libspeexdec.c:159:9: warning: passing argument 1 of ?speex_decode_stereo_int? from incompatible pointer type [enabled by default] speex_decode_stereo_int(output, s->frame_size, &s->stereo); ^ In file included from libavcodec/libspeexdec.c:23:0: /home/user/build/include/speex/speex_stereo.h:82:6: note: expected ?spx_int16_t *? but argument is of type ?int16_t *? void speex_decode_stereo_int(spx_int16_t *data, int frame_size, SpeexStereoState *stereo); ^ make: *** [libavcodec/libspeexdec.o] Error 1 ---------------------------------------------------------------------
Tristan Matthews
2014-May-16 22:24 UTC
[Speex-dev] Error when compiling FFmpeg with speex-git.
Hi, On Fri, May 16, 2014 at 1:58 PM, batguano999 <batguano999 at zoho.com> wrote:> > Hi > With 32-bit Xubuntu-14.04. > When I compile FFmpeg from git using speex-1.2rc1 it builds OK. > When I compile FFmpeg from git using speex-git it fails to build. > (speex-HEAD-78cce67) > > It's not a big deal, I don't mind using speex-1.2rc1. > But am I doing something wrong or is there something wrong with speex-git? > > (I've put the details in a txt attachment to keep this email post > uncluttered) >Yeah the issue is that the include statements for speex_config_types.h are only hit when building speex, not third-party libraries. This started in commit ef80120166c3a2552f77008f40c59a84577a36b5 Ron, do you think those include statements should also just be generated by configure (like we do for @SIZE16@) instead of being ifdef'd? Best, Tristan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20140516/f1366b57/attachment.htm
> > This started in commit ef80120166c3a2552f77008f40c59a84577a36b5 >I agree. FFmpeg-git with speex-8aa51a2 builds OK and FFmpeg-git with speex-ef80120 fails. :-)
On Fri, May 16, 2014 at 06:24:48PM -0400, Tristan Matthews wrote:> Hi, > > On Fri, May 16, 2014 at 1:58 PM, batguano999 <batguano999 at zoho.com> wrote: > > > > > Hi > > With 32-bit Xubuntu-14.04. > > When I compile FFmpeg from git using speex-1.2rc1 it builds OK. > > When I compile FFmpeg from git using speex-git it fails to build. > > (speex-HEAD-78cce67) > > > > It's not a big deal, I don't mind using speex-1.2rc1. > > But am I doing something wrong or is there something wrong with speex-git? > > > > (I've put the details in a txt attachment to keep this email post > > uncluttered) > > > > Yeah the issue is that the include statements for speex_config_types.h are > only > hit when building speex, not third-party libraries. This started in commit > ef80120166c3a2552f77008f40c59a84577a36b5 > Ron, do you think those include statements should also just be generated by > configure (like we do for @SIZE16@) instead > of being ifdef'd?Indeed, this had already been reported, I'd just been buried under other things in the meantime and hadn't got back to it yet. I've pushed a fix for it now though. People might still want to be a bit cautious about deploying the code from git, the speexdsp split is still a work in progress and there are still known issues that need finishing with that. But testing what we have for obvious glitches like this is certainly welcome. Cheers, Ron
Reasonably Related Threads
- Error when compiling FFmpeg with speex-git.
- compiling ffmpeg with --enable-libspeex (was Re: from Adobe Flex / Flash Player 10 .flv Speex via Red5 to .wav PCM?)
- compiling ffmpeg with --enable-libspeex (was Re: from Adobe Flex / Flash Player 10 .flv Speex via Red5 to .wav PCM?)
- Error when compiling FFmpeg with speex-git.
- echo cancellation on Blackfin DSK