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