[LINUX] Unable to compile - DllAvFilter.h error
#1
Ubuntu 11.04, x86_64
XBMC 10.1, source from git
bootstraps and configures successfully

Code:
./bootstrap

Code:
./configure --enable-vdpau --enable-vaapi --enable-openmax --enable-xrandr --enable-goom --enable-pulse --enable-rtmp --enable-ffmpeg-libvorbis --enable-dvdcss --enable-mid --enable-libbluray --enable-external-libraries

I have an intel core 2 duo e8400, so i compile with this command to use both cores

Code:
make -j2

this generates this error:

Quote:/home/keith/xbmc/lib/DllAvFilter.h:129:216: error: cannot convert ‘AVFilterInOut*’ to ‘AVFilterInOut**’ for argument ‘3’ to ‘int avfilter_graph_parse(AVFilterGraph*, const char*, AVFilterInOut**, AVFilterInOut**, void*)’
/home/keith/xbmc/lib/DllAvFilter.h: In member function ‘virtual int DllAvFilter::av_vsrc_buffer_add_frame(AVFilterContext*, AVFrame*)’:
/home/keith/xbmc/lib/DllAvFilter.h:134:144: error: too few arguments to function ‘int av_vsrc_buffer_add_frame(AVFilterContext*, const AVFrame*, int)’
/usr/local/include/libavfilter/avcodec.h:68:5: note: declared here


I have attached the output to pastebin http://pastebin.com/0v7X0PVy

Any help would be appreciated and if you need more information I am more than willing to give it to you. Thanks!
Reply
#2
I have almost exactly the same problem with external libraries.
http://forum.xbmc.org/showthread.php?tid=104435

till now no solution in sight, apart from not using external-libraries.
so in your case, if you can live with the built-in ffmpeg, just remove
Code:
--enable-external-libraries
from your configure.

btw, you probably only want vdpau or vaapi. or do you really have an Nvidia and an Ati card?
Reply
#3
Hi and welcome,

Why are you enabling two different hardware acceleration drivers?

Why are you enabling openmax? Do you have a arm processor?

Why do you really need such a long winded ./configure line?

Can you explain to me why each of those switches are there? I just want to see if you have a grasp.

goom is no more, in fact I doubt it shows in your xbmc visualization addons,

All I have is questions because half of it makes zero sense, and perhaps the reason it is failing in first place is probably because your understanding of what the configure line switches do and are for...

If you have a Nvidia card you dont need vaapi (libvaa) only vdaup (libvdpau-dev) if by any chance you have two video cards enabled that wont work in xbmc, I don't think, very sure about that, eve if Linux supports it, and presuming you installed both libvaa and libvdpau-dev, dont you think this is gonna have bad results? Very new version of vaapi support nvidia cards (though Im not jumping on that bandwagon). (think about it like this imagine two guys pulling at a file like a tug of war) That is presuming your libvaa is new enough to support the nvidia card.

I would be interested in seeing the config.log which can be found in the XBMC GIT directory and will be around 200 and something K

have a look at my signature and see how a normal compile should go, just for GUIDANCE only, since I see you want pulse and not alsa and also it will be best to get a few things out of the way.

Also to enable all external libs you will need to compile all Git xbmc/lib I think not 100% sure but enough to question yet again.

to enable libbluray is also part of the xbmc/libs and has to be built and installed previously, as is my understanding, I don't see that done but the again your post says little about that hence why I wanna peek at the config.log.

Very odd. No offence.

while your at it can you post your machines hardware please.

I also agree with previous comment about the --enable-external-libraries

I will wait for a reply.
Reply
#4
today after a long discussion in IRC freenode #xbmc-linux another user suggested this as a solution to your error.

http://trac.xbmc.org/ticket/11689

as it turns out you can compile with libvaa and vdpau at same time this because xbmc does not talk to the video card with both api's at same time. also you do not need to compile all xbmc/libs to use external libraries like I previously said, hey we all learning...

I would stilll suggest for sake of some sanity that not all configure option should be enabled. for e.g openmax is definetly not needed for normal cpu's not needed, goom is not needed xandr, rmtp is not needed in fact when your in the xbmc git directory do this

Code:
./configure --help
it will list all the configure options as long as the libraries are installed in your system most of these are automatically picked up.

libbluray is needed (see my post above and compile link on my signature) and perhaps pulse and mid if this is your prefs and config.

