site  contact  subhomenews

Chromium almost compiled fails last link step

September 27, 2021 — BarryK

Continuing the saga, previous blog post:

I have got it to compile, but is failing at the final link step. This is the killer -- a zillion object files have to be combined into a big final executable. I watched the hard drive thrashing for about 3 hours, before doing a CTRL-C.

Have had this situation before. The solution then, as it will be this time, is more RAM. It is the swap partition on the HDD that is getting thrashed. My PC has 8GB RAM, and I think I read the Chromium docs that is enough, but, it seems not.

Earlier this afternoon, the final link step failed with:

obj/device/gamepad/libdevice_gamepad.a: error adding symbols: malformed archive

A bit of research, found that this is because the limit of open file descriptors has been reached, so I did this to increase the limit:

# ulimit -n 4096

Then attempted the final link step again. Waited over 3 hours, finally stopped it.

So, a choice here. I do have an old PC with 16GB RAM. It was my workhorse before purchasing the Lenovo Ideacentre -- early 2020. It has been sitting under my desk gathering cobwebs. Or, increase the RAM in the Lenovo.

Two things that will interest Puppy Linux people...

Firstly, have got rid of that very annoying message that comes up when you run Chromium with the "--no-sandbox" option. In EasyOS, if Chromium is run inside a container, it is already a sandbox, "crippled root", and do not want that message coming up. This is how the warning message is removed:

# sed -i -e 's%ShowBadFlagsInfoBar(web_contents%// ShowBadFlagsInfoBar(web_contents%' chrome/browser/ui/startup/

Secondly, I have created a "chromium-project" folder with everything in it for compiling chromium. It will ship as a tarball, you open it up, then run 5 scripts in sequence. End result, you have a compiled Chromium.

Well not quite everything. The first script downloads the chromium source.

Compiling it yourself has advantages, compared with using the official builds. It is linked with the libraries in your OS, so completely compatible. You can make configuration choices, such as alsa instead of pulseaudio.

Anyway, getting a bit ahead of myself. First, have to get past that final link step.  

Tags: easy