if libmp4v2 is installed by faad2 and then faac is installed.. the resulting library will depend upond libmp4v2.... but that's not in the ebuild... There should probably be some configure patching/seding to make that controlable through use flags... And while I'm at it.. faac refuses to build if mpeg4ip is installed, but mpeg4ip depends on faac...
Created attachment 47424 [details, diff] Patch to add dependency on faad2 if mp4 USE flag is set I made some small changes to the RDEPENDS and built it on an x86 machine. Faac now reports to have mp4 support.
this is not enough... you have to have the configure script too to disable faad2 if the mp4 flag is not set...
Created attachment 47444 [details, diff] Add dependency on faad2 if mp4 USE flag is set. This patch removes the libmp4 defines from the configure.in
Comment on attachment 47444 [details, diff] Add dependency on faad2 if mp4 USE flag is set. This patch removes the libmp4 defines from the configure.in >*** faac-1.24.ebuild.orig Thu Dec 16 04:37:50 2004 >--- faac-1.24.ebuild Mon Jan 3 03:54:22 2005 >*************** >*** 11,19 **** > LICENSE="LGPL-2" > SLOT="0" > KEYWORDS="amd64 arm ~hppa ~ia64 ~mips ~ppc ppc64 ~ppc-macos sparc x86" >! IUSE="" > >! RDEPEND=">=media-libs/libsndfile-1.0.0" > DEPEND="${RDEPEND} > >=sys-devel/libtool-1.3.5 > sys-devel/automake" >--- 11,21 ---- > LICENSE="LGPL-2" > SLOT="0" > KEYWORDS="amd64 arm ~hppa ~ia64 ~mips ~ppc ppc64 ~ppc-macos sparc x86" >! IUSE="mp4" > >! RDEPEND=">=media-libs/libsndfile-1.0.0 >! mp4? ( media-libs/faad2 ) >! " > DEPEND="${RDEPEND} > >=sys-devel/libtool-1.3.5 > sys-devel/automake" >*************** >*** 27,32 **** >--- 29,40 ---- > > export WANT_AUTOMAKE=1.7 > export WANT_AUTOCONF=2.5 >+ >+ # Remove the references to libmp4 if not wanted >+ if ! use mp4; then >+ sed -i -e "s/-lmp4v2//" -e " s/MY_DEFINE(\[HAVE_LIBMP4V2\])//" -e "s/with MP4/without MP4/" configure.in >+ fi >+ > sh ./bootstrap > elibtoolize > }
That seems good to me.. Except that the mp4 depend should be "|| (faad2 mpeg4ip)" I think... it would need to be tested
*** Bug 90503 has been marked as a duplicate of this bug. ***
*** Bug 111426 has been marked as a duplicate of this bug. ***
I feel it's worth duplicating my comment here. I ran into a compile error (bug 111426) when trying to compile faac: The reason I was trying to install faac was because it was being pulled in as a dependency of media-video/mpeg4ip-1.2 I gave up on that version and went to mpeg4ip-1.3 which doesn't depend on faac. I noticed that mpeg4ip-1.3 provides mp4.h so it looks like the dependencies might be the wrong way around here..? So, faac depending on mpeg4ip maybe isn't such a good idea (circular dependencies, anyone?)
Both faad2 and mpeg4ip provide libmp4v2 (and mp4.h). The version in mpeg4ip is newer.. but faad2 is a much more common package (and smaller). If you already have mpeg4ip and build faad2, faad2 will use the mp4v2 from mpeg4ip (but it wont work the other way around).. and it creates an unwritten dep. The right solution is to separate libmp4v2 into its own package that both would depend on.. but I have not been able to convince upstream mpeg4ip to do that. And upstream faad2 was pretty much dead the last time I checked.
Reporting here since it seems relevant in the discussion that has already started... I've just encountered the following issue trying to compile mpeg4ip-1.3: * libfaac is compiled against libmp4v2 * Please remove faad2 and mpeg4ip then recompile faac My workaround was to add a configure option to faac which allow to enable/disable linking against libmp4v2 (instead of having it auto-enabled when the lib is installed). It seems similar to Scott's proposal, although i think it's a bit cleaner since it is against configure.in, so i will attach it in case it's useful. Note that i'm not sure i've really understood the issue discussed here though, i've just tried to make things compile for me, nothing more...
Created attachment 72147 [details, diff] faac-configure-mp4-support.patch The configure.in patch for faac-1.24.
Created attachment 72148 [details, diff] faac-1.24-aac-USE-flag.patch Patch for faac-1.24.ebuild: enable/disable linking against libmp4v2 depending on the "aac" USE flag (although i'm not sure it's the right USE flag...)
the problem is with ffmpeg too... there should be a sort of "virtual/aac"
as suggested in http://bugs.gentoo.org/show_bug.cgi?id=58288 a good thing should be making faad2 depending on mpeg4ip, so all problems go away
someone hurry up and fix this it is becoming annoying. I'm going to have to lose mpeg4ip otherwise since more apps seem to use faad2 for aac instead.
Should be fixed with 2.0-r8.
*** Bug 140336 has been marked as a duplicate of this bug. ***
Ok, so since this bug is RESOLVED AND my bug (#140336) has been marked as a duplicate of this bug: What is the solution for us running stable x86? I can't emerge faac when faad2 is installed, if I delete faad2 and emerge mpeg4ip then faac compiles, but I'll still get: [blocks B ] media-video/mpeg4ip (is blocking media-libs/faad2-2.0-r3) [blocks B ] <media-libs/faad2-2.0-r9 (is blocking media-libs/libmp4v2-1.4.1) [blocks B ] <media-libs/faad2-2.0-r9 (is blocking media-video/mpeg4ip-1.4.1) [ebuild N ] media-libs/faad2-2.0-r3 USE="xmms" 0 kB [ebuild N ] media-video/ffmpeg-0.4.9_p20051216 USE="a52 aac encode imlib mmx network ogg sdl truetype v4l vorbis xvid zlib -debug -doc -dts -ieee1394 -oss -test -theora -threads" 0 kB Having read the discussion, I have no idea how to get my system to work.j