# Ricompilazione Webkit-gtk lunghissima come sempre!!!

## saverik

Salve a tutti,

come sempre appena faccio l'aggiornamento del @world la compilazione di webkit-gtk  12.15.5 impiega piu' della ricompilazione di tutto il sistema..(stiamo parlando di 6 ore soltanto per webkitgtk). 

Il mio sistema era fermo ad Agosto 2016.

ma ogni volta che aggiorno o si ricompila webkitgtk succede la stessa cosa...

Suggerimenti?

----------

## fedeliallalinea

Questa e' la mio history sul pacchetto

```
# qlop -l | grep webkit-gtk

Fri Jul 18 01:19:44 2014 >>> net-libs/webkit-gtk-2.2.6

Tue Sep  9 14:55:07 2014 >>> net-libs/webkit-gtk-2.4.4

Fri Jun 19 08:45:14 2015 >>> net-libs/webkit-gtk-2.4.8

Tue Jul  7 10:04:01 2015 >>> net-libs/webkit-gtk-2.4.9

Tue Aug 25 08:03:50 2015 >>> net-libs/webkit-gtk-2.4.9

Thu Jul 21 08:19:32 2016 >>> net-libs/webkit-gtk-2.4.11-r200

Thu Sep  8 08:05:35 2016 >>> net-libs/webkit-gtk-2.4.11-r200
```

----------

## sabayonino

```
# genlop -e webkit-gtk

 * net-libs/webkit-gtk

     Mon May 30 23:09:55 2016 >>> net-libs/webkit-gtk-2.4.10-r200

     Mon May 30 23:56:39 2016 >>> net-libs/webkit-gtk-2.10.9

     Tue May 31 22:29:50 2016 >>> net-libs/webkit-gtk-2.4.10-r200

     Tue May 31 23:12:22 2016 >>> net-libs/webkit-gtk-2.10.9

     Sun Aug 14 13:59:15 2016 >>> net-libs/webkit-gtk-2.4.11-r200

     Tue Oct  4 18:41:41 2016 >>> net-libs/webkit-gtk-2.12.5

     Fri Dec  9 21:59:30 2016 >>> net-libs/webkit-gtk-2.12.5

     Fri Dec  9 22:58:24 2016 >>> net-libs/webkit-gtk-2.4.11-r200

     Tue Dec 13 15:04:21 2016 >>> net-libs/webkit-gtk-2.12.5

     Wed Jan 18 21:31:30 2017 >>> net-libs/webkit-gtk-2.4.11-r200

     Wed Jan 18 22:22:22 2017 >>> net-libs/webkit-gtk-2.12.5
```

```
# genlop -i webkit-gtk

 * net-libs/webkit-gtk

   Total builds: 11

   Global build time: 8 hours, 22 minutes and 44 seconds.

   Average merge time: 45 minutes and 42 seconds.

   Info about currently installed ebuild:

   none installed.

```

su 

model name      : Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz

compilato tutto in RAM

----------

## fedeliallalinea

Dai un post a chi ce l'ha piu' veloce   :Laughing:   :Razz: 

```
# genlop -i webkit-gtk 

 * net-libs/webkit-gtk

   Total builds: 7

   Global build time: 2 hours, 55 minutes and 40 seconds.

   Average merge time: 25 minutes and 5 seconds.

   Info about currently installed ebuild:

   none installed.
```

System uname: Linux-4.9.0-gentoo-x86_64-Intel-R-_Core-TM-_i7-4930K_CPU_@_3.40GHz-with-gentoo-2.3

----------

## saverik

EliteBook saverik # genlop -i webkit-gtk

 * net-libs/webkit-gtk

   Total builds: 4

   Global build time: 21 hours, 52 minutes and 3 seconds.

   Average merge time: 5 hours, 28 minutes.

questa è la mia situazione.....

anche io compilo in ram.... forse sbaglio qualcosa...

----------

## fedeliallalinea

No semplicemente hai una cpu meno performante e webkit-gtk e' un pacchetto grosso da compilare

----------

## saverik

questo è il mio fstab :

```
/dev/sda1           /                  ext4       defaults,relatime                    0 1

/dev/sda2               /home              ext4          defaults,relatime                    0 2

tmpfs         /tmp         tmpfs    noatime,nodiratime,size=5G         0 0

tmpfs                   /dev/shm           tmpfs         defaults                             0 0

shm                     /dev/shm           tmpfs         defaults                             0 0

```

va bene per la cpu ma forse il mio fstab non va bene?

ci date una occhiata?  :Laughing:   :Laughing:   :Laughing: 

----------

## sabayonino

hai semplicemente allargato la /tmp

se non hai impostato la tmpdir di portage in /tmp , 

https://wiki.gentoo.org/wiki/Portage_TMPDIR_on_tmpfs

avendo parecchia ram , mi sono sbizzarrito

```
tmpfs                   /var/tmp/portage        tmpfs   uid=portage,gid=portage,mode=0775,size=10G,auto,noatime,nodiratime         0 0

tmpfs                   /home/saba/.cache      tmpfs   size=1G,mode=0777,auto,noatime,nodiratime       0 0

tmpfs                   /home/saba/hd-raid/boinc/slots tmpfs   size=1G,mode=0777,noauto,noatime,nodiratime     0 0

```

----------

## fedeliallalinea

Oltre a quello detto da sabayonino stai attento a non riservare troppa ram (con 8GB io ne riserverei al massimo 4G).

Inoltre vedo che non hai creato una partizione di swap, questo puo' causare dei out of memory visto che il sistema se non riesce a liberare ram iniziera' a fare il kill dei processi.

