Summary: | media-plugins/vdr-graphtft-0.1.21_alpha: does not link as libswscale is missing | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Petric Frank <pfrank> |
Component: | Current packages | Assignee: | Gentoo VDR Project <vdr> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
Petric Frank
2008-11-10 00:05:20 UTC
Created attachment 171256 [details]
build.log
complete build.log
Apparently this needs an ffmpeg version that has swscale enabled. Try upgrading to a testing version of ffmpeg, and the maintainers might want to make the ffmpeg dependency more specific. I've umasked ffmpeg-0.4.9_p20070616-r20 which should have (according to ChangeLog) swscale support enabled. Now i get another error: ------------------------ cut ------------------------- g++ -O2 -march=pentium3 -pipe -fomit-frame-pointer -fPIC -g -ggdb -O0 -c -DCONFDIR=\"/etc/vdr\" -DUSE_CHANNELSCAN -DUSE_GRAPHTFT -DUSE_PLUGINMISSING -DUSE_YAEPG -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"graphtft"' -DHAVE_IMAGE_MAGICK -DHAVE_IMLIB -DWITH_SYSINFO -DWITH_TCP_COM -DHAVE_DFB -DHAVE_FFMPEG -DHAVE_SWSCALE -I/usr/include -I. -I./imlibrenderer -I./imlibrenderer/fbrenderer -I./imlibrenderer/dvbrenderer -I./dfbrenderer -I./imlibrenderer/dmyrenderer `pkg-config libgtop-2.0 --cflags` -I/src -I/usr/include/ImageMagick `directfb-config --cflags` -I/usr/include/ffmpeg -o dfbrenderer/cache.o dfbrenderer/cache.c /usr/include/ffmpeg/avcodec.h:2226: warning: attribute ignored in declaration of 'struct ImgReSampleContext' /usr/include/ffmpeg/avcodec.h:2226: warning: attribute for 'struct ImgReSampleContext' must follow the 'struct' keyword /usr/include/ffmpeg/avcodec.h:2237: warning: 'ImgReSampleContext' is deprecated (declared at /usr/include/ffmpeg/avcodec.h:2231) /usr/include/ffmpeg/avcodec.h:2247: warning: 'ImgReSampleContext' is deprecated (declared at /usr/include/ffmpeg/avcodec.h:2231) /usr/include/ffmpeg/avcodec.h:2253: warning: 'ImgReSampleContext' is deprecated (declared at /usr/include/ffmpeg/avcodec.h:2231) /usr/include/ffmpeg/avcodec.h:2258: warning: 'ImgReSampleContext' is deprecated (declared at /usr/include/ffmpeg/avcodec.h:2231) g++ -O2 -march=pentium3 -pipe -fomit-frame-pointer -fPIC -g -ggdb -O0 -Wl,-O1 -shared graphtft.o dspitems.o transfer.o display.o i18n.o setup.o osd.o theme.o common.o sysinfo.o imlibrenderer/imlibrenderer.o imlibrenderer/dvbrenderer/player.o imlibrenderer/dvbrenderer/dvbrenderer.o imlibrenderer/fbrenderer/fbrenderer.o imlibrenderer/dvbrenderer/mpeg2encoder.o tcpchannel.o comthread.o renderer.o imlibrenderer/dvbrenderer/quantize.o dfbrenderer/dfbrenderer.o dfbrenderer/cache.o `imlib2-config --libs` `Magick++-config --libs` `pkg-config libgtop-2.0 --libs` `directfb-config --libs` -L/usr/include/ffmpeg/libavcodec -lavcodec -lswscale -o libvdr-graphtft.so graphtft.cc:13:23: error: Magick++.h: No such file or directory graphtft.cc:22: error: 'Magick' is not a namespace-name graphtft.cc:22: error: expected namespace-name before ';' token graphtft.cc: In member function 'void GraphTft::updateImage(const uchar*, int)': graphtft.cc:305: error: 'Blob' was not declared in this scope graphtft.cc:305: error: expected `;' before 'blob' graphtft.cc:306: error: 'Image' was not declared in this scope graphtft.cc:306: error: expected `;' before 'im' graphtft.cc:308: error: 'im' was not declared in this scope graphtft.cc:308: error: 'blob' was not declared in this scope graphtft.cc:312: error: 'CharPixel' was not declared in this scope graphtft.cc: At global scope: graphtft.cc:277: warning: unused parameter 'buffer' make: *** [graphtft.o] Error 1 ------------------------ cut ------------------------- Current stable ffmpeg on my system is ffmpeg-0.4.9_p20070616-r3 Any other hints ? Oh i forgot - imagemagick (media-gfx/imagemagick-6.4.0.6) is installed. The missing file exists and can be located at /usr/include/ImageMagick/Magick++.h Coding probem ? Maybe Magick++.h was installed in /usr/include in the past and now moved to /usr/include/ImageMagick. If so, we could either patch the #include lines, or add -I/usr/include/ImageMagick to compiler params. (CPPFLAGS) (In reply to comment #5) > Maybe Magick++.h was installed in /usr/include in the past and now moved to > /usr/include/ImageMagick. > > If so, we could either patch the #include lines, or add > -I/usr/include/ImageMagick to compiler params. (CPPFLAGS) > How I fixed it for my. change scr_compile() to src_compile() { vdr-plugin_src_compile if use graphtft-fe; then cd "${S}"/graphtft-fe cp "${FILESDIR}/build.sh.mod" build.sh ./clean.sh ./build.sh || die "build.sh failed" fi } edit /usr/portage/media-plugins/vdr-graphtft/files/build.sh.mod like this. #/usr/bin/qmake -project #/usr/bin/qmake qmake -project qmake # patch the makefile mv Makefile Makefile.bak cat Makefile.bak | sed -e '/LIBS.* =/a\LIBS += `imlib2-config --libs` `/usr/bin/Magick++-config --libs`' > Makefile mv Makefile Makefile.bak cat Makefile.bak | sed -e '/INCPATH.* =/a\INCPATH += -I/usr/include/ImageMagick' > Makefile make -s media-plugins/vdr-graphtft-0.1.21_alpha removed from the tree, closed |