theres more stuff on your compile line that is not required, because most of hwat you have its picked up automatically, some are, some are not, mostly the auto ones will say something, I have rmtp support and dont add it as well as dvdcss and others.

I hope that link works for you and if you have any question grab a irc client and goto freenode #xbmc-linux to clear any outstanding question about what your trying to achieve and your ./configure line... to make it cleaner at least, idk. Up to you.

Cheers
Reply
#5
Hey X3lectic,

Thanks for your help! I actually did do the ./configure --help. This is how I knew all of those enable options. When I read your post this morning I couldn't help but laugh (at myself).

It was really late last night when I was trying to compile with all these options. Before trying that I did successfully get it to configure and compile without any options (./configure only). The only issue I had was XBMC-Flicks was not listed in the Add-ons, and the website where I got the news about this addon said if it wasnt listed, then there is a feature that is required that is not enabled. So, in my ignorant, tired, newbness, I decided "Hey, I will just try to get all these features enabled since I can't find which feature would allow me to have the add-on"

Well, once you started naming the reasons my configure line made 0 sense and what some of the features were for, I couldnt help but laugh at myself.

No, i dont need arm support
No, i dont need ATI/AMD graphics support
No, I was not aware that XBMC can use its own FFMPEG
No, I dont need pulse audio support (Ubuntu is ALSA by default anyways)

I still dont understand OpenMAX. Do I need it for GPU accelerated decoding?

GOOM visualizer... sounds cool, but if it is deprecated, then I can definitely do without


Thanks for your help, and I will try to ./bootstrap, ./configure (with remaining options), and make again and see how it comes out.
Reply
#6
Lightbulb 
openmax does zero for your gpu and or machine. in XBMC openmax is used for embedded devices...

you should also note that you are compiling to the bleeding edge XBMC, if addons are not there is because they don't work at all with the new xbmc.
that is applicable for compilers and or nightly pre-compiled xbmc's

If you ever have question hop into IRC freenode #xbmc-linux

XBMC is by no means a easy thing to get working as you want and how you want it, we all do stupid things, the good thing about it is you may have just learned more about xbmc. I sure did learn a couple of new good things from your post about xbmc I didn't know before and I been at this for a few years.

at least you have a sense of humour, dont loose it, it's worth more then a great big pile of money.

cheers
Reply
#7
X3lectric Wrote:today after a long discussion in IRC freenode #xbmc-linux another user suggested this as a solution to your error.

http://trac.xbmc.org/ticket/11689

Hi,

I was getting the same error as Jackman85 (on Gentoo for me with the latest xbmc-9999) and the patch linked here fixed that (using a local ebuild through portage).

Here is my ffmpeg for reference:

Code:
ffmpeg version 0.7.1, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jul  2 2011 22:16:40 with gcc 4.5.2
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --disable-static --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-vaapi --enable-libmp3lame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libfaac --enable-nonfree --disable-indev=oss --disable-indev=jack --enable-x11grab --disable-outdev=oss --enable-frei0r --enable-libfreetype --enable-pthreads --enable-libopencore-amrwb --enable-libopencore-amrnb --enable-libgsm --enable-libdirac --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libvpx --disable-altivec --disable-avx --cpu=host --enable-hardcoded-tables
  libavutil    50. 43. 0 / 50. 43. 0
  libavcodec   52.122. 0 / 52.122. 0
  libavformat  52.110. 0 / 52.110. 0
  libavdevice  52.  5. 0 / 52.  5. 0
  libavfilter   1. 80. 0 /  1. 80. 0
  libswscale    0. 14. 1 /  0. 14. 1
  libpostproc  51.  2. 0 / 51.  2. 0

And also my C[XX]FLAGS/USE flags just in case . . .

Code:
USE="alsa bluray css pulseaudio rtmp sse sse2 udev vdpau webserver xrandr"
CFLAGS="-D_FORTIFY_SOURCE=2 -march=amdfam10 -mcx16 -msahf -mpopcnt -mabm --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=1024 -mtune=amdfam10 -ggdb -fworking-directory -O3"



Now I am just getting this and the xorg-server is restarting in an infinite loop Tongue:
Code:
terminate called after throwing an instance of dbiplus::DbErrors xbmc
But I think this is another issue. (EDIT: Yes it is, just an obvious DB error)
Reply
#8
wouldnt know gentoo, perhaps you best ask in IRC
Reply

Logout Mark Read Team Forum Stats Members Help
[LINUX] Unable to compile - DllAvFilter.h error0