Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
new firefox devilry [worked around]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
albright
Advocate
Advocate


Joined: 16 Nov 2003
Posts: 2588
Location: Near Toronto

PostPosted: Mon Jan 29, 2018 3:15 pm    Post subject: new firefox devilry [worked around] Reply with quote

EDIT: from the bug report a clever workaround:
Quote:
since the actual build is already complete; you could likely do:
cd /usr/portage/www-client/firefox
ebuild firefox-58.0.ebuild install && ebuild firefox-58.0.ebuild qmerge


trying to build firefox-58 but the build ends with (see below):

note that the build reports successful completion (the python
stuff seems to be irrelevant), and note
also that the firefox-58 executable found at
/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/ff/dist/bin
runs fine

Code:
Exception in thread ProcessReader:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/testing/mozbase/mozprocess/mozprocess/processhandler.py", line 986, in _read
    callback(line.rstrip())
  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/testing/mozbase/mozprocess/mozprocess/processhandler.py", line 904, in __call__
    e(*args, **kwargs)
  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/python/mach/mach/mixin/process.py", line 86, in handleLine
    line_handler(line)
  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/python/mozbuild/mozbuild/controller/building.py", line 720, in on_line
    self.log(logging.INFO, 'build_output', {'line': line}, '{line}')
  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/python/mach/mach/mixin/logging.py", line 54, in log
    extra={'action': action, 'params': params})
  File "/usr/lib64/python2.7/logging/__init__.py", line 1231, in log
    self._log(level, msg, args, **kwargs)
  File "/usr/lib64/python2.7/logging/__init__.py", line 1286, in _log
    self.handle(record)
  File "/usr/lib64/python2.7/logging/__init__.py", line 1296, in handle
    self.callHandlers(record)
  File "/usr/lib64/python2.7/logging/__init__.py", line 1336, in callHandlers
    hdlr.handle(record)
  File "/usr/lib64/python2.7/logging/__init__.py", line 759, in handle
    self.emit(record)
  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/python/mozbuild/mozbuild/controller/building.py", line 548, in emit
    self.fh.write(msg)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 135-137: ordinal not in range(128)

13:01.32 0 compiler warnings present.
13:01.35 Exception when writing resource usage file: u'compile'
[b]13:01.35 /usr/bin/notify-send --app-name=Mozilla Build System Mozilla Build System Build complete
13:51.42 We know it took a while, but your build finally finished successfully![/b]
To view resource usage of the build, run |mach resource-usage|.
Error running mach:

    ['build']

The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.

You should consider filing a bug for this issue.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

