Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 483040 - media-libs/vo-aacenc[examples] + media-libs/fdk-aac[examples] - file collision on /usr/bin/aac-enc
Summary: media-libs/vo-aacenc[examples] + media-libs/fdk-aac[examples] - file collisio...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
: 521294 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-08-30 17:29 UTC by Ben Kohler
Modified: 2016-08-12 21:48 UTC (History)
5 users (show)

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


Attachments
fdk-aac-0.1.2.ebuild.patch (fdk-aac-0.1.2.ebuild.patch,446 bytes, patch)
2013-12-09 15:10 UTC, Andrew Savchenko
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Kohler gentoo-dev 2013-08-30 17:29:56 UTC
* checking 15 files for package collisions
...<collision explanation omitted>...
 * 
 * Detected file collision(s):
 * 
 * 	/usr/bin/aac-enc
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * media-libs/vo-aacenc-0.1.3:0::gentoo
 * 	/usr/bin/aac-enc
 * 
 * Package 'media-libs/fdk-aac-0.1.2' NOT merged due to file collisions.
 * If necessary, refer to your elog messages for the whole content of the
 * above message

I think there should be a mutual blocker here, ie DEPEND="examples? ( !media-libs/vo-aacenc[examples] )" on fdk-aac and vice versa. 

By the way, I think it's a bit strange that an encoder binary lives behind an 'examples' flag, but that's another issue for another day, probably.

Thanks!
Comment 1 Andrew Savchenko gentoo-dev 2013-12-09 15:10:32 UTC
Created attachment 365012 [details, diff]
fdk-aac-0.1.2.ebuild.patch

No need to block packages. Offending file is just an example binary and can be renamed safely. See attached patch for fdk-aac-0.1.2. Works fine here.
Comment 2 ephemer0l 2014-05-12 21:08:53 UTC
Confirming patch works on fdk-aac-0.1.3 as well.
Comment 3 Berthold Humkamp 2014-08-14 11:59:04 UTC
I'm installing fdk-aac-0.1.3 and vo-aacenc-0.1.3 both with USE="examples" and get one more collision:


>>>

 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at http://bugs.gentoo.org unless you report exactly which
 * two packages install the same file(s). See
 * http://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how to
 * solve the problem. And once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 * 
 * Detected file collision(s):
 * 
 * 	/usr/bin/aac-enc
 * 	/usr/lib/debug/usr/bin/aac-enc.debug
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * media-libs/vo-aacenc-0.1.3:0::gentoo
 * 	/usr/bin/aac-enc
 * 	/usr/lib/debug/usr/bin/aac-enc.debug
 * 
 * Package 'media-libs/fdk-aac-0.1.3' NOT merged due to file collisions.
 * If necessary, refer to your elog messages for the whole content of the
 * above message.

<<<

What about this second file?
Comment 4 Ben Kohler gentoo-dev 2014-08-27 16:06:11 UTC
*** Bug 521294 has been marked as a duplicate of this bug. ***
Comment 5 Kobboi 2015-04-20 07:14:17 UTC
Also hitting this when installing from binary:

>>> Emerging binary (2 of 65) media-libs/fdk-aac-0.1.4::gentoo
 * fdk-aac-0.1.4.tbz2 MD5 SHA1 size ;-) ...                              [ ok ]
>>> Extracting info
>>> Extracting media-libs/fdk-aac-0.1.4

>>> Installing (2 of 65) media-libs/fdk-aac-0.1.4::gentoo
 * checking 11 files for package collisions
 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at http://bugs.gentoo.org unless you report exactly which
 * two packages install the same file(s). See
 * http://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how to
 * solve the problem. And once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 * 
 * Detected file collision(s):
 * 
 * 	/usr/bin/aac-enc
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * media-libs/vo-aacenc-0.1.3:0::gentoo
 * 	/usr/bin/aac-enc
 * 
 * Package 'media-libs/fdk-aac-0.1.4' NOT merged due to file collisions.
 * If necessary, refer to your elog messages for the whole content of the
 * above message.

>>> Failed to install media-libs/fdk-aac-0.1.4, Log file:

>>>  '/var/tmp/portage/media-libs/fdk-aac-0.1.4/temp/build.log'

 * Messages for package media-libs/fdk-aac-0.1.4:

 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at http://bugs.gentoo.org unless you report exactly which
 * two packages install the same file(s). See
 * http://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how to
 * solve the problem. And once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 * 
 * Detected file collision(s):
 * 
 * 	/usr/bin/aac-enc
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * media-libs/vo-aacenc-0.1.3:0::gentoo
 * 	/usr/bin/aac-enc
 * 
 * Package 'media-libs/fdk-aac-0.1.4' NOT merged due to file collisions.
 * If necessary, refer to your elog messages for the whole content of the
 * above message.
