Bug 143907 - Installation of wengophone fails : cannot find avcodec.h
|
Bug#:
143907
|
Product: Gentoo Linux
|
Version: 2006.0
|
Platform: x86
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: genstef@gentoo.org
|
Reported By: deadhead@goodfellow.it
|
|
Component: Ebuilds
|
|
|
URL:
|
|
Summary: Installation of wengophone fails : cannot find avcodec.h
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2006-08-14 11:13 0000
|
The installation of the wengophone 2.0 rc2 fails :
wengophone/src/presentation/qt/QtAbout.cpp:36:21: avcodec.h: No such file or
directory
wengophone/src/presentation/qt/QtAbout.cpp: In constructor
`QtAbout::QtAbout(QWidget*)':
wengophone/src/presentation/qt/QtAbout.cpp:69: error: `avcodec_version' was not
declared in this scope
wengophone/src/presentation/qt/QtAbout.cpp:69: warning: unused variable
'avcodec_version'
scons: *** [release-symbols/wengophone/src/presentation/qt/QtAbout.o] Error 1
scons: building terminated because of errors.
you'll find attached the whole output
this is my emerge --info
Portage 2.1-r2 (default-linux/x86/2005.1, gcc-3.4.6, glibc-2.3.6-r4,
2.6.17-gentoo-r4-sea i686)
=================================================================
System uname: 2.6.17-gentoo-r4-sea i686 Intel(R) Pentium(R) M processor 1400MHz
Gentoo Base System version 1.12.4
app-admin/eselect-compiler: [Not Present]
dev-lang/python: 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache: [Not Present]
dev-util/confcache: [Not Present]
sys-apps/sandbox: 1.2.17
sys-devel/autoconf: 2.13, 2.59-r7
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils: 2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -Os -pipe -fomit-frame-pointer -ffast-math
-fforce-addr -ftracer -momit-leaf-frame-pointer -fno-unroll-loops "
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/splash
/etc/terminfo"
CXXFLAGS="-march=pentium-m -Os -pipe -fomit-frame-pointer -ffast-math
-fforce-addr -ftracer -momit-leaf-frame-pointer -fno-unroll-loops
-fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks fixpackages metadata-transfer sandbox
sfperms strict"
GENTOO_MIRRORS="http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources
http://cdn.mirror.garr.it/mirrors/gentoo http://distfiles.gentoo.org
http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="it_IT@euro"
LC_ALL="it_IT@euro"
LINGUAS="it"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 X a52 aac aalib acpi acpi4linux aim alsa asf audiofile avi
bash-completion bitmap-fonts bzip2 cairo candy caps cdparanoia cdr cpudetection
crypt cscope css cups curl dbus directfb dri dts dvd dvdr dvdread encode exif
fame fbcon ffmpeg flac fontconfig foomaticdb ftp geoip gif gphoto2 gpm
gstreamer gtk gtk2 hal icq idn ieee1394 imagemagick imap imlib jabber java
javascript jbig jpeg jpeg2k kde kdeenablefinal kdexdeltas lcms live
logitech-mouse logrotate lzo mad matroska mime mjpeg mmx mmxext mng mozsvg mp3
mp4 mpeg mplayer musepack musicbrainz ncurses nls nocd nptl nsplugin nvidia ogg
oggvorbis openal opengl oscar pam pcmcia pdf pdflib png pnp posix ppds qt
quicktime rar readline real sasl sdl slang sndfile sse sse2 ssl
startup-notification svg svga symlink sysfs theora threads tiff truetype
truetype-fonts type1-fonts unicode usb v4l v4l2 vcd vidix vorbis wifi
win32codecs wmf wxwindows x264 xanim xface xine xosd xpm xscreensaver xv xvid
xvmc yv12 zeroconf zlib elibc_glibc input_devices_keyboard input_devices_mouse
kernel_linux linguas_it userland_GNU video_cards_nvidia video_cards_nv
video_cards_vesa video_cards_fbdev"
Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS,
PORTAGE_RSYNC_EXTRA_OPTS
please try with a newer ~arch version of ffmpeg. I will upgrade the dep when
that works.
Reproducable on amd64. Same error.
Same probleme here with latest ffmpeg ebuild :/
avcodec.h is present (/usr/include/ffmpeg/avcodec.h) with both ffmpeg p20051216
and p20060530.
I do not have the problem here but nevertheless I added the patch to cvs. Hope
it fixes it for you all.
Created an attachment (id=94296) [details]
correct ALL wrong includes in the wengophone sources
Even using the first patch the emerge stops again due to avcodec.h problem . So
I corrected every include in the sources, and things goes a little bit better
but with the corrected include, another error appear :/
release-symbols/wengophone/src/presentation/qt/QtAbout.o: In function
`QtAbout::QtAbout(QWidget*)':
QtAbout.cpp:(.text+0xa17): undefined reference to `avcodec_version'
release-symbols/wengophone/src/presentation/qt/QtAbout.o: In function
`QtAbout::QtAbout(QWidget*)':
QtAbout.cpp:(.text+0x1d8b): undefined reference to `avcodec_version'
release-symbols/wifo/phapi/libphapi.so: undefined reference to
`img_resample_init'
release-symbols/wifo/phapi/libphapi.so: undefined reference to `avcodec_init'
release-symbols/wifo/phapi/libphapi.so: undefined reference to `avcodec_close'
release-symbols/wifo/phapi/libphapi.so: undefined reference to `img_convert'
release-symbols/wifo/phapi/libphapi.so: undefined reference to
`avcodec_find_decoder'
release-symbols/wifo/phapi/libphapi.so: undefined reference to
`avcodec_find_encoder'
release-symbols/wifo/phapi/libphapi.so: undefined reference to `av_free'
release-symbols/wifo/phapi/libphapi.so: undefined reference to
`img_resample_close'
release-symbols/wifo/phapi/libphapi.so: undefined reference to
`avcodec_decode_video'
release-symbols/wifo/phapi/libphapi.so: undefined reference to `img_resample'
release-symbols/wifo/phapi/libphapi.so: undefined reference to `avpicture_fill'
release-symbols/wifo/phapi/libphapi.so: undefined reference to `av_malloc'
release-symbols/wifo/phapi/libphapi.so: undefined reference to
`avcodec_encode_video'
release-symbols/wifo/phapi/libphapi.so: undefined reference to
`avpicture_get_size'
release-symbols/wifo/phapi/libphapi.so: undefined reference to
`avcodec_alloc_frame'
release-symbols/wifo/phapi/libphapi.so: undefined reference to
`avcodec_alloc_context'
release-symbols/wifo/phapi/libphapi.so: undefined reference to `avcodec_open'
release-symbols/wifo/phapi/libphapi.so: undefined reference to
`avcodec_register_all'
collect2: ld returned 1 exit status
scons: *** [release-symbols/wengophone/src/presentation/qt/qtwengophone] Error
1
scons: building terminated because of errors.
I'll try to update ffmpeg hoping to solve.
I reopen the bug since the proposed patch doesn't work and my patch, that
correct EVERY include avcodec.h pointed out another problem.
I'm using this ffmpeg version
media-video/ffmpeg-0.4.9_p20051216 USE="a52 aac dts encode ieee1394 imlib mmx
ogg sdl theora threads truetype v4l vorbis xvid zlib -debug -doc -network -oss
-test"
Even using ~x86 ffmpeg package I got the same error specified in comment #7
My problem looks different with wengophone-2.0_rc2, but is related to
avcodec.h:
g++ -Os -mtune=i686 -pipe -pthread -fno-common -Wall
-Irelease-symbols/libs/pixertool/include -Ilibs/pixertool/include
-Irelease-symbols/libs/util/cutil/include -Ilibs/util/cutil/include -c -o
release-symbols/libs/pixertool/src/pixertool.o libs/pixertool/src/pixertool.cpp
In file included from libs/pixertool/src/pixertool.cpp:22:
libs/pixertool/include/pixertool/ffmpeg-pixertool.h:25:21: avcodec.h: No such
file or directory
In file included from libs/pixertool/src/pixertool.cpp:22:
libs/pixertool/include/pixertool/ffmpeg-pixertool.h:61: error: variable or
field `pix_fill_avpicture' declared void
libs/pixertool/include/pixertool/ffmpeg-pixertool.h:61: error: `AVPicture' was
not declared in this scope
libs/pixertool/include/pixertool/ffmpeg-pixertool.h:61: error: `dst' was not
declared in this scope
libs/pixertool/include/pixertool/ffmpeg-pixertool.h:61: error: expected
primary-expression before '*' token
libs/pixertool/include/pixertool/ffmpeg-pixertool.h:61: error: `src' was not
declared in this scope
libs/pixertool/include/pixertool/ffmpeg-pixertool.h:61: error: initializer
expression list treated as compound expression
libs/pixertool/include/pixertool/ffmpeg-pixertool.h:77: error: `AVPicture' has
not been declared
libs/pixertool/include/pixertool/ffmpeg-pixertool.h:77: error: ISO C++ forbids
declaration of `img_src' with no type
libs/pixertool/src/pixertool.cpp: In function `piximage* pix_alloc(pixosi,
unsigned int, unsigned int)':
libs/pixertool/src/pixertool.cpp:44: error: `avcodec_init' was not declared in
this scope
libs/pixertool/src/pixertool.cpp:50: error: `av_malloc' was not declared in
this scope
libs/pixertool/src/pixertool.cpp:44: warning: unused variable 'avcodec_init'
libs/pixertool/src/pixertool.cpp:50: warning: unused variable 'av_malloc'
libs/pixertool/src/pixertool.cpp: In function `void pix_free(piximage*)':
libs/pixertool/src/pixertool.cpp:58: error: `av_free' was not declared in this
scope
libs/pixertool/src/pixertool.cpp:58: warning: unused variable 'av_free'
libs/pixertool/src/pixertool.cpp: In function `unsigned int pix_size(pixosi,
unsigned int, unsigned int)':
libs/pixertool/src/pixertool.cpp:65: error: `avpicture_get_size' was not
declared in this scope
libs/pixertool/src/pixertool.cpp:65: warning: unused variable
'avpicture_get_size'
libs/pixertool/src/pixertool.cpp: In function `pixerrorcode pix_convert(int,
piximage*, piximage*)':
libs/pixertool/src/pixertool.cpp:94: error: `AVPicture' was not declared in
this scope
libs/pixertool/src/pixertool.cpp:94: error: expected `;' before "avp_source"
libs/pixertool/src/pixertool.cpp:95: error: `avp_source' was not declared in
this scope
libs/pixertool/src/pixertool.cpp:95: error: `avpicture_fill' was not declared
in this scope
libs/pixertool/src/pixertool.cpp:96: error: `avp_target' was not declared in
this scope
libs/pixertool/src/pixertool.cpp:103: error: `PIX_FMT_YUV420P' was not declared
in this scope
libs/pixertool/src/pixertool.cpp:103: warning: unused variable
'PIX_FMT_YUV420P'
libs/pixertool/src/pixertool.cpp:116: error: `PIX_FMT_YUV420P' was not declared
in this scope
libs/pixertool/src/pixertool.cpp:116: warning: unused variable
'PIX_FMT_YUV420P'
libs/pixertool/src/pixertool.cpp:121: error: `ImgReSampleContext' was not
declared in this scope
libs/pixertool/src/pixertool.cpp:121: error: `resample_context' was not
declared in this scope
libs/pixertool/src/pixertool.cpp:122: error: `img_resample_init' was not
declared in this scope
libs/pixertool/src/pixertool.cpp:128: error: expected `;' before
"avp_tmp_target"
libs/pixertool/src/pixertool.cpp:131: error: `avpicture_get_size' was not
declared in this scope
libs/pixertool/src/pixertool.cpp:131: error: `av_malloc' was not declared in
this scope
libs/pixertool/src/pixertool.cpp:132: error: `avp_tmp_target' was not declared
in this scope
libs/pixertool/src/pixertool.cpp:136: error: `img_resample' was not declared in
this scope
libs/pixertool/src/pixertool.cpp:137: error: `img_resample_close' was not
declared in this scope
libs/pixertool/src/pixertool.cpp:143: error: `img_convert' was not declared in
this scope
libs/pixertool/src/pixertool.cpp:145: error: `av_free' was not declared in this
scope
libs/pixertool/src/pixertool.cpp:145: warning: unused variable 'av_free'
libs/pixertool/src/pixertool.cpp:143: warning: unused variable 'img_convert'
libs/pixertool/src/pixertool.cpp:148: error: `av_free' was not declared in this
scope
libs/pixertool/src/pixertool.cpp:121: warning: unused variable
'ImgReSampleContext'
libs/pixertool/src/pixertool.cpp:122: warning: unused variable
'img_resample_init'
libs/pixertool/src/pixertool.cpp:131: warning: unused variable
'avpicture_get_size'
libs/pixertool/src/pixertool.cpp:131: warning: unused variable 'av_malloc'
libs/pixertool/src/pixertool.cpp:136: warning: unused variable 'img_resample'
libs/pixertool/src/pixertool.cpp:137: warning: unused variable
'img_resample_close'
libs/pixertool/src/pixertool.cpp:148: warning: unused variable 'av_free'
libs/pixertool/src/pixertool.cpp:154: error: `img_convert' was not declared in
this scope
libs/pixertool/src/pixertool.cpp:154: warning: unused variable 'img_convert'
libs/pixertool/src/pixertool.cpp:161: error: `av_free' was not declared in this
scope
libs/pixertool/src/pixertool.cpp:161: warning: unused variable 'av_free'
libs/pixertool/src/pixertool.cpp:89: warning: unused variable 'len_target'
libs/pixertool/src/pixertool.cpp: In function `uint8_t*
_nv12_to_yuv420p(uint8_t*, unsigned int, unsigned int)':
libs/pixertool/src/pixertool.cpp:171: error: `av_malloc' was not declared in
this scope
libs/pixertool/src/pixertool.cpp:171: warning: unused variable 'av_malloc'
scons: *** [release-symbols/libs/pixertool/src/pixertool.o] Error 1
scons: building terminated because of errors.
---
$ find / -name 'avcodec.h' 2>/dev/null
/usr/include/ffmpeg/avcodec.h
---
media-video/ffmpeg-0.4.9_p20051216 USE="a52 aac dts encode mmx ogg sdl theora
truetype vorbis xvid zlib -debug -doc -ieee1394 -imlib -network -oss -test
-threads -v4l"
(In reply to comment #10)
> In file included from libs/pixertool/src/pixertool.cpp:22:
> libs/pixertool/include/pixertool/ffmpeg-pixertool.h:25:21: avcodec.h: No such
> file or directory
it's again the wrong include bug. Try to use my patch, rename it
ffmpeg-include.patch and then put that file into
/usr/portage/net-im/wengophone/files
Then exec
ebuid wengophone-2.0_rc2.ebuild digest
to recalculate hashes and try to rebuild. In this way includes should be
corrected. Let us know what happen then to you
As you are all using stable (correct me if I am wrong) the problem must be in
some package that has a lower version in stable than in ~arch. Does pkg-config
--cflags --libs libavcodec work correctly for you?
(In reply to comment #11)
> it's again the wrong include bug. Try to use my patch, rename it
> ffmpeg-include.patch and then put that file into
> /usr/portage/net-im/wengophone/files
The patch is already in my portage tree. The problem is related to another file
than wengophone/src/presentation/qt/QtAbout.cpp, so the Wengophone "package"
needs further work.
Created an attachment (id=94316) [details]
New ffmpeg-include.patch
Added the following to the patch:
--- libs/pixertool/include/pixertool/ffmpeg-pixertool.h.old 2006-08-15
16:28:06.599233250 +0200
+++ libs/pixertool/include/pixertool/ffmpeg-pixertool.h 2006-08-15
16:28:21.732179000 +0200
@@ -22,7 +22,7 @@
#include <pixertool/pixertool.h>
-#include <avcodec.h>
+#include <ffmpeg/avcodec.h>
#ifdef __cplusplus
extern "C" {
Yet another problem. Will fix it in a short while.
gcc -Os -mtune=i686 -pipe -pthread -fno-common -Wall
-Irelease-symbols/libs/pixertool/include -Ilibs/pixertool/include
-Irelease-symbols/libs/util/cutil/include -Ilibs/util/cutil/include -c -o
release-symbols/libs/pixertool/src/ffmpeg/ffmpeg-pixertool.o
libs/pixertool/src/ffmpeg/ffmpeg-pixertool.c
libs/pixertool/src/ffmpeg/ffmpeg-pixertool.c:22:21: avcodec.h: No such file or
directory
scons: *** [release-symbols/libs/pixertool/src/ffmpeg/ffmpeg-pixertool.o] Error
1
scons: building terminated because of errors.
care to answer my question before proceeding with patching the wrong files?
The question was Does "pkg-config --cflags --libs libavcodec" work correctly
for you. Looking at the emerge output you might see a
* Applying 004_external-ffmpeg.patch ... [ ok ]
this patch not working correctly for you is the culprit - not the files
specifying wrong includes. Thus it would make sense to debug the patch instead
of hacking around elsewhere.
(In reply to comment #12)
> As you are all using stable (correct me if I am wrong) the problem must be in
> some package that has a lower version in stable than in ~arch. Does pkg-config
> --cflags --libs libavcodec work correctly for you?
>
$ pkg-config --cflags --libs libavcodec
Package theora was not found in the pkg-config search path.
Perhaps you should add the directory containing `theora.pc'
to the PKG_CONFIG_PATH environment variable
Package 'theora', required by 'libavcodec', not found
(In reply to comment #17)
> (In reply to comment #12)
> > As you are all using stable (correct me if I am wrong) the problem must be in
> > some package that has a lower version in stable than in ~arch. Does pkg-config
> > --cflags --libs libavcodec work correctly for you?
> >
>
> $ pkg-config --cflags --libs libavcodec
> Package theora was not found in the pkg-config search path.
> Perhaps you should add the directory containing `theora.pc'
> to the PKG_CONFIG_PATH environment variable
> Package 'theora', required by 'libavcodec', not found
>
By the way, yes I'm running a stable system. "revdep-rebuild" doesn't report
any errors concerning ffmpeg or similar.
it would be good to know about your media-libs/libtheora version, if you have
it installed and if updating does any good for pkg-config. Thanks.
(In reply to comment #19)
> it would be good to know about your media-libs/libtheora version, if you have
> it installed and if updating does any good for pkg-config. Thanks.
>
$ emerge -qp libtheora
[ebuild R ] media-libs/libtheora-1.0_alpha3
(In reply to comment #20)
> (In reply to comment #19)
> > it would be good to know about your media-libs/libtheora version, if you have
> > it installed and if updating does any good for pkg-config. Thanks.
> >
>
> $ emerge -qp libtheora
> [ebuild R ] media-libs/libtheora-1.0_alpha3
>
Like always, I replied too fast. :/ I have now recompiled libtheora and it
didn't make a difference. :(
...and if updating does any good for pkg-config. Thanks.
please do what I said and update it to media-libs/libtheora-1.0_alpha6-r1 and
after that try again pkg-config --cflags --libs libavcodec
If pkg-config will work I would bet that wengophone will compile, too.
Thanks for your patience
(In reply to comment #22)
> ...and if updating does any good for pkg-config. Thanks.
>
> please do what I said and update it to media-libs/libtheora-1.0_alpha6-r1 and
> after that try again pkg-config --cflags --libs libavcodec
>
> If pkg-config will work I would bet that wengophone will compile, too.
>
> Thanks for your patience
>
You were right. It did help to compile the latest unstable version. Now it
looks like this:
$ pkg-config --cflags --libs libavcodec
-I/usr/include/ffmpeg -lavcodec -lmp3lame -lxvidcore -ldts -lfaad -lfaac -lz
-ldl -lvorbisenc -ltheora -lavutil -lvorbis -lm -logg
I'll try to compile Wengophone again without my crazy hacks/patch. ;) Will let
you know how it goes in a while.
wengophone-2.0_rc2 compiles just fine now. Thanks for all the help. :)
I negotiated a bit with the stable people and video herd and marked it stable,
thanks for the bug!
*** Bug 146544 has been marked as a duplicate of this bug. ***