KeyError: u'compile'

  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/python/mozbuild/mozbuild/mach_commands.py", line 170, in build
    mach_context=self._mach_context)
  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/python/mozbuild/mozbuild/controller/building.py", line 1232, in build
    telemetry_data = monitor.get_resource_usage()
  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/python/mozbuild/mozbuild/controller/building.py", line 433, in get_resource_usage
    o['tiers'] = self.tiers.tiered_resource_usage()
  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/python/mozbuild/mozbuild/controller/building.py", line 150, in tiered_resource_usage
    self.add_resources_to_dict(t_entry, phase=tier)
  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/python/mozbuild/mozbuild/controller/building.py", line 159, in add_resources_to_dict
    end=end, phase=phase, per_cpu=False)
  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py", line 468, in aggregate_cpu_percent
    data = self.phase_usage(phase)
  File "/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py", line 427, in phase_usage
    time_start, time_end = self.phases[phase]
 * ERROR: www-client/firefox-58.0::gentoo failed (compile phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line 124:  Called src_compile
 *   environment, line 5085:  Called die
 * The specific snippet of code:
 *       MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" ./mach build || die
 *
 * If you need support, post the output of `emerge --info '=www-client/firefox-58.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=www-client/firefox-58.0::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/www-client/firefox-58.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/www-client/firefox-58.0/temp/environment'.
 * Working directory: '/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0'
 * S: '/var/tmp/portage/www-client/firefox-58.0/work/firefox-58.0'

_________________
.... there is nothing - absolutely nothing - half so much worth
doing as simply messing about with Linux ...
(apologies to Kenneth Graeme)
Back to top
View user's profile Send private message
RayOfLight
Tux's lil' helper
Tux's lil' helper


Joined: 27 Aug 2013
Posts: 108
Location: Catalunya

PostPosted: Sun Feb 25, 2018 9:41 pm    Post subject: Reply with quote

this helped me out with firefox-58.0.1, thank you
Back to top
View user's profile Send private message
skellr
l33t
l33t


Joined: 18 Jun 2005
Posts: 975
Location: The Village, Portmeirion

PostPosted: Mon Feb 26, 2018 12:55 am    Post subject: Reply with quote

Another workaround for Firefox RCS/Nightly/Beta is just get a binary from Mozilla and extract it to /opt with a simlink to someplace like /usr/loca/bin in $PATH. Mozilla can update security faster than any distro, and it will update itself given the right permissions.
Back to top
View user's profile Send private message
MMMMM
Tux's lil' helper
Tux's lil' helper


Joined: 13 Jun 2011
Posts: 141
Location: Berlin

PostPosted: Mon Apr 30, 2018 2:03 pm    Post subject: Reply with quote

Does anyone know working config for compiling www-client/firefox? I made several attempts but nothing works.
E.g. from today:
Code:
>>> Failed to emerge www-client/firefox-59.0.2, Log file:

>>>  '/mnt/portage/log/www-client:firefox-59.0.2:20180430-134148.log.gz'

 * Messages for package www-client/firefox-59.0.2:
 * Log file: /mnt/portage/log/www-client:firefox-59.0.2:20180430-134148.log.gz

 * 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 firefox _with_ the bindist USE-flag
 * ERROR: www-client/firefox-59.0.2::gentoo failed (compile phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line 124:  Called src_compile
 *   environment, line 5026:  Called die
 * The specific snippet of code:
 *       MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 ./mach build || die
 *
 * If you need support, post the output of `emerge --info '=www-client/firefox-59.0.2::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=www-client/firefox-59.0.2::gentoo'`.
 * The complete build log is located at '/mnt/portage/log/www-client:firefox-59.0.2:20180430-134148.log.gz'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/www-client/firefox-59.0.2/temp/build.log.gz'.
 * The ebuild environment file is located at '/var/tmp/portage/www-client/firefox-59.0.2/temp/environment'.
 * Working directory: '/var/tmp/portage/www-client/firefox-59.0.2/work/mozilla-release-239e434d6d2b8e1e2b697c3416d1e96d48fe98e5'
 * S: '/var/tmp/portage/www-client/firefox-59.0.2/work/mozilla-release-239e434d6d2b8e1e2b697c3416d1e96d48fe98e5'
 *
 * The following package has failed to build, install, or execute postinst:
 *
 *  (www-client/firefox-59.0.2:0/0::gentoo, ebuild scheduled for merge), Log file:
 *   '/mnt/portage/log/www-client:firefox-59.0.2:20180430-134148.log.gz'
 *

Currently I use 56.0, last compilable version.
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30905
Location: here

PostPosted: Mon Apr 30, 2018 2:08 pm    Post subject: Reply with quote

You can upload full build.log somewhere?
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
MMMMM
Tux's lil' helper
Tux's lil' helper


Joined: 13 Jun 2011
Posts: 141
Location: Berlin

PostPosted: Mon Apr 30, 2018 2:28 pm    Post subject: Reply with quote

Yes:
https://we.tl/uyP1djKt6L
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2284
Location: Adendorf, Germany

PostPosted: Wed May 02, 2018 9:28 am    Post subject: Re: new firefox devilry [worked around] Reply with quote

albright wrote:
EDIT: from the bug report a clever workaround:
Quote:
since the actual build is already complete; you could likely do:
cd /usr/portage/www-client/firefox
ebuild firefox-58.0.ebuild install && ebuild firefox-58.0.ebuild qmerge
Why not just
Code:
 # ebuild /usr/portage/www-client/firefox/firefox-58.0.ebuild merge
? 'qmerge' does not finish the merge. 'merge' does.
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
MMMMM
Tux's lil' helper
Tux's lil' helper


Joined: 13 Jun 2011
Posts: 141
Location: Berlin

PostPosted: Thu May 03, 2018 6:29 pm    Post subject: Reply with quote

Yamakuzure,

why should I use ebuild instead of emerge?
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3134

PostPosted: Thu May 03, 2018 7:18 pm    Post subject: Reply with quote

Because it's lower level command which gives you more control at cost of increased volume of work required on your part.
By invoking it manually instead of via emerge you can specify which stage you want to run. This implies you can pick up an interrupted build and demand it to be finished rather than scrapped so you can start over from clean sources.
In this particular case it would save you time you'd otherwise spend compiling that stuff again.
Back to top
View user's profile Send private message
MMMMM
Tux's lil' helper
Tux's lil' helper


Joined: 13 Jun 2011
Posts: 141
Location: Berlin

PostPosted: Thu May 03, 2018 8:59 pm    Post subject: Reply with quote

And should I just try the "ebuild xxxxx merge" or something other?
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30905
Location: here

PostPosted: Fri May 04, 2018 5:49 am    Post subject: Re: new firefox devilry [worked around] Reply with quote

Yamakuzure wrote:
'qmerge' does not finish the merge. 'merge' does.

I think that is wrong
Code:
       qmerge This function installs all the files in the install directory to the live filesystem.  The process works as follows: first, the pkg_preinst()  function
              (if  specified)  is  run.   Then, the files are merged into the live filesystem, and the installed files' checksums are recorded in /var/db/pkg/${CATE‐
              GORY}/${PN}-${PVR}/CONTENTS.  After all the files have been merged, the pkg_postinst() function (if specified) is executed.

       merge  Normally, to merge an ebuild, you need to fetch, unpack, compile, install and qmerge.  If you're simply interested in merging the ebuild, you  can  use
              this command, which will perform all these steps for you, stopping along the way if a particular step doesn't complete successfully.

qmerge finish the merge, the only difference is that you cannot call qmerge without install while with merge yes
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum