Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 805212 - www-client/firefox: broken binary after qmerge phase
Summary: www-client/firefox: broken binary after qmerge phase
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-30 11:16 UTC by Thomas Schneider
Modified: 2021-08-12 19:14 UTC (History)
1 user (show)

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


Attachments
ebuild(1) log (ebuild.log,16.79 KB, text/x-log)
2021-07-30 11:16 UTC, Thomas Schneider
Details
emerge --info (emerge-info,21.20 KB, text/plain)
2021-07-30 11:18 UTC, Thomas Schneider
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Schneider 2021-07-30 11:16:17 UTC
Created attachment 728244 [details]
ebuild(1) log

www-client/firefox (currently 90.0.2, but the error has happened before) consistently produces a broken binary when installed to the system:
```
# file /usr/lib64/firefox/firefox
/usr/lib64/firefox/firefox:          data
# hexdump -C /usr/lib64/firefox/firefox
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000846e0  00 00 00 00 00 00 00 00                           |........|
000846e8

This is not the case in the ${D} tree (even after strip is run).  A workaround is to create a binpkg of firefox and install that, but this is cumbersome, I have to remember to do it, and unfortunately installing the binpkg erased the Portage workdir so I don’t have the build.log anymore.

Because of the aforementioned workdir purge, reproducing this will take me … *checks qlop* around three hours, but should be doable.

For more information, see the attached logs of invoking ebuild(1) manually and `emerge --info` output.

```
root@coruscant ~ 
# grep firefox /etc/portage/package.env/package.env 
www-client/firefox   clang var-tmp keepworktemp
root@coruscant ~ 
# cat /etc/portage/env/{clang,var-tmp,keepworktemp}
CC="clang"
CXX="clang++"
CFLAGS="${CFLAGS} -flto=thin"
CXXFLAGS="${CXXFLAGS} -flto=thin"
LDFLAGS="-fuse-ld=lld -Wl,-O2 -Wl,--as-needed"
AR="llvm-ar"
NM="llvm-nm"
RANLIB="llvm-ranlib"
OBJCOPY="llvm-objcopy"
STRIP="llvm-strip"
PORTAGE_TMPDIR="/var/tmp"
FEATURES="${FEATURES} keepwork keeptemp"
```
Comment 1 Thomas Schneider 2021-07-30 11:18:13 UTC
Created attachment 728247 [details]
emerge --info
Comment 2 Sam James archtester gentoo-dev Security 2021-08-01 05:43:56 UTC
CCing grobian b/c of qmerge.
Comment 3 Fabian Groffen gentoo-dev 2021-08-12 19:14:10 UTC
Where does qmerge come into the picture here?  Are we sure this isn't because of the clang/llvm toolchain overrides?