Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
* Fabian Greffrath , 2010-05-19, 10:12: I believe that bashisms are the only problems here. The bug didn't trigger earlier, because dash didn't support LINENO and configure scripts try to avoid such shells; as a result, the configure script was effectively run by bash. However, LINENO has been implemented in dash (>= 0.5.5.1-4), so the script is run by /bin/sh now. Indeed! The attached patch also fixes the FTBFS by simply fixing the bashism. Obviously the ampersand character ('&') in the line calling gcc has been interpreted by dash to run the compilation in the background and proceed with the script, which already checked the exit status and thus never realized that the compilation failed. Please note that there's other instance of that bashism in line 109: python -c "import mutagen" &>/dev/null -- Jakub Wilk signature.asc Description: Digital signature
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
tags 582037 + patch thank Am 18.05.2010 11:34, schrieb Jakub Wilk: I believe that bashisms are the only problems here. The bug didn't trigger earlier, because dash didn't support LINENO and configure scripts try to avoid such shells; as a result, the configure script was effectively run by bash. However, LINENO has been implemented in dash (>= 0.5.5.1-4), so the script is run by /bin/sh now. Indeed! The attached patch also fixes the FTBFS by simply fixing the bashism. Obviously the ampersand character ('&') in the line calling gcc has been interpreted by dash to run the compilation in the background and proceed with the script, which already checked the exit status and thus never realized that the compilation failed. Cheers, Fabian -- Dipl.-Phys. Fabian Greffrath Ruhr-Universität Bochum Lehrstuhl für Energieanlagen und Energieprozesstechnik (LEAT) Universitätsstr. 150, IB 3/134 D-44780 Bochum Telefon: +49 (0)234 / 32-26334 Fax: +49 (0)234 / 32-14227 E-Mail: greffr...@leat.ruhr-uni-bochum.de --- idjc-0.8.2.orig/configure.in +++ idjc-0.8.2/configure.in @@ -48,7 +48,7 @@ if test $makeffmpeg != "no" ; then AC_SUBST(HAVE_AVCODEC, 1) AC_MSG_CHECKING([for avcodec.h in legacy ffmpeg directory]) -gcc `pkg-config --cflags libavcodec` ffmpeg_avcodec.c -o /dev/null &> /dev/null +gcc `pkg-config --cflags libavcodec` ffmpeg_avcodec.c -o /dev/null > /dev/null 2>&1 if test $? -eq 0 ; then AC_MSG_RESULT([yes]) AC_DEFINE(FFMPEG_AVCODEC, 1, [if set use legacy include file location])
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
* Fabian Greffrath , 2010-05-18, 10:28: Seems to be a race condition in the check for the legacy avcodec include file location. Please try the patch attached (which also fixes a bashism BTW). I believe that bashisms are the only problems here. The bug didn't trigger earlier, because dash didn't support LINENO and configure scripts try to avoid such shells; as a result, the configure script was effectively run by bash. However, LINENO has been implemented in dash (>= 0.5.5.1-4), so the script is run by /bin/sh now. -- Jakub Wilk signature.asc Description: Digital signature
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
Am 18.05.2010 10:58, schrieb Stefano Rivera: I still get the faulty positive and build failure with the patch. checking for avcodec.h in legacy ffmpeg directory... yes checking for avcodec_decode_audio3 in -lavcodec... ffmpeg_avcodec.c:3:28: error: ffmpeg/avcodec.h: No such file or directory ffmpeg_avcodec.c: In function 'main': ffmpeg_avcodec.c:7: error: 'LIBAVCODEC_VERSION_INT' undeclared (first use in this function) ffmpeg_avcodec.c:7: error: (Each undeclared identifier is reported only once ffmpeg_avcodec.c:7: error: for each function it appears in.) no checking for LIBAVFORMAT... yes It seems the patch has still not made its way into your ./configure script. Unlike above, with the patch the compiler output should be comletely omitted... -- Dipl.-Phys. Fabian Greffrath Ruhr-Universität Bochum Lehrstuhl für Energieanlagen und Energieprozesstechnik (LEAT) Universitätsstr. 150, IB 3/134 D-44780 Bochum Telefon: +49 (0)234 / 32-26334 Fax: +49 (0)234 / 32-14227 E-Mail: greffr...@leat.ruhr-uni-bochum.de -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
Hi Reinhard (2010.05.18_11:01:08_+0200) > did you really regenerate the configure script? It gets generated from > configure.in, so you either have to apply it to both files, or make sure > configure gets regenerated. I trusted the build script to regenerate it for me, I didn't see that the autoreconf run was in a quilt patch. But you're right, that was the problem. The patch is good. SR -- Stefano Rivera http://tumbleweed.org.za/ H: +27 21 465 6908 C: +27 72 419 8559 UCT: x3127 signature.asc Description: Digital signature
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
Am 18.05.2010 10:59, schrieb Reinhard Tartler: Okay, I agree that your patch look OK to me, although I don't understand (yet) why it fixes the race. If it fixes it, let's integrate it. It checks some return value before the compiler even finished compiling (and failing on) the code. did you really regenerate the configure script? It gets generated from configure.in, so you either have to apply it to both files, or make sure configure gets regenerated. There is a patch in the Debian package that applies autoreconf, so I've manually run autoreconf again after I applied this patch. It works. -- Dipl.-Phys. Fabian Greffrath Ruhr-Universität Bochum Lehrstuhl für Energieanlagen und Energieprozesstechnik (LEAT) Universitätsstr. 150, IB 3/134 D-44780 Bochum Telefon: +49 (0)234 / 32-26334 Fax: +49 (0)234 / 32-14227 E-Mail: greffr...@leat.ruhr-uni-bochum.de -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
Hi Fabian (2010.05.18_10:54:44_+0200) > In the build log, the result of the check is already (faulty) positive I still get the faulty positive and build failure with the patch. checking for avcodec.h in legacy ffmpeg directory... yes checking for avcodec_decode_audio3 in -lavcodec... ffmpeg_avcodec.c:3:28: error: ffmpeg/avcodec.h: No such file or directory ffmpeg_avcodec.c: In function 'main': ffmpeg_avcodec.c:7: error: 'LIBAVCODEC_VERSION_INT' undeclared (first use in this function) ffmpeg_avcodec.c:7: error: (Each undeclared identifier is reported only once ffmpeg_avcodec.c:7: error: for each function it appears in.) no checking for LIBAVFORMAT... yes SR -- Stefano Rivera http://tumbleweed.org.za/ H: +27 21 465 6908 C: +27 72 419 8559 UCT: x3127 signature.asc Description: Digital signature
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
On Tue, May 18, 2010 at 10:58:54 (CEST), Stefano Rivera wrote: > Hi Fabian (2010.05.18_10:54:44_+0200) >> In the build log, the result of the check is already (faulty) positive > > I still get the faulty positive and build failure with the patch. > > checking for avcodec.h in legacy ffmpeg directory... yes > checking for avcodec_decode_audio3 in -lavcodec... ffmpeg_avcodec.c:3:28: > error: ffmpeg/avcodec.h: No such file or directory > ffmpeg_avcodec.c: In function 'main': > ffmpeg_avcodec.c:7: error: 'LIBAVCODEC_VERSION_INT' undeclared (first use in > this function) > ffmpeg_avcodec.c:7: error: (Each undeclared identifier is reported only once > ffmpeg_avcodec.c:7: error: for each function it appears in.) > no > checking for LIBAVFORMAT... yes did you really regenerate the configure script? It gets generated from configure.in, so you either have to apply it to both files, or make sure configure gets regenerated. -- Gruesse/greetings, Reinhard Tartler, KeyID 945348A4 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
On Tue, May 18, 2010 at 10:54:44 (CEST), Fabian Greffrath wrote: > Am 18.05.2010 10:35, schrieb Reinhard Tartler: >> I don't understand the race here. What is running in paralell to the >> configure script here? > > In the build log, the result of the check is already (faulty) positive > > checking for avcodec.h in legacy ffmpeg directory... yes > > *before* the code is actually compiled. The error message > > ffmpeg_avcodec.c:3:28: error: ffmpeg/avcodec.h: No such file or > directory > > is printed *after* the line, that reports the result of the check to be > positive. Oh, good catch! >> In squeeze and later, this check must always fail. To fix this bug, this >> check should be either forcefully disabled or fixed. > > I think my patch does fix this check. Now it checks for the actual > compilation result and not for a spurious "$?" return code of any other > command that may have been finished successfully before the code to be > checked has actually been compiled. Okay, I agree that your patch look OK to me, although I don't understand (yet) why it fixes the race. If it fixes it, let's integrate it. -- Gruesse/greetings, Reinhard Tartler, KeyID 945348A4 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
Am 18.05.2010 10:35, schrieb Reinhard Tartler: I don't understand the race here. What is running in paralell to the configure script here? In the build log, the result of the check is already (faulty) positive checking for avcodec.h in legacy ffmpeg directory... yes *before* the code is actually compiled. The error message ffmpeg_avcodec.c:3:28: error: ffmpeg/avcodec.h: No such file or directory is printed *after* the line, that reports the result of the check to be positive. In squeeze and later, this check must always fail. To fix this bug, this check should be either forcefully disabled or fixed. I think my patch does fix this check. Now it checks for the actual compilation result and not for a spurious "$?" return code of any other command that may have been finished successfully before the code to be checked has actually been compiled. -- Dipl.-Phys. Fabian Greffrath Ruhr-Universität Bochum Lehrstuhl für Energieanlagen und Energieprozesstechnik (LEAT) Universitätsstr. 150, IB 3/134 D-44780 Bochum Telefon: +49 (0)234 / 32-26334 Fax: +49 (0)234 / 32-14227 E-Mail: greffr...@leat.ruhr-uni-bochum.de -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
On Tue, May 18, 2010 at 10:28:49 (CEST), Fabian Greffrath wrote: > Seems to be a race condition in the check for the legacy avcodec include > file location. Please try the patch attached (which also fixes a bashism > BTW). --- idjc-0.8.2.orig/configure.in +++ idjc-0.8.2/configure.in @@ -48,8 +48,7 @@ if test $makeffmpeg != "no" ; then AC_SUBST(HAVE_AVCODEC, 1) AC_MSG_CHECKING([for avcodec.h in legacy ffmpeg directory]) -gcc `pkg-config --cflags libavcodec` ffmpeg_avcodec.c -o /dev/null &> /dev/null -if test $? -eq 0 ; then +if $(gcc `pkg-config --cflags libavcodec` ffmpeg_avcodec.c -o /dev/null > /dev/null 2> /dev/null) ; then AC_MSG_RESULT([yes]) AC_DEFINE(FFMPEG_AVCODEC, 1, [if set use legacy include file location]) else I don't understand the race here. What is running in paralell to the configure script here? In squeeze and later, this check must always fail. To fix this bug, this check should be either forcefully disabled or fixed. Can someone please show this issue upstream? -- Gruesse/greetings, Reinhard Tartler, KeyID 945348A4 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
Seems to be a race condition in the check for the legacy avcodec include file location. Please try the patch attached (which also fixes a bashism BTW). -- Dipl.-Phys. Fabian Greffrath Ruhr-Universität Bochum Lehrstuhl für Energieanlagen und Energieprozesstechnik (LEAT) Universitätsstr. 150, IB 3/134 D-44780 Bochum Telefon: +49 (0)234 / 32-26334 Fax: +49 (0)234 / 32-14227 E-Mail: greffr...@leat.ruhr-uni-bochum.de --- idjc-0.8.2.orig/configure.in +++ idjc-0.8.2/configure.in @@ -48,8 +48,7 @@ if test $makeffmpeg != "no" ; then AC_SUBST(HAVE_AVCODEC, 1) AC_MSG_CHECKING([for avcodec.h in legacy ffmpeg directory]) -gcc `pkg-config --cflags libavcodec` ffmpeg_avcodec.c -o /dev/null &> /dev/null -if test $? -eq 0 ; then +if $(gcc `pkg-config --cflags libavcodec` ffmpeg_avcodec.c -o /dev/null > /dev/null 2> /dev/null) ; then AC_MSG_RESULT([yes]) AC_DEFINE(FFMPEG_AVCODEC, 1, [if set use legacy include file location]) else
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
Hi Reinhard (2010.05.18_07:36:52_+0200) > > Severity: important > that would be severity serious. Reportbug dropped it when I wasan't looking. I raised it manually, afterwards. > can you please clarify what is different on your system? perhaps a > *full* buildlog would be helpful? Pretty standard pbuilder. Full build log attached. SR -- Stefano Rivera http://tumbleweed.org.za/ H: +27 21 465 6908 C: +27 72 419 8559 UCT: x3127 dpkg-checkbuilddeps: Unmet build dependencies: libjack-dev python-gtk2-dev python-mutagen libvorbis-dev libxine-dev libsamplerate0-dev libflac-dev libshout3-dev libsndfile1-dev libmad0-dev libavcodec-dev libavformat-dev W: Unmet build-dependency in source dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2 dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): dpkg-buildpackage: source package idjc dpkg-buildpackage: source version 0.8.2-2 dpkg-buildpackage: source changed by Alessio Treglia dpkg-checkbuilddeps: Unmet build dependencies: libjack-dev python-gtk2-dev python-mutagen libvorbis-dev libxine-dev libsamplerate0-dev libflac-dev libshout3-dev libsndfile1-dev libmad0-dev libavcodec-dev libavformat-dev dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting. dpkg-buildpackage: warning: (Use -d flag to override.) dpkg-buildpackage: warning: This is currently a non-fatal warning with -S, but dpkg-buildpackage: warning: will probably become fatal in the future. fakeroot debian/rules clean dh --with quilt,python-central clean dh_testdir debian/rules override_dh_auto_clean make[1]: Entering directory `/tmp/py24/idjc-0.8.2' rm -f AUTHORS.gz ChangeLog.gz NEWS.gz README.gz rm -f idjcctrl idjcskype idjc rm -f artwork/idjc.png rm -fr libshout dh_auto_clean make[1]: Leaving directory `/tmp/py24/idjc-0.8.2' dh_quilt_unpatch No patch removed dh_clean dpkg-source -b idjc-0.8.2 dpkg-source: info: using source format `1.0' dpkg-source: info: building idjc using existing idjc_0.8.2.orig.tar.gz dpkg-source: info: building idjc in idjc_0.8.2-2.diff.gz dpkg-source: info: building idjc in idjc_0.8.2-2.dsc dpkg-genchanges -S >../idjc_0.8.2-2_source.changes dpkg-genchanges: not including original source code in upload dpkg-buildpackage: source only, diff-only upload (original source NOT included) I: using fakeroot in build. I: Current time: Tue May 18 08:55:11 SAST 2010 I: pbuilder-time-stamp: 1274165711 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/sid-amd64-base.tgz] I: creating local configuration I: copying local configuration I: mounting /proc filesystem I: mounting /dev/pts filesystem I: policy-rc.d already exists I: Obtaining the cached apt archive contents I: Installing the build-deps I: user script /var/cache/pbuilder/build//22584/tmp/hooks/D90update starting Get:1 http://debian.mirror.ac.za sid Release.gpg [835B] Get:2 http://debian.mirror.ac.za sid Release [104kB] Get:3 http://debian.mirror.ac.za sid/main Packages/DiffIndex [2038B] Get:4 http://debian.mirror.ac.za sid/contrib Packages/DiffIndex [2023B] Get:5 http://debian.mirror.ac.za sid/non-free Packages/DiffIndex [2023B] Get:6 http://debian.mirror.ac.za sid/main 2010-05-17-0258.44.pdiff [5952B] Get:7 http://debian.mirror.ac.za sid/main 2010-05-17-0258.44.pdiff [5952B] Get:8 http://debian.mirror.ac.za sid/main 2010-05-17-0258.44.pdiff [5952B] Get:9 http://debian.mirror.ac.za sid/contrib 2010-05-17-1510.04.pdiff [254B] Get:10 http://debian.mirror.ac.za sid/contrib 2010-05-17-1510.04.pdiff [254B] Get:11 http://debian.mirror.ac.za sid/contrib 2010-05-17-1510.04.pdiff [254B] Get:12 http://debian.mirror.ac.za sid/main 2010-05-17-0909.22.pdiff [9906B] Get:13 http://debian.mirror.ac.za sid/main 2010-05-17-0909.22.pdiff [9906B] Get:14 http://debian.mirror.ac.za sid/main 2010-05-17-0909.22.pdiff [9906B] Get:15 http://debian.mirror.ac.za sid/main 2010-05-17-1510.04.pdiff [10.3kB] Get:16 http://debian.mirror.ac.za sid/main 2010-05-17-1510.04.pdiff [10.3kB] Get:17 http://debian.mirror.ac.za sid/main 2010-05-17-1510.04.pdiff [10.3kB] Get:18 http://debian.mirror.ac.za sid/main 2010-05-17-2111.10.pdiff [23.6kB] Get:19 http://debian.mirror.ac.za sid/main 2010-05-17-2111.10.pdiff [23.6kB] Get:20 http://debian.mirror.ac.za sid/main 2010-05-17-2111.10.pdiff [23.6kB] Fetched 161kB in 4s (32.6kB/s) Reading package lists... I: user script /var/cache/pbuilder/build//22584/tmp/hooks/D90update finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder T
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
On Mon, May 17, 2010 at 22:31:56 (CEST), Stefano Rivera wrote: > Package: idjc > Version: 0.8.2-2 > Severity: important > Justification: fails to build from source that would be severity serious. > idjc appears to look for libavcodec headers in the wrong place. > > Interesting parts in the failed build log: > > checking for avcodec.h in legacy ffmpeg directory... yes > checking for avcodec_decode_audio3 in -lavcodec... ffmpeg_avcodec.c:3:28: > error: ffmpeg/avcodec.h: No such file or directory > ffmpeg_avcodec.c: In function 'main': > ffmpeg_avcodec.c:7: error: 'LIBAVCODEC_VERSION_INT' undeclared (first use in > this function) > ffmpeg_avcodec.c:7: error: (Each undeclared identifier is reported only once > ffmpeg_avcodec.c:7: error: for each function it appears in.) > no This does not happen with official builds, cf. here: https://buildd.debian.org/fetch.cgi?pkg=idjc;ver=0.8.2-2;arch=i386;stamp=1273056500 can you please clarify what is different on your system? perhaps a *full* buildlog would be helpful? -- Gruesse/greetings, Reinhard Tartler, KeyID 945348A4 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#582037: idjc: FTBFS error: ffmpeg/avcodec.h: No such file or directory
Package: idjc Version: 0.8.2-2 Severity: important Justification: fails to build from source idjc appears to look for libavcodec headers in the wrong place. Interesting parts in the failed build log: checking for avcodec.h in legacy ffmpeg directory... yes checking for avcodec_decode_audio3 in -lavcodec... ffmpeg_avcodec.c:3:28: error: ffmpeg/avcodec.h: No such file or directory ffmpeg_avcodec.c: In function 'main': ffmpeg_avcodec.c:7: error: 'LIBAVCODEC_VERSION_INT' undeclared (first use in this function) ffmpeg_avcodec.c:7: error: (Each undeclared identifier is reported only once ffmpeg_avcodec.c:7: error: for each function it appears in.) no gcc -DHAVE_CONFIG_H -I. -I..-Wall -std=gnu99 -O2-I/usr/include/FLAC -g -O2 -c -o idjcmixer-idjcmixer.o `test -f 'idjcmixer.c' || echo './'`idjcmixer.c In file included from idjcmixer.c:45: avcodecdecode.h:26:28: error: ffmpeg/avcodec.h: No such file or directory avcodecdecode.h:27:29: error: ffmpeg/avformat.h: No such file or directory In file included from idjcmixer.c:45: avcodecdecode.h:37: error: expected specifier-qualifier-list before 'AVCodec' $ dpkg -L libavcodec-dev | grep avcodec.h /usr/include/libavcodec/avcodec.h $ dpkg -L libavformat-dev | grep avformat.h /usr/include/libavformat/avformat.h -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org