Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Actual requirements for building Chromium-85? [SOLVED]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
NathanZachary
Moderator
Moderator


Joined: 30 Jan 2007
Posts: 2504
Location: /home/zach

PostPosted: Wed Sep 02, 2020 7:44 pm    Post subject: Actual requirements for building Chromium-85? [SOLVED] Reply with quote

Wow, I have tried many times now to compile www-client/chromium-85 and it repeatedly fails with the following error message:

Code:

ninja: build stopped: subcommand failed.
 * ERROR: www-client/chromium-85.0.4183.83::gentoo failed (compile phase):
 *   ninja -v -j9 -l0 -C out/Release chrome chromedriver failed
 *
 * Call stack:
 *     ebuild.sh, line  125:  Called src_compile
 *   environment, line 4343:  Called eninja '-C' 'out/Release' 'chrome' 'chromedriver'
 *   environment, line 2040:  Called die
 * The specific snippet of code:
 *       "$@" || die "${nonfatal_args[@]}" "${*} failed"
 *
 * If you need support, post the output of `emerge --info '=www-client/chromium-85.0.4183.83::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=www-client/chromium-85.0.4183.83::gentoo'`.
 *
 * MemTotal:       24621104 kB
 * SwapTotal:        524284 kB


After looking through the full build log, I found:

Code:

../../base/bind_internal.h: In function ‘bool base::internal::QueryCancellationTraitsImpl(base::internal::BindStateBase::CancellationQueryMode, const Functor&, const BoundArgsTuple&, std::index_sequence<indices ...>) [with Functor = void (content::{anonymous}::LoginHandlerDelegate::*)(const base::Optional<net::AuthCredentials>&); BoundArgsTuple = std::tuple<base::WeakPtr<content::{anonymous}::LoginHandlerDelegate> >; long unsigned int ...indices = {0}]’:
../../base/bind_internal.h:773:1: warning: control reaches end of non-void function [-Wreturn-type]
../../base/bind_internal.h: In function ‘bool base::internal::QueryCancellationTraitsImpl(base::internal::BindStateBase::CancellationQueryMode, const Functor&, const BoundArgsTuple&, std::index_sequence<indices ...>) [with Functor = void (content::{anonymous}::LoginHandlerDelegate::*)(bool, const base::Optional<net::AuthCredentials>&); BoundArgsTuple = std::tuple<base::WeakPtr<content::{anonymous}::LoginHandlerDelegate> >; long unsigned int ...indices = {0}]’:
../../base/bind_internal.h:773:1: warning: control reaches end of non-void function [-Wreturn-type]
../../base/bind_internal.h: In function ‘bool base::internal::QueryCancellationTraitsImpl(base::internal::BindStateBase::CancellationQueryMode, const Functor&, const BoundArgsTuple&, std::index_sequence<indices ...>) [with Functor = void (content::StoragePartitionImpl::*)(base::OnceCallback<void()>); BoundArgsTuple = std::tuple<base::WeakPtr<content::StoragePartitionImpl>, base::OnceCallback<void()> >; long unsigned int ...indices = {0, 1}]’:
../../base/bind_internal.h:773:1: warning: control reaches end of non-void function [-Wreturn-type]
../../base/bind_internal.h: In function ‘bool base::internal::QueryCancellationTraitsImpl(base::internal::BindStateBase::CancellationQueryMode, const Functor&, const BoundArgsTuple&, std::index_sequence<indices ...>) [with Functor = void (content::StoragePartitionImpl::*)(); BoundArgsTuple = std::tuple<base::WeakPtr<content::StoragePartitionImpl> >; long unsigned int ...indices = {0}]’:
../../base/bind_internal.h:773:1: warning: control reaches end of non-void function [-Wreturn-type]

x86_64-pc-linux-gnu-g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.


and, sure enough, dmesg confirmed:

Code:

[1721660.943760] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,task=cc1plus,pid=12945,uid=250
[1721660.943766] Out of memory: Killed process 12945 (cc1plus) total-vm:5085268kB, anon-rss:3145056kB, file-rss:7952kB, shmem-rss:0kB, UID:250 pgtables:6640kB oom_score_adj:0
[1721661.035633] oom_reaper: reaped process 12945 (cc1plus), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB


Here is my current configuration:

Code:

# cat /proc/cpuinfo | grep processor | wc -l && grep MAKEOPTS /etc/portage/make.conf && grep -i portage /etc/fstab && free -m
8
MAKEOPTS="-j9"
tmpfs         /var/tmp/portage   tmpfs      size=12G,uid=portage,gid=portage,mode=775,noatime   0 0
              total        used        free      shared  buff/cache   available
Mem:          24044         873       21907          31        1262       22886
Swap:           511           8         503


The only difference is that I had temporarily set the /var/tmp/portage tmpfs to 20G to see if that would help. :(

What are the actual requirements to build this monstrosity of an application these days?

Cheers,
Nathan Zachary
_________________
“Truth, like infinity, is to be forever approached but never reached.” --Jean Ayres (1972)
---avatar cropped from =AimanStudio---


Last edited by NathanZachary on Thu Sep 03, 2020 2:16 pm; edited 1 time in total
Back to top
View user's profile Send private message
Ionen
Veteran
Veteran


Joined: 06 Dec 2018
Posts: 1278

PostPosted: Wed Sep 02, 2020 7:48 pm    Post subject: Reply with quote

Code:
MAKEOPTS="-j9"
tmpfs         /var/tmp/portage   tmpfs      size=12G,uid=portage,gid=portage,mode=775,noatime   0 0
Not sure for exact requirements but first don't use tmpfs for it, and then use a lower -jX value if that's not enough. You are running out of ram and using more ram from tmpfs being filled by a large build isn't going to help.

Use package.env to setup different settings just for it if preferred, wiki page gives an example for tmpfs too.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 46371
Location: 56N 3W

PostPosted: Wed Sep 02, 2020 8:08 pm    Post subject: Reply with quote

NathanZachary,

Code:
MAKEOPTS="-j9"
allow 2G RAM per make thread for big C++ builds, so gcc may want 18G RAM, all to itself.

tmpfs content can be moved to swap, if you have the swap space but that defeats the purpose a bit.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
NathanZachary
Moderator
Moderator


Joined: 30 Jan 2007
Posts: 2504
Location: /home/zach

PostPosted: Wed Sep 02, 2020 8:24 pm    Post subject: Reply with quote

Thank you both for your recommendations! I think that I will try temporarily unmounting the tmpfs partition for /var/tmp/portage for the Chromium build. Maybe then it will complete without having to lower my MAKEOPTS for the build. I will continue to experiment.

Thanks again!
_________________
“Truth, like infinity, is to be forever approached but never reached.” --Jean Ayres (1972)
---avatar cropped from =AimanStudio---
Back to top
View user's profile Send private message
NathanZachary
Moderator
Moderator


Joined: 30 Jan 2007
Posts: 2504
Location: /home/zach

PostPosted: Thu Sep 03, 2020 2:16 pm    Post subject: Reply with quote

That did it on my machine. I didn't have to adjust my MAKEOPTS, but I did have to unmount /var/tmp/portage (tmpfs) to finish the compilation. Thanks for the suggestions!

Cheers,
Nathan Zachary
_________________
“Truth, like infinity, is to be forever approached but never reached.” --Jean Ayres (1972)
---avatar cropped from =AimanStudio---
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments 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