Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 40298 - FAAD2 causes gtkpod not to build
Summary: FAAD2 causes gtkpod not to build
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Olivier Crete (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-03 10:50 UTC by Darrin Tisdale
Modified: 2004-02-27 05:50 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Darrin Tisdale 2004-02-03 10:50:04 UTC
If you have emerged faad2, the ebuild for gtkpod will through hundreds of syntax errors when it encounters the mp4file handling code.  With faad2 installed, the ebuild automatically adds in mp4 file support.

Reproducible: Always
Steps to Reproduce:
1. emerge faad2
2. emerge gtkpod
3.

Actual Results:  
During the config output, make indicates that:
mp4v2 ..............: yes -- will build with aac support

You then see later:
In file included from mp4file.c:110:
/usr/include/mp4.h:43:error syntax error before "MP4TrackId"
(many, many, many other syntax errors follow)

Expected Results:  
Either
1 -- it should build correctly with faad2 installed, or
2 -- give the user the option in the ebuild to not include mp4 support with a
USE="-mp4" option

I think that's the easiest way to handle this one.  Thus, users can still get
gtkpod built without having to depend on some subtle differences between the two
implementations of mp4 support, it appears.
Comment 1 Olivier Crete (RETIRED) gentoo-dev 2004-02-05 08:20:27 UTC
mpeg4ip and faad2 seem to provide some of the same files, but are not replacement one with the other.. I'll try to see if there is a way to fix this.. 

Faad2 is depended on by 4 packages and mpeg4ip only by gtkpod, but mpeg4ip is more than just a library, it has a player and a streaming server too. So its probably easier to change mpeg4ip... but its a bit more complicated since the mpeg4ip.h provided by faad2 comes from mpeg4ip.. but has been modified (I think..) 

Those are included in both.. 

/usr/include/mp4.h
/usr/include/mpeg4ip.h
/usr/lib/libmp4v2.a
/usr/lib/libmp4v2.la
/usr/lib/libmp4v2.so
/usr/lib/libmp4v2.so.0
/usr/lib/libmp4v2.so.0.0.0

It seems that the .so  files are compatible (at least compatible enough for gtkpod to work).. So it might just be a .h problem.. I'll try to get more information... 
Comment 2 foser (RETIRED) gentoo-dev 2004-02-05 08:49:19 UTC
solutions : blocking or virtuals. Afaik the mp4v2 versions can be interchanged, but the mpeg4ip pack is way too big to add as dep.
Comment 3 Olivier Crete (RETIRED) gentoo-dev 2004-02-05 09:00:07 UTC
I agree that mpeg4ip is way too big to have as a dep of faad2.. but maybe we can do it the other way around.... Blocking/virtuals is not a solution because 80% of the stuff is not provided by both (I need both on my system..) And I believe that the mp4.h in faad2 is actually broken... but I haven't verified (so dont take my word for it)... 
Comment 4 Olivier Crete (RETIRED) gentoo-dev 2004-02-05 11:32:41 UTC
Seems like the files in faad2 are old files from mpeg4ip.. maybe we should make those files a common dep and break them into another package... which would use the mpeg4ip source... 
Comment 5 Zurd 2004-02-27 01:49:54 UTC
Indeed faad2 is the problem, simple workaround :

emerge -C faad2
ACCEPT_KEYWORDS="~x86" emerge gtkpod
emerge faad2

*Note that mplayer won't run after uninstalling faad2.
**New version of gtkpod-0.72-2 available but has the same problem with faad2

But just why is this not logged in the Bugs section on sourceforge.net where gtkpod is hosted? Isn't this a problem in the code of gtkpod and not of portage? 

Comment 6 Darrin Tisdale 2004-02-27 03:55:24 UTC
Yes, but that's not the issue.  The average punter is not going to go to the sourceforge page to check it first.  They're just going to emerge the ebuild, and then presto, they hit the bug.

It just makes sense to put the flag into the ebuild, so that at least someone (like me) does not have to go hunting around for the workaround.  As well, perhaps I don't want mp4 support.  Maybe I don't like mp4.  With the flag there, I have more power.

So, it's not a bug in portage per se, more that IMHO the approach should be improved for the average Gentoo-er who's not out reading the sourceforge site _before_ they emerge.  Nothing's worse then emerge -u world that fails halfway through.

Oh, and as for sourceforge getting the bug, will do.
Comment 7 Olivier Crete (RETIRED) gentoo-dev 2004-02-27 05:50:00 UTC
ok, I've patched gtkpod to compile against faad2 too.. And mpeg4ip now blocks faad2... so it should all be good.