Summary: | file collisions between www-client/firefox / www-client/seamonkey / mail-client/thunderbird | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Torsten Kaiser <Storklerk> |
Component: | Current packages | Assignee: | Mozilla Gentoo Team <mozilla> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | christoph, esigra, gentoo-bugs, jarausch, jnerin, kentnl, mkyral, polynomial-c, scott, svenne, tdalman |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=526144 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
compressed build.log from firefox-20
Ebuild I used for testing, fails with USE=crypt, but USE=-crypt worked for me |
Description
Torsten Kaiser
2013-04-11 05:52:19 UTC
It seems the changes from bug 464794 did not cause these files to pop up. I found them also on an different system that build firefox and seamonkey on Apr/6. But these changes seem to have caused, that both builds of seamonkey and firefox now produce indentical libdbusservice.so, libmozalloc.so, mozilla-xremote-client, plugin-container, libxpcom.so and libmozgnome.so. Probably because they no longer contain some random seamonkey or firefox pathnames. thoregon ~ # md5sum /usr/lib64/seamonkey/libxpcom.so /var/tmp/portage/www-client/firefox-20.0/image/usr/lib64/firefox/libxpcom.so e77cd44fd4c4d9b21ad521e413f5b31a /usr/lib64/seamonkey/libxpcom.so e77cd44fd4c4d9b21ad521e413f5b31a /var/tmp/portage/www-client/firefox-20.0/image/usr/lib64/firefox/libxpcom.so So the hashing of both files now results in the same build-id and as both packages want to install this hash-symlink in the same place under /usr/lib/debug/.build-id these collisions turn up. So I suspect the correct fix for this issue is just removing these files before packaging, because Gentoo has its own system for where to place debug-infos. With firefox-20.0.1 the collisions are reduced to: * Detected file collision(s): * * /usr/lib/debug/.build-id/65/d23717af48d9eda9a8f15e2a1391537d84b5fb * /usr/lib/debug/.build-id/65/d23717af48d9eda9a8f15e2a1391537d84b5fb.debug * /usr/lib/debug/.build-id/f1/34b690d68d53d71d6900451b58400ad627c8f3 * /usr/lib/debug/.build-id/f1/34b690d68d53d71d6900451b58400ad627c8f3.debug * /usr/lib/debug/.build-id/83/ee90ee71594a2f37418f9206746e00ca577c80 * /usr/lib/debug/.build-id/83/ee90ee71594a2f37418f9206746e00ca577c80.debug * /usr/lib/debug/.build-id/21/bc2bd00f213e91302128d59806a29fa79a8746 * /usr/lib/debug/.build-id/21/bc2bd00f213e91302128d59806a29fa79a8746.debug It seems that libdbusservice.so, libmozalloc.so, mozilla-xremote-client and libmozgnome.so are unchanged betwen 20.0 and 20.0.1, but libxpcom.so and plugin-container differ and so no longer collide with the seamonkey that is still based on the firefox-20.0 sources. My current work around: COLLISION_IGNORE="*.py[co] /usr/lib/debug/.build-id/*" Still happening between firefox-21.0 and seamonkey-2.18_beta4: firefox-21.0/CONTENTS:sym /usr/lib/debug/.build-id/47/34e6061151c9366de91f8df697e514f3bfa452.debug -> ../../usr/lib64/firefox/mozilla-xremote-client.debug 1369678735 firefox-21.0/CONTENTS:sym /usr/lib/debug/.build-id/47/34e6061151c9366de91f8df697e514f3bfa452 -> /usr/lib64/firefox/mozilla-xremote-client 1369678735 seamonkey-2.18_beta4/CONTENTS:sym /usr/lib/debug/.build-id/47/34e6061151c9366de91f8df697e514f3bfa452.debug -> ../../usr/lib64/seamonkey/mozilla-xremote-client.debug 1370080335 seamonkey-2.18_beta4/CONTENTS:sym /usr/lib/debug/.build-id/47/34e6061151c9366de91f8df697e514f3bfa452 -> /usr/lib64/seamonkey/mozilla-xremote-client 1370080336 firefox-21.0/CONTENTS:sym /usr/lib/debug/.build-id/5d/78feb45ffbfc5dcb0b0d95bfe5787159ca2bf4.debug -> ../../usr/lib64/firefox/plugin-container.debug 1369678735 firefox-21.0/CONTENTS:sym /usr/lib/debug/.build-id/5d/78feb45ffbfc5dcb0b0d95bfe5787159ca2bf4 -> /usr/lib64/firefox/plugin-container 1369678735 seamonkey-2.18_beta4/CONTENTS:sym /usr/lib/debug/.build-id/5d/78feb45ffbfc5dcb0b0d95bfe5787159ca2bf4.debug -> ../../usr/lib64/seamonkey/plugin-container.debug 1370080336 seamonkey-2.18_beta4/CONTENTS:sym /usr/lib/debug/.build-id/5d/78feb45ffbfc5dcb0b0d95bfe5787159ca2bf4 -> /usr/lib64/seamonkey/plugin-container 1370080336 firefox-21.0/CONTENTS:sym /usr/lib/debug/.build-id/03/f2bd49c45d7dd35f83094a4fd6f96b92a360ab.debug -> ../../usr/lib64/firefox/libmozalloc.so.debug 1369678735 firefox-21.0/CONTENTS:sym /usr/lib/debug/.build-id/03/f2bd49c45d7dd35f83094a4fd6f96b92a360ab -> /usr/lib64/firefox/libmozalloc.so 1369678735 seamonkey-2.18_beta4/CONTENTS:sym /usr/lib/debug/.build-id/03/f2bd49c45d7dd35f83094a4fd6f96b92a360ab.debug -> ../../usr/lib64/seamonkey-devel/sdk/lib/libmozalloc.so.debug 1370080335 seamonkey-2.18_beta4/CONTENTS:sym /usr/lib/debug/.build-id/03/f2bd49c45d7dd35f83094a4fd6f96b92a360ab -> /usr/lib64/seamonkey-devel/sdk/lib/libmozalloc.so 1370080335 firefox-21.0/CONTENTS:sym /usr/lib/debug/.build-id/f4/d76844f9ec2bf9d43fd01cd931ed50d5314e99.debug -> ../../usr/lib64/firefox/components/libmozgnome.so.debug 1369678735 firefox-21.0/CONTENTS:sym /usr/lib/debug/.build-id/f4/d76844f9ec2bf9d43fd01cd931ed50d5314e99 -> /usr/lib64/firefox/components/libmozgnome.so 1369678735 seamonkey-2.18_beta4/CONTENTS:sym /usr/lib/debug/.build-id/f4/d76844f9ec2bf9d43fd01cd931ed50d5314e99.debug -> ../../usr/lib64/seamonkey/components/libmozgnome.so.debug 1370080335 seamonkey-2.18_beta4/CONTENTS:sym /usr/lib/debug/.build-id/f4/d76844f9ec2bf9d43fd01cd931ed50d5314e99 -> /usr/lib64/seamonkey/components/libmozgnome.so 1370080335 firefox-21.0/CONTENTS:sym /usr/lib/debug/.build-id/95/6ff4d9145ecb4ee0e34130ed356c7a64fff6f5.debug -> ../../usr/lib64/firefox/components/libdbusservice.so.debug 1369678735 firefox-21.0/CONTENTS:sym /usr/lib/debug/.build-id/95/6ff4d9145ecb4ee0e34130ed356c7a64fff6f5 -> /usr/lib64/firefox/components/libdbusservice.so 1369678735 seamonkey-2.18_beta4/CONTENTS:sym /usr/lib/debug/.build-id/95/6ff4d9145ecb4ee0e34130ed356c7a64fff6f5.debug -> ../../usr/lib64/seamonkey/components/libdbusservice.so.debug 1370080335 seamonkey-2.18_beta4/CONTENTS:sym /usr/lib/debug/.build-id/95/6ff4d9145ecb4ee0e34130ed356c7a64fff6f5 -> /usr/lib64/seamonkey/components/libdbusservice.so 1370080335 (In reply to Torsten Kaiser from comment #3) > My current work around: COLLISION_IGNORE="*.py[co] > /usr/lib/debug/.build-id/*" > > Still happening between firefox-21.0 and seamonkey-2.18_beta4: > > firefox-21.0/CONTENTS:sym > /usr/lib/debug/.build-id/47/34e6061151c9366de91f8df697e514f3bfa452.debug -> > ../../usr/lib64/firefox/mozilla-xremote-client.debug 1369678735 > firefox-21.0/CONTENTS:sym > /usr/lib/debug/.build-id/47/34e6061151c9366de91f8df697e514f3bfa452 -> > /usr/lib64/firefox/mozilla-xremote-client 1369678735 > seamonkey-2.18_beta4/CONTENTS:sym > /usr/lib/debug/.build-id/47/34e6061151c9366de91f8df697e514f3bfa452.debug -> > ../../usr/lib64/seamonkey/mozilla-xremote-client.debug 1370080335 > seamonkey-2.18_beta4/CONTENTS:sym > /usr/lib/debug/.build-id/47/34e6061151c9366de91f8df697e514f3bfa452 -> > /usr/lib64/seamonkey/mozilla-xremote-client 1370080336 > > firefox-21.0/CONTENTS:sym > /usr/lib/debug/.build-id/5d/78feb45ffbfc5dcb0b0d95bfe5787159ca2bf4.debug -> > ../../usr/lib64/firefox/plugin-container.debug 1369678735 > firefox-21.0/CONTENTS:sym > /usr/lib/debug/.build-id/5d/78feb45ffbfc5dcb0b0d95bfe5787159ca2bf4 -> > /usr/lib64/firefox/plugin-container 1369678735 > seamonkey-2.18_beta4/CONTENTS:sym > /usr/lib/debug/.build-id/5d/78feb45ffbfc5dcb0b0d95bfe5787159ca2bf4.debug -> > ../../usr/lib64/seamonkey/plugin-container.debug 1370080336 > seamonkey-2.18_beta4/CONTENTS:sym > /usr/lib/debug/.build-id/5d/78feb45ffbfc5dcb0b0d95bfe5787159ca2bf4 -> > /usr/lib64/seamonkey/plugin-container 1370080336 > > firefox-21.0/CONTENTS:sym > /usr/lib/debug/.build-id/03/f2bd49c45d7dd35f83094a4fd6f96b92a360ab.debug -> > ../../usr/lib64/firefox/libmozalloc.so.debug 1369678735 > firefox-21.0/CONTENTS:sym > /usr/lib/debug/.build-id/03/f2bd49c45d7dd35f83094a4fd6f96b92a360ab -> > /usr/lib64/firefox/libmozalloc.so 1369678735 > seamonkey-2.18_beta4/CONTENTS:sym > /usr/lib/debug/.build-id/03/f2bd49c45d7dd35f83094a4fd6f96b92a360ab.debug -> > ../../usr/lib64/seamonkey-devel/sdk/lib/libmozalloc.so.debug 1370080335 > seamonkey-2.18_beta4/CONTENTS:sym > /usr/lib/debug/.build-id/03/f2bd49c45d7dd35f83094a4fd6f96b92a360ab -> > /usr/lib64/seamonkey-devel/sdk/lib/libmozalloc.so 1370080335 > > firefox-21.0/CONTENTS:sym > /usr/lib/debug/.build-id/f4/d76844f9ec2bf9d43fd01cd931ed50d5314e99.debug -> > ../../usr/lib64/firefox/components/libmozgnome.so.debug 1369678735 > firefox-21.0/CONTENTS:sym > /usr/lib/debug/.build-id/f4/d76844f9ec2bf9d43fd01cd931ed50d5314e99 -> > /usr/lib64/firefox/components/libmozgnome.so 1369678735 > seamonkey-2.18_beta4/CONTENTS:sym > /usr/lib/debug/.build-id/f4/d76844f9ec2bf9d43fd01cd931ed50d5314e99.debug -> > ../../usr/lib64/seamonkey/components/libmozgnome.so.debug 1370080335 > seamonkey-2.18_beta4/CONTENTS:sym > /usr/lib/debug/.build-id/f4/d76844f9ec2bf9d43fd01cd931ed50d5314e99 -> > /usr/lib64/seamonkey/components/libmozgnome.so 1370080335 > > firefox-21.0/CONTENTS:sym > /usr/lib/debug/.build-id/95/6ff4d9145ecb4ee0e34130ed356c7a64fff6f5.debug -> > ../../usr/lib64/firefox/components/libdbusservice.so.debug 1369678735 > firefox-21.0/CONTENTS:sym > /usr/lib/debug/.build-id/95/6ff4d9145ecb4ee0e34130ed356c7a64fff6f5 -> > /usr/lib64/firefox/components/libdbusservice.so 1369678735 > seamonkey-2.18_beta4/CONTENTS:sym > /usr/lib/debug/.build-id/95/6ff4d9145ecb4ee0e34130ed356c7a64fff6f5.debug -> > ../../usr/lib64/seamonkey/components/libdbusservice.so.debug 1370080335 > seamonkey-2.18_beta4/CONTENTS:sym > /usr/lib/debug/.build-id/95/6ff4d9145ecb4ee0e34130ed356c7a64fff6f5 -> > /usr/lib64/seamonkey/components/libdbusservice.so 1370080335 There is no proper fix, seamonkey shares way to much of firefox/thunderbird code. We would end up doing a complete rewrite in order to address the issue, This is a rather minor issue seeing 99.9% of users are not going to install both firefox and seamonkey together. Why not do "rm -r ${ED}/usr/lib/.build-id/" at the end of src_install()? It's not the real .so's that are colliding, only the .build-id-debug-symlinks. And I suspect (but not know for sure, thats why I did not suggest the rm-fix when I reported this bug) that these symlinks are completely unused in Gentoo. https://fedoraproject.org/wiki/Releases/FeatureBuildId Considering that not two Gentoo installations are exactly the same that id can't work beyond a single system. And because of that Gentoo is installing the corresponding debug infos as part of the package, if requested via FEATURES=splitdebug. An these splitdebug files do not collide. Please consider reopening this bug. I'm reopening this bug, because its not an firefox vs seamonkey problem, but affects all mozilla programs after firefox-20. https://bugzilla.mozilla.org/show_bug.cgi?id=818903 landed for firefox-20 and thats why firefox-20 and seamonkey-2.17 that is based on it will collide. It is not yet happening with thunderbird because that is still at 17esr an so does not install any files into /usr/lib/debug/.build-id. But when thunderbird 24 will be released you will no longer be able to install it in parallel with firefox-24. I made a copy of thunderbird-17.0.6-r1 as thunderbird-22.0_beta1.ebuild and with a few changes got it to compile. It resulted in collisions against the current firefox-22.0_beta6: * Detected file collision(s): * * /usr/lib/debug/.build-id/34/65be5872cd506821eaf7e715dda36506756952 * /usr/lib/debug/.build-id/34/65be5872cd506821eaf7e715dda36506756952.debug * /usr/lib/debug/.build-id/a1/da2dd4bf6de2b41854a1f5d1e4353de2d565ab * /usr/lib/debug/.build-id/a1/da2dd4bf6de2b41854a1f5d1e4353de2d565ab.debug * /usr/lib/debug/.build-id/27/b62d8387a1b926b82932ec66d9e38db23ac39f * /usr/lib/debug/.build-id/27/b62d8387a1b926b82932ec66d9e38db23ac39f.debug * * Searching all installed packages for file collisions... * * Press Ctrl-C to Stop * * www-client/firefox-22.0_beta6:0::mozilla * /usr/lib/debug/.build-id/27/b62d8387a1b926b82932ec66d9e38db23ac39f * /usr/lib/debug/.build-id/27/b62d8387a1b926b82932ec66d9e38db23ac39f.debug * /usr/lib/debug/.build-id/34/65be5872cd506821eaf7e715dda36506756952 * /usr/lib/debug/.build-id/34/65be5872cd506821eaf7e715dda36506756952.debug * /usr/lib/debug/.build-id/a1/da2dd4bf6de2b41854a1f5d1e4353de2d565ab * /usr/lib/debug/.build-id/a1/da2dd4bf6de2b41854a1f5d1e4353de2d565ab.debug * * Package 'mail-client/thunderbird-22.0_beta1' NOT merged due to file * collisions. If necessary, refer to your elog messages for the whole * content of the above message. These are the debug links for /usr/lib64/firefox/libmozalloc.so, /usr/lib64/firefox/components/libdbusservice.so and /usr/lib64/firefox/components/libmozgnome.so, the other files probably changed between beta1 and 6, but as I think its sufficied to prove the problem. Please reconsider just removing /usr/lib/debug/.build-id/* before packaging/merging. Created attachment 351492 [details]
Ebuild I used for testing, fails with USE=crypt, but USE=-crypt worked for me
There now is a beta for the next ESR release for thunderbird-24. Together with the firefox-24-beta from the mozilla overlay this give me the following collisions: * Detected file collision(s): * * /usr/lib/debug/.build-id/47/3682b0c00fc637061f2176bebf21bac7ca5db7 * /usr/lib/debug/.build-id/47/3682b0c00fc637061f2176bebf21bac7ca5db7.debug * /usr/lib/debug/.build-id/8c/72350f0d463ec9452ab19f260c9fea852dc37c * /usr/lib/debug/.build-id/8c/72350f0d463ec9452ab19f260c9fea852dc37c.debug * /usr/lib/debug/.build-id/27/b62d8387a1b926b82932ec66d9e38db23ac39f * /usr/lib/debug/.build-id/27/b62d8387a1b926b82932ec66d9e38db23ac39f.debug * * Searching all installed packages for file collisions... * * Press Ctrl-C to Stop * * www-client/firefox-24.0_beta1:0::mozilla * /usr/lib/debug/.build-id/27/b62d8387a1b926b82932ec66d9e38db23ac39f * /usr/lib/debug/.build-id/27/b62d8387a1b926b82932ec66d9e38db23ac39f.debug * /usr/lib/debug/.build-id/47/3682b0c00fc637061f2176bebf21bac7ca5db7 * /usr/lib/debug/.build-id/47/3682b0c00fc637061f2176bebf21bac7ca5db7.debug * /usr/lib/debug/.build-id/8c/72350f0d463ec9452ab19f260c9fea852dc37c * /usr/lib/debug/.build-id/8c/72350f0d463ec9452ab19f260c9fea852dc37c.debug * * www-client/seamonkey-2.20:0::mozilla * /usr/lib/debug/.build-id/27/b62d8387a1b926b82932ec66d9e38db23ac39f * /usr/lib/debug/.build-id/27/b62d8387a1b926b82932ec66d9e38db23ac39f.debug * * Package 'mail-client/thunderbird-24.0_beta1' NOT merged due to file * collisions. If necessary, refer to your elog messages for the whole * content of the above message. * * The following package has failed to build or install: * * (mail-client/thunderbird-24.0_beta1::local, ebuild scheduled for merge), Log file: * '/var/tmp/portage/mail-client/thunderbird-24.0_beta1/temp/build.log' * The dublicate collision against 27/b62d8387a1b926b82932ec66d9e38db23ac39f was possible, because I installed the firefox-beta with COLLISION_IGNORE="*.py[co] /usr/lib/debug/.build-id/*" in my make.conf This rather is an infuriating bug, because the last thing you want to have happen is have a lengthy compile bail out at the end due to a file collision. Collision occurred today w/ seamonkey-2.21 and ff-24.0_beta9 I have both installed, as its much easier to run firefox and seamonkey side by side if you need 2 independent browsers, much easier than to try convince firefox to spawn 2 instances without there being some funky IPC going on between the two. Sure, its probably rare. Is there somewhere I can read on the purpose of these debug files, to understand why they exist where they do? This excatly happened to me today. I've firefox 23.0 installed onto my system. Today I tried to update for thunderbird to version 24.0 and the build ended up in a file collision. Please fix soon. >>> '/var/log/portage/mail-client:thunderbird-24.0:20130924-200846.log' * Messages for package mail-client/thunderbird-24.0: * You are enabling official branding. You may not redistribute this build * to any users on your network or the internet. Doing so puts yourself into * a legal problem with Mozilla Foundation * You can disable it by emerging thunderbird _with_ the bindist USE-flag * * 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/lib/debug/.build-id/98/d0153289996f3479b32e029ad6c2b58df6d1d3 * /usr/lib/debug/.build-id/98/d0153289996f3479b32e029ad6c2b58df6d1d3.debu * * Searching all installed packages for file collisions... * * Press Ctrl-C to Stop * * www-client/firefox-23.0:0::gentoo * /usr/lib/debug/.build-id/98/d0153289996f3479b32e029ad6c2b58df6d1d3 * /usr/lib/debug/.build-id/98/d0153289996f3479b32e029ad6c2b58df6d1d3.debu * * Package 'mail-client/thunderbird-24.0' NOT merged due to file * collisions. If necessary, refer to your elog messages for the whole * content of the above message. *** Bug 485942 has been marked as a duplicate of this bug. *** There now is another dup at bug #485998 Please reconsider the proposed fix from comment 5. As described there I think these symlinks are not usefull on Gentoo, so just rm should be the best fix. ( http://hg.mozilla.org/mozilla-central/rev/4e83d0987a31 does not seem to provide an ./configure flag, so removing these links after the build/install seems to be the only way) (In reply to Torsten Kaiser from comment #12) > There now is another dup at bug #485998 > > Please reconsider the proposed fix from comment 5. As described there I > think these symlinks are not usefull on Gentoo, so just rm should be the > best fix. > > ( http://hg.mozilla.org/mozilla-central/rev/4e83d0987a31 does not seem to > provide an ./configure flag, so removing these links after the build/install > seems to be the only way) I'm looking into comment #5 solution; before I can commit it though I want to make sure that there isn't any valid case where these symlinks are needed. I may not finish the research today, but will within the next day or two for sure. *** Bug 485998 has been marked as a duplicate of this bug. *** Went with a build system patch instead. + 26 Sep 2013; Ian Stakenvicius <axs@gentoo.org> + +files/moz24-drop-Wl-build-id.patch, seamonkey-2.21.ebuild: + drop -Wl,--build-id from LDFLAGS, bug #465466 As far as I understand, this bug is back since the patches were removed 2013-11-04 by anarchy and polynomial-c. At least on my system, emerge firefox 24.2 failed with thunderbird 24.2 installed. (In reply to Erik from comment #16) > As far as I understand, this bug is back since the patches were removed > 2013-11-04 by anarchy and polynomial-c. At least on my system, emerge > firefox 24.2 failed with thunderbird 24.2 installed. This is actually caused by myself alone. I rolled the patchset back a release and forgot the patch was not in the old patchset. I am getting it readded as I type and will push to mirrors shortly. Thanks for reporting again. I have add the patch back into the patchset, will be avaliable on mirrors shortly. |