Google Chrome et Gentoo

Ma douce et tendre testant Seven (Oui Madame n'est pas une Linuxienne) je lui ai suggéré d'essayer Google Chrome, depuis elle ne le lache plus. Ayant moi aussi Seven sur une machine (Bah oui faut bien se tenir au courant des technologies :p), j'ai donc aussi installé Chrome, et j'attendais avec impatience la version Linux.

Eh bien la version bêta viens de tomber !

Premierement il faut installer “deb2targz”

~ # eix deb2targz
[I] app-arch/deb2targz
     Available versions:  1
     Installed versions:  1(11:43:52 06/05/09)
     Homepage:            http://www.miketaylor.org.uk/tech/deb/
     Description:         Convert a .deb file to a .tar.gz archive

~ # emerge -av deb2targz

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] app-arch/deb2targz-1  0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No] 

Ensuite l'on se rend sur la page de developpement de Google Chrome se trouvant a cette adresse, l'on récupère la version qui nous interesse (32 ou 64bit) et l'on convertit le .deb en .tar.gz avec deb2targz

~/Desktop $ deb2targz google-chrome-unstable_current_i386.deb 
deb2targz: converting 'google-chrome-unstable_current_i386.deb' ...
deb2targz: skipping section 'debian-binary'
deb2targz: skipping section 'control.tar.gz'
deb2targz: wrote 'google-chrome-unstable_current_i386.tar.gz'

“yapuka” decompresser le contenu du .tar.gz à la racine

/ # tar -zxvf /home/kathryl/Desktop/google-chrome-unstable_current_i386.tar.gz -C /
./
./opt/
./opt/google/
./opt/google/chrome/
./opt/google/chrome/locales/
./opt/google/chrome/locales/en-US.pak
./opt/google/chrome/themes/
./opt/google/chrome/themes/default.pak
./opt/google/chrome/chrome
./opt/google/chrome/chrome.pak
./opt/google/chrome/resources/
./opt/google/chrome/resources/inspector/
[...]
./opt/google/chrome/resources/inspector/Images/
[...]
./opt/google/chrome/product_logo_16.png
./opt/google/chrome/product_logo_256.png
./opt/google/chrome/product_logo_32.png
./opt/google/chrome/product_logo_48.png
./opt/google/chrome/google-chrome
./opt/google/chrome/google-chrome.desktop
./usr/
./usr/bin/
./etc/
./etc/cron.daily/
./etc/cron.daily/google-chrome
./usr/bin/google-chrome

Les plus prudent auront bien entendu regarder le contenu avant de decompresser, mais il n'y a pas mort d'homme, on ira juste jeter un oeil au cron rajouté par méfiance.

Mais bon ce n'est pas tout mais le binaire a des besoins bien spécifique, premierement il faut un GCC supérieur ou égal a la 4.2 et des librairies spécifique.

~ $ ldd /opt/google/chrome/chrome
/opt/google/chrome/chrome: /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /opt/google/chrome/chrome)
        linux-gate.so.1 =>  (0xffffe000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7b9d000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7b19000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7afe000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7ae6000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7adc000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7aa0000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb7a3e000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7a03000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb79fe000)
        libdl.so.2 => /lib/libdl.so.2 (0xb79fa000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb792d000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7928000)
        librt.so.1 => /lib/librt.so.1 (0xb791e000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7835000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb782c000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb781d000)
        libnss3.so.1d => not found
        libnssutil3.so.1d => not found
        libsmime3.so.1d => not found
        libssl3.so.1d => not found
        libplds4.so.0d => not found
        libplc4.so.0d => not found
        libnspr4.so.0d => not found
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7804000)
        libm.so.6 => /lib/libm.so.6 (0xb77de000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb77b4000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7732000)
        libgconf-2.so.4 => /usr/lib/libgconf-2.so.4 (0xb7708000)
        libasound.so.2 => /usr/lib/libasound.so.2 (0xb765b000)
        libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libstdc++.so.6 (0xb7578000)
        libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 (0xb756d000)
        libc.so.6 => /lib/libc.so.6 (0xb743d000)
        libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb7439000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb7435000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb742f000)
        libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0xb73d0000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb73a8000)
        libz.so.1 => /lib/libz.so.1 (0xb7395000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb7391000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0xb7388000)