Comment 6 Andrew Savchenko gentoo-dev 2016-07-30 11:31:36 UTC
@sound team, are you OK with proposed patch? I'm going to apply it for versions 0.1.{2..4} it two weeks if there are no objections.
Comment 7 Berthold Humkamp 2016-08-01 08:42:06 UTC
(In reply to Andrew Savchenko from comment #6)
> @sound team, are you OK with proposed patch? I'm going to apply it for
> versions 0.1.{2..4} it two weeks if there are no objections.

In the moment, I'm not sure what happens: I've got installed vo-aacenc.0.1.3 and now updated to fdk-aac.0.1.4 (without your patch) and awaited an error, but it installed without any problems.

When I checked the installed files, both packages installed those two files, but don't mentioned the file collisions:

/usr/bin/aac-enc
/usr/lib/debug/usr/bin/aac-enc.debug

Do you know of any changes, that those file collisions don't reach the screen?

My FEATURES variable includes "collision-protect" and "protect-owned"

I can't test it, because of this misbehaviour of my system, but I would say, your patch should also rename the second file.
Comment 8 Andrew Savchenko gentoo-dev 2016-08-01 11:01:20 UTC
(In reply to Berthold Humkamp from comment #7)
> (In reply to Andrew Savchenko from comment #6)
> > @sound team, are you OK with proposed patch? I'm going to apply it for
> > versions 0.1.{2..4} it two weeks if there are no objections.
> 
> In the moment, I'm not sure what happens: I've got installed vo-aacenc.0.1.3
> and now updated to fdk-aac.0.1.4 (without your patch) and awaited an error,
> but it installed without any problems.
> 
> When I checked the installed files, both packages installed those two files,
> but don't mentioned the file collisions:
> 
> /usr/bin/aac-enc
> /usr/lib/debug/usr/bin/aac-enc.debug
> 
> Do you know of any changes, that those file collisions don't reach the
> screen?

There are dozens of reasons for this: COLLISION_IGNORE may be set to ignore these files; collision-protect may be disabled per package or category; colliding files may have been manually removed before last install in order to keep going, ...
 
> My FEATURES variable includes "collision-protect" and "protect-owned"
> 
> I can't test it, because of this misbehaviour of my system, but I would say,
> your patch should also rename the second file.

My patch already does this.

Looks like you don't understand how debug files are created. This is done only if FEATURES="splitdebug" is enabled and nostrip is dibasbled, and it is done by portage _after_ src_install(), not by package build system. That's why rename or original binary automatically renames its *.debug files.

These files are just debug symbols stripped by portage from all ELF shared objects and binaries, but saved in another place to facilitate debugging (very useful in case of segfaults); sometimes debug symbols are also needed for run-time profiling, e.g. valgrind will likely fail if glibc was not build with splitdebug enabled.
Comment 9 Berthold Humkamp 2016-08-01 14:53:15 UTC
(In reply to Andrew Savchenko from comment #8 and #6)

Thanks for your reply!

> > Do you know of any changes, that those file collisions don't reach the
> > screen?
> 
> There are dozens of reasons for this: COLLISION_IGNORE may be set to ignore
> these files; collision-protect may be disabled per package or category;
> colliding files may have been manually removed before last install in order
> to keep going, ...

I'll check your hints ...>  

> > My FEATURES variable includes "collision-protect" and "protect-owned"
> > 
> > I can't test it, because of this misbehaviour of my system, but I would say,
> > your patch should also rename the second file.
> 
> My patch already does this.
> 
> Looks like you don't understand how debug files are created. This is done
> only if FEATURES="splitdebug" is enabled and nostrip is dibasbled, and it is
> done by portage _after_ src_install(), not by package build system. That's
> why rename or original binary automatically renames its *.debug files.
> 
> These files are just debug symbols stripped by portage from all ELF shared
> objects and binaries, but saved in another place to facilitate debugging
> (very useful in case of segfaults); sometimes debug symbols are also needed
> for run-time profiling, e.g. valgrind will likely fail if glibc was not
> build with splitdebug enabled.

You are right, I didn't know ;-) - Thanks for teaching ...
Comment 10 Andrew Savchenko gentoo-dev 2016-08-12 21:48:45 UTC
(In reply to Andrew Savchenko from comment #6)
> @sound team, are you OK with proposed patch? I'm going to apply it for
> versions 0.1.{2..4} it two weeks if there are no objections.

No objection for ~2 weeks => applied.