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