On commence donc par GCC

~ # eix sys-devel/gcc
[U] sys-devel/gcc
     Available versions:  
        (2.95)  2.95.3-r9 ~2.95.3-r10
        (3.1)   3.1.1-r2
        (3.2)   **3.2.2 3.2.3-r4
        (3.3)   ~3.3.6-r1
        (3.4)   3.4.6-r2
        (4.0)   ~*4.0.4
        (4.1)   4.1.2
        (4.2)   ~4.2.4-r1
        (4.3)   4.3.2-r3 ~4.3.2-r4 ~4.3.3-r2
        (4.4)   [M]~4.4.0
        {altivec bootstrap boundschecking build d doc fixed-point fortran gcj graphite gtk hardened ip28 ip32r10k java libffi mudflap multilib multislot n32 n64 nls nocxx nopie nossp objc objc++ objc-gc openmp static test vanilla}
     Installed versions:  4.1.2(4.1)(17:47:28 11/13/08)(fortran mudflap nls -altivec -bootstrap -build -d -doc -gcj -gtk -hardened -ip28 -ip32r10k -libffi -multilib -multislot -n32 -n64 -nocxx -objc -objc++ -objc-gc -test -vanilla)
     Homepage:            http://gcc.gnu.org/
     Description:         The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking

C'est partit !

 
~ # emerge -av gcc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  NS   ] sys-devel/gcc-4.3.2-r3 [4.1.2] USE="fortran mudflap nls openmp (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -gtk (-hardened) -ip28 -ip32r10k -libffi (-multilib) -multislot (-n32) (-n64) -nocxx -nopie -objc -objc++ -objc-gc -test -vanilla" 0 kB

Total: 1 package (1 in new slot), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No]

On va prendre un café pendant ce temps …

Une fois votre café coulé et bu, il faudra appliquer (voir emerger) quelque librairie NSS et NSPR

 
[U] dev-libs/nss
     Available versions:  3.11.9-r1 3.12.2 (~)3.12.3 {utils}
     Installed versions:  3.12(17:09:59 10/03/08)(-utils)
     Homepage:            http://www.mozilla.org/projects/security/pki/nss/
     Description:         Mozilla's Network Security Services library that implements PKI support

 ~ # eix nspr    
[U] dev-libs/nspr
     Available versions:  4.6.8 4.7.3 4.7.4 {debug ipv6}
     Installed versions:  4.7.1(17:07:40 10/03/08)(-debug -ipv6)
     Homepage:            http://www.mozilla.org/projects/nspr/
     Description:         Netscape Portable Runtime

Mais les noms n'étant pas techniquement les mêmes on va être gentil et lui linker

~ # ln -s /usr/lib/nss/libnss3.so /usr/lib/libnss3.so.1d
~ # ln -s /usr/lib/nss/libnssutil3.so /usr/lib/libnssutil3.so.1d
~ # ln -s /usr/lib/nss/libsmime3.so /usr/lib/libsmime3.so.1d
~ # ln -s /usr/lib/nss/libssl3.so /usr/lib/libssl3.so.1d
~ # ln -s /usr/lib/nspr/libplds4.so /usr/lib/libplds4.so.0d
~ # ln -s /usr/lib/nspr/libplc4.so /usr/lib/libplc4.so.0d
~ # ln -s /usr/lib/nspr/libnspr4.so /usr/lib/libnspr4.so.0d

Et une fois qu'on a fait tout ça a la main, une fois qu'on a recompilé GCC, écrit cet article, on s'apercoit que …

~ # eix chromium-bin
* www-client/chromium-bin
     Available versions:  ~0_p17395 [M]~9999
     Homepage:            http://code.google.com/chromium/
     Description:         Open-source version of Google Chrome web browser

“Vie de Merde” ^^

Discussion

Entrer votre commentaire
 
blog/google_chrome_et_gentoo.txt · Dernière modification: Tuesday 07 July 2009 par kathryl
Flux RSS du Blog Driven by DokuWiki Gentoo Powered Valid XHTML1.0 Powered by Apache PHP Powered Coffee Powered