Summary: | media-libs/libmng failed to emerge due to automake:1.12 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Leonid Kopylov <leonchik1976> |
Component: | Current packages | Assignee: | Gentoo Graphics Project <graphics+disabled> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | alexanderkyte, madcabbit, marek.bartosiewicz, rose |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
URL: | https://sourceforge.net/tracker/?func=detail&aid=3535056&group_id=5635&atid=105635 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Patched ebuild
Patch Corrected patch |
Description
Leonid Kopylov
2012-06-08 09:45:57 UTC
That *obsolete* macro seems unused and should just be removed. Encountered this too, trying to emerge cups on a new system (from stage3). *** Bug 420283 has been marked as a duplicate of this bug. *** @comment 2: again, file a separate bug with your build log I'm currently stuck in a chroot'ed stage3 because of this bug. Is there a monkeypatch or a quick fix? Where could I get a copy of the ebuild previous to this bug? commenting out AM_C_PROTOTYPES in configure.in allows libmng to compile. I've commented it out in /var/tmp/portage/media-libs/libmng-1.0.10-r1/work but that gets overwritten by emerge when it untars the archive. I've commented out the version in the tarball in /var/tmp/portage/media-libs/libmng-1.0.10-r1/distdir but emerge just downloads the new one. How do I make an edit that persists? @ comment 8 That tells me how to change the ebuild, not how to make portage use it as if it was unaltered. I want this to go through the package manager, otherwise portage will just try to reinstall it every time I try to merge qt4. Once you modify the ebuild, you need to update the manifest. This can be done by running "ebuild ebuildname manifest" (using the correct filename) in the ebuild directory. All changes will be wiped out with the next "emerge --sync" though. I modified the src_prepare section as follows, rebuild the manifest, and got the ebuild to work. src_prepare() { sed -e "s/^AM_C_PROTOTYPES$/#AM_C_PROTOTYPES/" makefiles/configure.in > makefiles/configure.in.new mv makefiles/configure.in.new makefiles/configure.in ln -s makefiles/configure.in . ln -s makefiles/Makefile.am . eautoreconf } sed -e "s/^AM_C_PROTOTYPES$/#AM_C_PROTOTYPES/" makefiles/configure.in > makefiles/configure.in.new This part shouldn't wrap; its all one line. *** Bug 420589 has been marked as a duplicate of this bug. *** @comment 11: 'man sed' 'sed -i' perhaps ? (In reply to comment #14) > @comment 11: 'man sed' > 'sed -i' perhaps ? Did you make sure the line didn't wrap as per my last comment? Created attachment 314981 [details]
Patched ebuild
Comment on attachment 314981 [details]
Patched ebuild
post diffs, not entire files. it's hard to review entire files.
Created attachment 315031 [details, diff]
Patch
Comment on attachment 315031 [details, diff] Patch >*** configure.in 2012-06-12 00:04:00.660764200 +0000 >--- configure.in.patch 2012-06-12 00:04:58.205761797 +0000 >*************** >*** 15,21 **** > dnl Checks for programs. > AC_PROG_CC > AC_ISC_POSIX >- AM_C_PROTOTYPES > if test "x$U" != "x"; then > AC_MSG_ERROR(Compiler not ANSI compliant) > fi >--- 15,20 ---- My first patch (In reply to comment #20) > My first patch Use 'diff -u'. Other than than, it does what I said in comment 1. automake 1.12 seems to be a bit of a pain (going up to gcc slot upgrade level), but on the other hand most of it is janitorial in its nature (after all, AM_C_PROTOTYPES is about a syntax construct that's implemented in any sane C compiler these days). Created attachment 315067 [details, diff]
Corrected patch
Comment on attachment 315067 [details, diff]
Corrected patch
LGTM. thanks!
should be all set now in the tree; thanks for the report! Commit message: Add fix by Vadim for building with newer automake http://sources.gentoo.org/media-libs/libmng/libmng-1.0.10-r1.ebuild?r1=1.9&r2=1.10 |