#10495: chromium-67.0.3396.87
----------------------+------------------------
 Reporter:  bdubbs@…  |       Owner:  blfs-book
     Type:  defect    |      Status:  new
 Priority:  low       |   Milestone:  x-future
Component:  BOOK      |     Version:  SVN
 Severity:  normal    |  Resolution:
 Keywords:            |
----------------------+------------------------

Comment (by cjg):

 This was quite a mission to get to work.  After spending many hours on
 this I have managed to get chromium-70.0.3538.102, to compile and install.

 During the ordeal I have learnt the following:

 First and foremost, do NOT under any circumstances download the source
 tarballs from github.  This is a mirror of googles developer repository,
 and I can state from bitter experience that the tarballs downloaded from
 there are in various states of incompleteness and some have many errors.
 They have mixed beta versions, development versions and just plain junk on
 there.  It was only after two days of constant builds and failures that I
 went back to the search engines and found a site that stated this fact.

 So Ken,  I think you *may* well have downloaded a dodgy version when you
 tried.

 I can confirm that https sites load fine with this version.  I was able to
 log into my internet banking site and https:// on google works fine.

 You can get the source code from:

 http://gsdview.appspot.com/chromium-browser-
 official/chromium-70.0.3538.102.tar.xz

 To check which version is the latest stable:

 https://omahaproxy.appspot.com/

 There are a number of things that need to be done to get this beast to
 work, so I am going to be posting everything that I did for *this*
 particular tar ball release.

 Debian have about 44 patches for this latest release, but I have not used
 the debian patches at this stage as I wanted to test with as few changes
 as possible.

 Below is what I have done to get things working:

 1) Go to:

 https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files

 download chromium-70-gcc-0.patch, chromium-70-gcc-1.patch,
 chromium-70-gcc-2.patch, chromium-pdfium-stdlib-r0.patch, chromium-
 widevine-r2.patch, chromium-widevine-r3.patch and apply them to the
 sourcecode.

 2) edit tools/gn/bootstrap/bootstrap.py and remove:

   if not options.with_sysroot:
     cmd.append('--no-sysroot')

 This has to be done, otherwise you will get an error and the build will
 stop before it even got started.

 3)  I had to modify the commands from the book in an attempt to get away
 from an issue with pstables.h.  Basically I have allowed chromium to build
 its own internal versions of freetype and harfbuzz.

 for LIB in flac libjpeg            libjpeg_turbo libwebp libxslt yasm; do
 find -type f -path "*third_party/$LIB/*"              \! -path
 "*third_party/$LIB/chromium/*"           \! -path
 "*third_party/$LIB/google/*"             \! -path
 "*base/third_party/icu/*"                \! -path
 './third_party/yasm/run_yasm.py'         \! -regex
 '.*\.\(gn\|gni\|isolate\|py\)'  -delete; done

 Then:

 The remainder of that block of book instructions remains the same.

 My GN CONFIG line looks like:

 GN_CONFIG=('google_api_key="AIzaSyDxKL42zsPjbke5O8_rPVpVrLrJ8aeE9rQ"'
 
'google_default_client_id="595013732528-llk8trb03f0ldpqq6nprjp1s79596646.apps.googleusercontent.com"'
 'google_default_client_secret="5ntt6GbbkjnTVXx-MSxbmx5e"'
 'clang_use_chrome_plugins=false' 'enable_hangout_services_extension=true'
 'enable_nacl=false' 'enable_nacl_nonsfi=false' 'enable_swiftshader=false'
 'enable_widevine=true' 'fatal_linker_warnings=false'
 'ffmpeg_branding="Chrome"' 'fieldtrial_testing_like_official_build=true'
 'is_debug=false' 'is_clang=false' 'link_pulseaudio=true'
 'linux_use_bundled_binutils=false' 'proprietary_codecs=true'
 'remove_webcore_debug_symbols=true' 'symbol_level=0'
 'treat_warnings_as_errors=false' 'use_allocator="none"' 'use_cups=true'
 'use_gconf=false' 'use_gnome_keyring=false' 'use_gold=false'
 'use_gtk3=true' 'use_kerberos=true' 'use_pulseaudio=true'
 'use_sysroot=false' 'pdf_is_complete_lib=true')

 Notice that there is a new addition to this block, namely
 pdf_is_complete_lib=true has to be added to the build instructions now, as
 it will happily build through the source code and then fail at the linking
 stage.  It took me hours to find the solution to that one.

 The actual ninja build line needs to be changed as well:

 ninja -C out/Release chrome chrome_sandbox chromedriver

 is what is now required.  This is in line with what the other distros like
 slackware and arch have done.  I have not installed widevine at this
 stage.  I did not see the need to actually add more
 time to things if the browser itself was going to fail to load https://
 sites.

 I have not added the patch that the book had for the old chromium build.

 In order to silence those compiler warnings that are only good to those
 working on the code itself, adding the following works:

 CFLAGS+='-w'
 CXXFLAGS+='-w'

 It is a lowercase w and that will suppress all the warning messages from
 flooding your screen when compiling.

 I will also note that during this, as with webkit before, on an amd64
 system with a cpu of 6 real cores, and 8gig of ram, I HAD to use ninja -j5
 to stop it slowing to a snails pace and timing out.

 The debian patches will probably be worth looking at, as they address
 using system icu and other system libraries.

 http://deb.debian.org/debian/pool/main/c/chromium-browser/chromium-
 browser_70.0.3538.102-1.debian.tar.xz

 Of the gentoo patches, the two widevine patches are required.  I used
 those patches instead of the sed block in the book instructions.

 One of those gcc patches has 30 additions, so that patch would be needed
 to be added.  The other patches could be made into sed's.

 I will be redoing the build and seeing if the other system patches work.
 This information at least shows that the latest chromium does indeed now
 work.

 Regards,

 Christopher.

--
Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/10495#comment:17>
BLFS Trac <http://wiki.linuxfromscratch.org/blfs>
Beyond Linux From Scratch
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to