Chiaro che questo avverra' solo se la macchina e' sovraccaricata.

----------

## saverik

quindi fino ad adesso, se ho capito bene, non ho mai compilato in ram?

Ho modificato il mio fstab in base ai vostri suggerimenti :

```

/dev/sda1           /                  ext4       defaults,relatime                    0 1 

/dev/sda2               /home              ext4          defaults,relatime                    0 2 

tmpfs                   /var/tmp/portage        tmpfs   uid=portage,gid=portage,mode=0775,size=4G,auto,noatime,nodiratime    0 0

tmpfs         /tmp         tmpfs    noatime,nodiratime,size=4G         0 0 

tmpfs                   /dev/shm           tmpfs         defaults                             0 0 

shm                     /dev/shm           tmpfs         defaults                             0 0 

```

Tenendo anche conto del mio make.conf : 

```

CFLAGS="-march=corei7-avx -O2 -pipe"

CXXFLAGS="${CFLAGS}"

PORTDIR="/usr/portage"

DISTDIR="${PORTDIR}/distfiles"

PKGDIR="${PORTDIR}/packages"

CHOST="x86_64-pc-linux-gnu"

USE="X -kde -qt4 -gnome -systemd a52 acpi bluetooth cdr consolekit cups dhclient dri dbus jpeg libnotify lock introspection ffmpeg git gtk3 lm_sensors mp3 mp4 mpeg mtp nss sna udev bindist mmx sse sse2 snmp session startup-notification thunar x264 xvmc wext wifi -minimal alsa branding bzip2 bindist cups gzip java introspection ios ipv6  multilib jpeg lock opengl pdf samba ssl session startup-notification thunar udev unicode usb sse sse2 ss3 ssl wifi"

PORTAGE_TMPDIR="/var/tmp"

EMERGE_DEFAULT_OPTS="--autounmask-write"

XDG_CACHE_HOME="/tmp/.cache"

MAKEOPT="-j5"

VIDEO_CARDS="intel"

LINGUAS="it"

INPUT_DEVICES="evdev synaptics mouse keyboard"

ACCEPT_LICENSE="*"

USE_PYTHON="2.7 3.4"

PYTHON_TARGETS="python2_7 python3_4"

XFCE_PLUGINS="brightness clock trash"

L10N="en it"

```

che il mio notebook possiede una ssd da 500 Gb e che lo uso normailmente senza grossi stress, ma ci navigo ascolto musica aggiorno ogni tanto e non compilo i grossi pacchetti ma uso i binari (mi riferisco ai vari Mozilla, Libreoffice etc),pensate che adesso possa andare bene?

(Molto ben  accetti suggerimenti   :Very Happy:   :Very Happy:  )

----------

## sabayonino

per compilare in RAM non basta settare l'fstab.  [EDIT : visto la variabile nel make.conf , mi era sfuggita)

ti ho linkato il wiki di gentoo per i suggerimenti. adattalo alle tue esigenze

per controllare se compili in ram , controlla se il comando "df" ti visualizza correttamente la tmpfs di portage

 controlla in tempo reale mentre compili qualcosa di sostanzioso l'andamento di tmpfs relativo a portage

```
# watch df -hH --type=tmpfs
```

i valori verranno aggiornati ogni 2sec

Es:

```
watch df -Hh --type=tmpfs

File system     Dim. Usati Dispon. Uso% Montato su

tmpfs           3,2G  1,5M    3,2G   1% /run

tmpfs            16G     0     16G   0% /dev/shm

cgroup_root      10M     0     10M   0% /sys/fs/cgroup

tmpfs            10G     0     10G   0% /var/tmp/portage

tmpfs           1,0G     0    1,0G   0% /home/saba/.cache

none             16G     0     16G   0% /run/user/1000

```

se tutto è stato settato correttamente  , vedrai la riga di tmp-portage variare nei valori durante la compilazione.

leggiti bene il wiki perchè alcuni pacchetti richiedono uno spazio di compilazione molto sostanzioso e se hai poca ram , la loro compilazione terminerà con un errore  e dovranno essere settati per la classica compilazione su cache del disco , anzi ti suggerisco di dare una occhiata anche a 

CCACHE  (Wiki non ufficiale (Ex)

(C'è sta cosa che non conoscevo , ma se non sai cosa è lascia perdere,BCACHE (di questa me ne sono accorto ora cercando il link a ccache...  :Very Happy:  )

 :Rolling Eyes: 

Esempio di compilazione di libreoffice in RAM

```
tmpfs            11G  946M    9,8G   9% /var/tmp/portage
```

----------

## saverik

Mi riallaccio alla discussione.

Hai ragione.I valori della riga di tmp-portage variano  durante la compilazione.

```

watch df -Hh --type=tmpfs 

File system     Dim. Usati Dispon. Uso% Montato su 

tmpfs             789M  1,1M    788M     1% /run 

shm               3.9G    15M      3,9G      1% /dev/shm 

cgroup_root   10M     0           10M        0% /sys/fs/cgroup 

tmpfs            3.9G    22M      3,9G       1% /var/tmp/portage 

tmpfs            3.9G    15M      3,9G       1% /tmp

none              3.9G    15M      3,9G        1% /run/user/1003
```

Quindi la compilazione in ram funziona....e quindi la mia cpu è poco performante!!!!!

Per quanto riguarda la cchache me la devo studiare meglio...

Penso proprio che questa discussione sia molto valida e sto pensando di cambiare in titolo in" Tempi lunghi per GTk-webkit e compilazione in ram".

Cosa ne pensate?

 :Very Happy:   :Very Happy: 

----------

