libavg version 1.5.4-0ubuntu2 failed to build in oneiric

Bug #831190 reported by Matthias Klose
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libavg (Ubuntu)
Fix Released
High
Colin Watson
Oneiric
Fix Released
High
Colin Watson

Bug Description

libavg version 1.5.4-0ubuntu2 failed to build in oneiric
Link to failed build: https://launchpad.net/ubuntu/+archive/test-rebuild-20110816/+build/2699394

Details about the rebuild:
http://people.ubuntuwire.org/~wgrant/rebuild-ftbfs-test/test-rebuild-20110816-oneiric.html

Direct link to the build log: https://launchpad.net/ubuntu/+archive/test-rebuild-20110816/+build/2699394/+files/buildlog_ubuntu-oneiric-amd64.libavg_1.5.4-0ubuntu2_FAILEDTOBUILD.txt.gz

This log snippet might be of interest, since it triggered the matcher 'Purging chroot-autobuild'.
Excerpt 2166 lines into the build log:

../../../src/video/FFMpegDecoder.cpp:988:34: error: 'avcodec_decode_video' was not declared in this scope
../../../src/video/FFMpegDecoder.cpp:999:65: error: 'avcodec_decode_video' was not declared in this scope
../../../src/video/FFMpegDecoder.cpp: In member function 'std::string avg::FFMpegDecoder::getStreamPF() const':
../../../src/video/FFMpegDecoder.cpp:1070:12: warning: 'const char* avcodec_get_pix_fmt_name(PixelFormat)' is deprecated (declared at /usr/include/libavcodec/avcodec.h:3338) [-Wdeprecated-declarations]
../../../src/video/FFMpegDecoder.cpp:1070:39: warning: 'const char* avcodec_get_pix_fmt_name(PixelFormat)' is deprecated (declared at /usr/include/libavcodec/avcodec.h:3338) [-Wdeprecated-declarations]
make[4]: *** [FFMpegDecoder.lo] Error 1
make[4]: Leaving directory `/build/buildd/libavg-1.5.4/build2.6/src/video'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/build/buildd/libavg-1.5.4/build2.6/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/build/buildd/libavg-1.5.4/build2.6/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/build/buildd/libavg-1.5.4/build2.6'
make: *** [debian/stamp-build2.6] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
******************************************************************************
Build finished at 20110821-1612
FAILED [dpkg-buildpackage died]
Purging chroot-autobuild/build/buildd/libavg-1.5.4

Tags: ftbfs oneiric
Matthias Klose (doko)
Changed in libavg (Ubuntu):
status: New → Confirmed
importance: Undecided → High
Colin Watson (cjwatson)
Changed in libavg (Ubuntu Oneiric):
assignee: nobody → Colin Watson (cjwatson)
Revision history for this message
OXullo Intersecans (oxullo) wrote :

Dear Colin, can we keep in touch? It's possible that we may manage to fix this bug upstream during the weekend, although we still have no assessment upon it (no time until now).

Revision history for this message
Colin Watson (cjwatson) wrote :

The changes seem relatively straightforward (at least if you've spent much of the last couple of weeks bulk-porting everything that still relied on the old API ...). Would you like to review the attached patch?

Revision history for this message
OXullo Intersecans (oxullo) wrote :

Dear Colin,
it looks great, thanks.
We'll integrate it upstream and prepare an up to date package for 12.04.

Revision history for this message
Colin Watson (cjwatson) wrote : Re: [Bug 831190] Re: libavg version 1.5.4-0ubuntu2 failed to build in oneiric

Excellent, thanks for checking it. Am I OK to go ahead and upload this
as an Ubuntu patch for Oneiric?

Revision history for this message
OXullo Intersecans (oxullo) wrote :

Colin, I've just tested it on a up to date oneiric and I got this:

Making all in video
make[3]: Entering directory `/home/xi/devel/oneiric/libavg-1.5.4/src/video'
/bin/bash ../../libtool --tag=CXX --mode=link g++ -Wno-invalid-offsetof -msse2 -g -O2 -rdynamic -o testvideo testvideo.o ./libvideo.la ../audio/libaudio.la ../graphics/libgraphics.la ../base/libbase.la -lxml2 -lboost_thread -lavutil -lavcodec -lavformat -lswscale -lGraphicsMagick++ -lGraphicsMagick -lrt
libtool: link: g++ -Wno-invalid-offsetof -msse2 -g -O2 -rdynamic -o testvideo testvideo.o ./.libs/libvideo.a ../audio/.libs/libaudio.a ../graphics/.libs/libgraphics.a ../base/.libs/libbase.a /usr/lib/libxml2.so -lboost_thread -lavutil -lavcodec -lavformat -lswscale -lGraphicsMagick++ -lGraphicsMagick -lrt
./.libs/libvideo.a(FFMpegDecoder.o): In function `avg::FFMpegDecoder::getStreamPF() const':
/home/xi/devel/oneiric/libavg-1.5.4/src/video/FFMpegDecoder.cpp:1144: undefined reference to `av_get_pix_fmt_name(PixelFormat)'

but:

xi@oneiric-a3-phy:~/devel/oneiric/libavg-1.5.4$ nm -D /usr/lib/libavformat.so | grep av_get_pix_fmt_name
                 U av_get_pix_fmt_name

$ dpkg -S /usr/lib/libavformat.so
libavformat-dev: /usr/lib/libavformat.so

$ dpkg -l libavformat-dev
ii libavformat-dev 4:0.7.1-3ubuntu1 Development files for libavformat

$ uname -a
Linux oneiric-a3-phy 3.0.0-9-generic #14-Ubuntu SMP Tue Aug 23 17:03:26 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

I don't get it..

Revision history for this message
Colin Watson (cjwatson) wrote :

Sorry about that - I'm not sure how that got past my testing. There were two problems. Firstly, the link line was in the wrong order; libraries should come after the objects/libraries that use symbols from them, so the PKG_CHECK_MODULES ordering in configure.in was wrong. This didn't actually fix the problem but I've included it in my updated patch anyway for completeness. Secondly, <libavutil/pixdesc.h> was being included as a C++ header rather than as a C header; the clue here was that the undefined reference was to av_get_pix_fmt_name(PixelFormat) rather than just to av_get_pix_fmt_name.

Please try the attached patch.

Revision history for this message
OXullo Intersecans (oxullo) wrote :

Clear! And thanks to you the fixes are also committed upstream.
The package compiles and all the tests are green. Please go ahead!

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libavg - 1.5.4-0ubuntu3

---------------
libavg (1.5.4-0ubuntu3) oneiric; urgency=low

  * Port to libav 0.7 API (LP: #831190).
 -- Colin Watson <email address hidden> Mon, 29 Aug 2011 23:32:13 +0100

Changed in libavg (Ubuntu Oneiric):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.