Wow. All this time Google had me believing that Chrome was lighter and smaller than Firefox. I had to go check on my Ubuntu system before I really believed it: Firefox fits everything into a 29Mb directory, while the Chromium executable by itself is over 50Mb.
I probably won't try Chrome on LFS, but thanks very much all the same. (I am now looking at Midori as a lightweight alternative to Chrome: < http://www.twotoasts.de/index.php?/pages/midori_summary.html>) William Tracy [email protected] Cell phone: (805) 704-0917 Internet phone: (707) 206-6441 On Mon, Jan 2, 2012 at 8:23 PM, <[email protected]> wrote: > > > Greetings, > > > > > I somehow managed to build google's Chrome browser the BLFS-way at the end > of > last year (a long time ago :). > > The starting point for help and enlightenment is obviously "The Chromium > Projects", > 'dev.chromium.org/developers/how-tos/get-the-code'. > > However, my overall build process didn't always go smoothly so I thought > maybe some of > these modest notes below might be of help for other adventurous souls who > live life in the fast > lane while always staying on the cutting edge. > > -- You NEED > > 1. Firefox 9.0.1 (9.0 if you are a mac user :) > Why: to download the Chrome tarball :) > > 2. the Chrome browser. > Why: to get with the program. > According to the latest news, Chrome has overtaken Firefox as no 2 browser > and > is in hot pursuit of IE (well, maybe not so hot, but the fateful 2025 is > looming ever closer). > > So let's get to the nitty-gritty! > > -- DETAILS (steps, pointers, etc.) > > 1. As noted above, the basic build instructions are at the above URL. > >From there you can spread your sights and knowledge left and right, up and > down. Including the download link. > > First you download the tarball (about >= 1.2 GB). On a lousy DSL line like > mine that means long, joyful, uninterrupted hours of watching football. > > The tarball has a name like, r116078, which shows the latest development > revision from which it was made. > This is important because you are strongly urged to update the resulting > tree > to the latest release before starting the build. The development, as you > will > notice at the end of one of the links out there, runs fast and furious. > (See below for the update how-to.) > > Untar it somewhere. Carefully, especially as to the location. Unprivileged. > > For personal reasons (whim), I rooted my decompressed Chrome tarball tree > in > 'usr/local/chromium'. > The actual root is located at the only subdirectory of > 'usr/local/chromium': > 'src'. > The whole tree takes up about 7 GB. The 'chrome' subdirectory weighs in at > about 0.6 GB. > (the build, when subdirectory 'out' is created, adds another half a gig > to the whole "mozilla".) > > 2. Before you start, you must also download a set of "tools": > /usr/local/depot_tools' (in my case.) > Small, trivial, a non-event (compared to the tarball download and its > unpacking at step 1. above) > > According to documentation, > "Chromium uses a package of scripts, the "depot_tools", to manage > interaction > with the Chromium source code repository and the Chromium development > process." > > > Most important tool (app) therein is 'gclient' (IMHO). > The good (?) thing, "depot_tools" are updated automatically and > periodically > (like when you run 'gclient' - again, see below) > > 3. Google uses (for reasons of their own) a project (version) control > method > which to me sounds like a dialect of "Subversion". > > To update your tree to the latest revision before your actual build > (strongly > recommended) you run something like, > gclient sync' > This make take a while depending on how behind you are and how busy they > were. > > To check out Chromium you type: > 'gclient config <URL_of_Chromium_svn>' > They recommend to start with the tarball and then to update it (fully or > partially), i.e., avoid this kind of full checkout. > > 4. Google uses (again, for reasons of their own) a "configure" procedure > called 'gyp_chromium' (this app is in the main tree; not in "tools"). > > The "in" files are called "*.gyp" and are all over the place (and updated > as > part of the update process; hence, another reason to be up-to-date). > The "out"s (i.e. the resulting "Makefiles") are called "*.mk". > I suppose you can futz around with the gyps, if you so desire (and need). > Personally, I let them be for this, my first build. > > Running 'gyp_chromium' is another non-event, about half a min. or so. > > 5. Now, finally, to the BIG 'make' EVENT. > > To create the "chrome" browser, you basically just type > make chrome # add "Release" or "Debug" depending on your goals in life. > > If successful, after about 90 min. you end up with a lovely new born (to > enhance the celebratory mood of the New Year's Eve party): > > alex[/usr/local/chromium/src]% ls -og out/Release/chrome > -rwxr-xr-x 1 78790552 2011-12-31 19:41 out/Release/chrome > > -- Additional NOTES > > 6. There's no install step ('make install' or some such). This is it. > What you find at 5. above is THE executable, so you deal with it > accordingly. > > 7. Chrome (Chromium) is very fussy about privileges (no root, please) and > gets very happy when it finds your system in a clean, up-to-date state. > > My GUESS here, before you attempt the build, you're supposed(?) to run a > "dummy", test 'chrome' executable: > > alex[] ls -og > > /usr/local/chromium/src/chrome/tools/test/reference_build/chrome_linux/chrome > -rwxr-xr-x 61576000 ... > > which is distributed (as a courtesy? ) as part of the main tarball. > > 7a. If you run it in graphics mode (X11), it looks like a full-fledged > chrome > browser (build 89207 - as opposed to 115909, my "real" build), so you can > see > what to expect (or give up on building your own and use this demo build as > a > binary distribution - like for Ubuntu, and thereby express one more time > your > hate of and disdain for Micro$oft) > > > 7b. If run in command mode (like where you'd attempt your build), it > appears > to display its gripes about what's inadequate with your system, such as old > and/or missing libraries, packages and the like. > The corollary, if the output is not "clean" (clean = no ugly message > beyond the expected "cannot open display"), first do some work and > straighten > up your system until you feel you can fly right. > > -- TODO (as they say) > > 8. After the party music dies down, I'll play a little bit with the new > browser, to get the hang of it; it appears to use a somewhat different > paradigm (I like this word no end. I don't know exactly what is means, but > I > feel it adds a sorely needed touch of class to this post) which may > require a > little getting used to. > > 9. This I feel is very important and higher priority. > On the same machine, a Firefox build/install takes no more than ~ 35 min. > My chrome build was, like I said, 90 min. or so. A lot of bloat? > (I'm fully aware, _my_ bloat is somebody else's freedom fighter - but still > and all ...). > > Most likely, there's plenty of stuff in there I will never need. > With Firefox one uses those "--with"s and "--disable"s and you feel like > you're in control. > Here, without some different human intervention, 'make' traverses the > whole tree > you throw at it unimpeded and builds everything in sight with great gusto. > I've been left with the uneasy feeling I compiled into this executable even > Larry Page's kitchen sink. > > At the very least I might try to prune the tree to the bare necessities. > Playing with them gyp files shouldn't be a bad idea either, I figure. > > Wishing everybody einen guten Rutsch ins neue Jahr, > -- Alex > -- > http://linuxfromscratch.org/mailman/listinfo/blfs-support > FAQ: http://www.linuxfromscratch.org/blfs/faq.html > Unsubscribe: See the above information page >
-- http://linuxfromscratch.org/mailman/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
