Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 693654 - =www-client/firefox-60.9.0 - src_configure(): ERROR: USE Flag 'lto' not in IUSE for www-client/firefox-60.9.0
Summary: =www-client/firefox-60.9.0 - src_configure(): ERROR: USE Flag 'lto' not in IU...
Status: RESOLVED FIXED
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: 692500
Blocks:
  Show dependency tree
 
Reported: 2019-09-07 08:46 UTC by tt_1
Modified: 2019-09-15 10:58 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,8.48 KB, text/plain)
2019-09-07 08:46 UTC, tt_1
Details
output from emerge --info (emerge-info,5.09 KB, text/plain)
2019-09-07 08:47 UTC, tt_1
Details

Note You need to log in before you can comment on or make changes to this bug.
Description tt_1 2019-09-07 08:46:12 UTC
Created attachment 589300 [details]
build.log

from the build log:

>>> Configuring source in /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-60.9.0/work/firefox-60.9.0 ...
 * TERM is set to: "xterm-256color"
 * strip-flags: CFLAGS: changed '-pipe -fomit-frame-pointer' to '-pipe'
 * strip-flags: CXXFLAGS: changed '-pipe -fomit-frame-pointer' to '-pipe'
 * ERROR: www-client/firefox-60.9.0::gentoo failed (configure phase):
 *   USE Flag 'lto' not in IUSE for www-client/firefox-60.9.0
 * 
 * Call stack:
 *          ebuild.sh, line  125:  Called src_configure
 *        environment, line 5174:  Called mozconfig_init
 *        environment, line 3565:  Called use 'lto'
 *   phase-helpers.sh, line  247:  Called die
 * The specific snippet of code:
 *   				die "USE Flag '${u}' not in IUSE for ${CATEGORY}/${PF}"
 * 

I think it's an undesired side effect of this fix: 

https://github.com/gentoo/gentoo/commit/9cc1ad54ffea7d8f0f4b94eede6dc3e182f1b152

Possible better approach is to revert the changes to mozcoreconf-v6, bump the eclass to mozcoreconf-v7 and bump all the post firefox-60.x ebuilds to the new eclass.
Comment 1 tt_1 2019-09-07 08:47:41 UTC
Created attachment 589302 [details]
output from emerge --info
Comment 2 Georgy Yakovlev archtester gentoo-dev 2019-09-09 19:45:28 UTC
yeah, I knew it's not a good idea to check useflag in a eclass which is defined in a ebuild.
Comment 3 tt_1 2019-09-09 20:27:44 UTC
There are two options: 

revert #692500 in mozcoreconf-v6, add a copy called mozcoreconf-v7 and backport the reverted fix. Then change eclass for >=firefox-68 and >=thunderbird-68 to mozcoreconf-v7 

ignore and wait for six weeks, or whenever the old esr gets tree cleaned. 

if you choose the latter, please close the bug.
Comment 4 Larry the Git Cow gentoo-dev 2019-09-14 20:35:01 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/proj/mozilla.git/commit/?id=4694c68a6b60520d02af98fc1fced6dfc642ee93

commit 4694c68a6b60520d02af98fc1fced6dfc642ee93
Author:     Jory Pratt <anarchy@gentoo.org>
AuthorDate: 2019-09-10 16:06:47 +0000
Commit:     Jory Pratt <anarchy@gentoo.org>
CommitDate: 2019-09-10 16:06:47 +0000

    www-client/firefox: fix lto builds
    
    Closes: https://bugs.gentoo.org/689358
    Closes: https://bugs.gentoo.org/693654
    Package-Manager: Portage-2.3.75, Repoman-2.3.17
    Signed-off-by: Jory Pratt <anarchy@gentoo.org>

 .../firefox/files/firefox-69.0-lto-gcc-fix.patch   | 26 ++++++++++++++++++++++
 ...{firefox-69.0.ebuild => firefox-69.0-r1.ebuild} |  6 ++---
 2 files changed, 28 insertions(+), 4 deletions(-)
Comment 5 Jory A. Pratt gentoo-dev 2019-09-14 20:57:53 UTC
From 060e22f07d78978e8e856626a912d1dda3c2f796 Mon Sep 17 00:00:00 2001
From: Jory Pratt <anarchy@gentoo.org>
Date: Sat, 14 Sep 2019 15:55:35 -0500
Subject: [PATCH] eclass/mozcoreconf-v6: revert lto hack for ppc/arm

Signed-off-by: Jory Pratt <anarchy@gentoo.org>
---
 eclass/mozcoreconf-v6.eclass | 40 ++++++++----------------------------
 1 file changed, 9 insertions(+), 31 deletions(-)

Sorry the overlay had the fix originally, I wanted this on main tree tho and not in overlay.
Comment 6 tt_1 2019-09-15 10:58:57 UTC
this fixes the old esr, but breaks =firefox-68.1.0 again: 

 0:12.36 checking for remove... no
 0:12.39 checking for remove in -lposix... no
 0:12.42 checking for shmat... no
 0:12.45 checking for shmat in -lipc... no
 0:12.47 checking for IceConnectionNumber in -lICE... no
 0:12.50 configure: error: compiler is incompatible with sanitize options
 0:12.51 DEBUG: <truncated - see config.log for full output>
 0:12.51 DEBUG: /* Override any gcc2 internal prototype to avoid an error.  */
 0:12.51 DEBUG: /* We use char because int might match the return type of a gcc2
 0:12.51 DEBUG:     builtin and then its argument prototype would still apply.  */
 0:12.51 DEBUG: char IceConnectionNumber();
 0:12.51 DEBUG:
 0:12.51 DEBUG: int main() {
 0:12.51 DEBUG: IceConnectionNumber()
 0:12.51 DEBUG: ; return 0; }
 0:12.51 DEBUG: configure:4123: /usr/bin/armv7a-unknown-linux-gnueabihf-gcc -std=gnu99 -o conftest -pipe -mthumb -mno-thumb-interwork -mfpu=neon -mfloat-abi=hard  -Wl,-O1 -Wl,--as-needed -Wl,--no-keep-memory -Wl,--reduce-memory-overheads -Wl,-rpath=/usr/lib/firefox,--enable-new-dtags -Wl,--compress-debug-sections=zlib -fuse-ld=gold -mthumb conftest.c  1>&5
 0:12.51 DEBUG: /usr/libexec/gcc/armv7a-unknown-linux-gnueabihf/ld.gold: --reduce-memory-overheads: unknown option
 0:12.51 DEBUG: /usr/libexec/gcc/armv7a-unknown-linux-gnueabihf/ld.gold: use the --help option for usage information
 0:12.51 DEBUG: collect2: error: ld returned 1 exit status
 0:12.51 DEBUG: configure: failed program was:
 0:12.51 DEBUG: #line 4116 "configure"
 0:12.51 DEBUG: #include "confdefs.h"
 0:12.51 DEBUG:
 0:12.51 DEBUG: int main() {
 0:12.51 DEBUG:
 0:12.51 DEBUG: ; return 0; }
 0:12.51 DEBUG: configure: error: compiler is incompatible with sanitize options
 0:12.51 ERROR: old-configure failed
 0:12.61 *** Fix above errors and then restart with\
 0:12.61                "./mach build"
 0:12.61 gmake: *** [client.mk:115: configure] Error 1


the cleanest solution would be to bump the eclass, readd the fix from #692500, and to include the fixed only in new 68.x-esr, keeping the old eclass for old esr.