# confcache

## l3u

Da fällt mir doch heute auf, daß es

```
* dev-util/confcache

     Available versions:  ~0.4.2

     Installed:           none

     Homepage:            http://gentooexperimental.org/~ferringb/confcache/

     Description:         global autoconf cache manager
```

gibt! Hat das einer von euch im Einsatz? Funktioniert das? Ist ja echt so, daß die meiste Zeit beim Mergen von vielen Paketen für das elende ./configure draufgeht ... wär cool, wenn man sich das (größtenteils) sparen könnt ... was tut das dann genau? Chachet das dann ./configure je für einen Merge-Vorgang oder wie?

----------

## astaecker

Jo, habe ich installiert. Läuft eigentlich ganz gut.

Wie genau die Sache funktioniert, kann dir auch nicht sagen, aber es werden fast alles gecached. Das ist schneller, als wenn er es immer wieder testen müsste, dauert aber immer noch etwas, weil er den Cache durchsuchen muss.

Einfach mal selber ausprobieren. Confcache mergen und FEATURES="confache" in der /etc/make.conf setzen.

----------

## l3u

Das war's? Kein portage patchen, kein was-weiß-ich-was? Nur confache mergen und dann FEATURES="${FEATURES} confcache" in die /etc/make.conf?

----------

## Vla

 *Libby wrote:*   

> Das war's? Kein portage patchen, kein was-weiß-ich-was? Nur confache mergen und dann FEATURES="${FEATURES} confcache" in die /etc/make.conf?

 

Ja, so sollte es funktionieren.

Ich hatte das mal im Einsatz und probleme mit 2-3 Paketen. Ich kann dir schon gar nich mehr sagen, welche das waren, aber falls dann mal bei dir was nich klappt beim emergen, ist diese option deine erste Anlaufstelle.

----------

## fuchur

Hi

 *Libby wrote:*   

> Das war's? Kein portage patchen, kein was-weiß-ich-was? Nur confache mergen und dann FEATURES="${FEATURES} confcache" in die /etc/make.conf?

 

Habe das heute auch einmal installiert. Einfach das "confcache"  bei FEATURES in der make.conf hinzufügen ist ausreichend.

Das beim cachen funktioniert aber nur wenn im ebuild econf zum konfigurieren benutzt wird sollte im ebuild

"./configure" benutzen werden funktioniert es nicht. Zu "./configure" habe ich bei google gefunden 

das man in "/etc/portage/bashrc" 

```

function ./configure() { $CONFCACHE ./configure; }
```

hinzufügen kann damit es auch bei ./configure funktioniert ist aber nur ein "schmutziger hack" habe ich

deshalb auch nicht ausprobiert.

MfG

----------

## Carlo

 *Libby wrote:*   

> Funktioniert das?

 

Jein.

 *Libby wrote:*   

> Das war's? Kein portage patchen, kein was-weiß-ich-was?

 

Sofern du eines der Portage 2.1 Prereleases benutzt, mußt du nicht patchen.

----------

## l3u

Heißt: Finger weg, bis es weiter getestet bzw. besser in portage integriert ist?

----------

## schachti

Der Grund für mich, die Finger davon zu lassen, ist, daß man portage 2.1 braucht, um es direkt nutzen zu können. Und in irgend einem Thread im englischen Forum habe ich gelesen, daß es bei den Testversionen von portage durchaus mal vorkommen kann, daß das Downgrade von der testing auf die stable nicht mehr klappt und dadurch das komplette System ruiniert ist, wenn man mal eine kaputte testing Version einspielt. Keine Ahnung, ob das stimmt, aber im Zweifel bleibe ich bei allen Tools, die für's System wichtig sind (python, portage, gcc, coreutils etc.) bei stable...

----------

## l3u

Is glaub ich besser. Jetzt hab ich's so lange schon ohne ausgehalten, da kommt's dann auf die paar Wochen auch nicht mehr an ;-)

----------

## Carlo

 *Libby wrote:*   

> Heißt: Finger weg, bis es weiter getestet bzw. besser in portage integriert ist?

 

Das Problem sind "inadäquate" configure checks. Entweder müssen die jeweiligen configure Skripte gepatcht werden oder confcache kriegt eine entsprechende Blacklist. Das heißt nicht zwangsläufig Finger weg, sondern es im Falle des Falles mit FEATURES=-confcache nochmal versuchen, damit der Bug Report gleich auf den Punkt kommt. Bei einem emerge -e world kann's natürlich nervig werden...

----------

## Massimo B.

Die docu sagt noch:

```
or pulled from the

env var CONFCACHE_DIR

This var _must_ be specified, it's an error calling confcache without it enabled.
```

Ihr habt keine Variable angelegt? Wo wird der Cache hingespeichert? Ich hätts gern schön neben ccache in /var/cache/.

Die letzte stable version auf PPC ist sys-apps/portage-2.0.54-r2. Damit geht confcache nicht?

Wie groß wird der confcache werden? Hoffentlich nicht annähernd so groß wie ccache.

----------

## _hephaistos_

confcache läuft mit portage 2.1...

<portage-2.1 muss man patchen....

CONFCACHE_DIR="/var/tmp/confcache" kommt nach /etc/make.conf

----------

## Carlo

Mach einfach das Update auf 2.1. Sollte eigentlich nichts passieren.

----------

## Massimo B.

Woran sehe ich, daß confcache arbeitet? ccache -s kann man schön beobachten.

Während Emerge läuft sieht es so aus:

```
marialin confcache # ls -lh

insgesamt 324K

-rw-r--r-- 1 root portage  13K  2. Jun 16:59 config.cache

-rw-r--r-- 1 root portage 352K  2. Jun 16:59 file_md5.db

-rw-r--r-- 1 root portage    2  2. Jun 16:59 version
```

..und im nächsten Moment ist das Verzeichnis wieder leer.

----------

## schachti

 *Carlo wrote:*   

> Mach einfach das Update auf 2.1. Sollte eigentlich nichts passieren.

 

... waren die letzten Worte des Technikers im AKW.   :Twisted Evil: 

Mal im Ernst: Wie gut getestet ist die 2.1 inzwischen? Ist schon absehbar, wann sie stable wird?

----------

## astaecker

 *Quote:*   

> Woran sehe ich, daß confcache arbeitet? ccache -s kann man schön beobachten.

 

Guck dir die einfach das Emergen in der Console an. Du solltest bei fast jedem configure-Check ein "(cached)" dahinter sehen.

 *Quote:*   

> Wie gut getestet ist die 2.1 inzwischen? Ist schon absehbar, wann sie stable wird?

 

Portage 2.1 gibt es schon als 3. RC. Und ein Release Candidate bedeutet normalerweise, dass man nur noch die letzten Bugs austreiben will.

Bei mir läuft es sehr gut (besser und schneller als 2.0.54).

----------

## misterjack

2.1 habe ich auf zwei rechnern seit den PreReleases und es läuft hier top

----------

## Massimo B.

 *arlsair wrote:*   

> Guck dir die einfach das Emergen in der Console an. Du solltest bei fast jedem configure-Check ein "(cached)" dahinter sehen

 Ok, eine Suche nach "cache" bringt z.B.:

```
/usr/bin/confcache --confcache-ignore /var/cache/ccache:/var/tmp/.distcc --confcache-dir /var/cache/confcache ./configure --prefix=/usr --host=powerpc-unknown-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-gif --enable-jpg --disable-tif --enable-png --enable-pnm --enable-bmp --enable-lbm --enable-pcx --enable-tga --enable-xcf --enable-xpm --build=powerpc-unknown-linux-gnu

creating cache config.cache

updating cache config.cache

loading cache config.cache within ltconfig

checking whether make sets ${MAKE}... (cached) yes

checking for gcc... (cached) gcc
```

Scheint also zu arbeiten. Die Größe des Cache verhält sich während des Emerge folgendermaßen:

```
# ls -lh

insgesamt 324K

-rw-r--r-- 1 root portage  13K  2. Jun 16:59 config.cache

-rw-r--r-- 1 root portage 352K  2. Jun 16:59 file_md5.db

-rw-r--r-- 1 root portage    2  2. Jun 16:59 version

# ls -lh

insgesamt 300K

-rw-r--r-- 1 root portage  22K  3. Jun 10:49 config.cache

-rw-r--r-- 1 root portage 336K  3. Jun 10:49 file_md5.db

-rw-r--r-- 1 root portage    2  3. Jun 10:49 version

# ls -lh

insgesamt 220K

-rw-r--r-- 1 root portage  22K  3. Jun 13:32 config.cache

-rw-r--r-- 1 root portage 192K  3. Jun 13:32 file_md5.db

-rw-r--r-- 1 root portage    2  3. Jun 13:32 version
```

..und wird auch manchmal wieder komplett gelöscht. Behält der Cache die Daten nicht über das Emergen hinaus? Wird nur innerhalb eines Pakets gecached?

Was portage 2.1 angeht: Es läuft hier auch sehr gut. Da ich mir aber um die Problematik einer defekten unstable bewußt bin, werd ich wohl von ~ppc auf ppc umsteigen, sobald 2.1 stable ist.

----------

## Massimo B.

Seltsam, daß der cache folder nach jedem ebuild wieder leer ist. Wird nur innerhalb eines ebuilds gecached?

----------

## schrippe

wird denn jetzt nur innerhalb eines ebuilds gecached?

----------

## Treborius

 *schrippe wrote:*   

> wird denn jetzt nur innerhalb eines ebuilds gecached?

 

imho nicht, sondern global, ich seh auch nichts schlimmes an confcache, es können ja nur

die probleme auftreten, mit denen man als gentoo user eh zu tun hat.

und mal confcache ausschalten ist ja nicht das problem.

ich finde confcache nur nett, weil ich das nichtmehr sehen konnte

checking size of int... (cached) 4

----------

## schachti

Bei mir läuft's inzwischen recht gut mit confcache, nur die ~x86 Versionen der xine-lib weigern sich regelmäßig, mit FEATURES="confcache" zu kompilieren.

----------

## l3u

Seit portage-2.1 benutz ich hier confcache und kann nicht klagen! Feine Sache das Ganze! Das hatt ich mir schon gewünscht, als ich damals mit Gentoo angefangen hab ;-)

----------

## Finswimmer

 *schachti wrote:*   

> Bei mir läuft's inzwischen recht gut mit confcache, nur die ~x86 Versionen der xine-lib weigern sich regelmäßig, mit FEATURES="confcache" zu kompilieren.

 

Bei mir gings heute morgen ohne Probleme: 

* media-libs/xine-lib

     Available versions:  1.1.1-r3 1.1.2_pre20060328-r9 ~1.1.2_pre20060328-r11 1.1.2_pre20060606-r2

     Installed:           1.1.2_pre20060606-r2

FEATURES="fixpackages parallel-fetch confcache"

Tobi

----------

## brot

bringt confcache eigentlich auch was, wenn ccache auch noch mit an is, oder cached ccahce eh alles, und somit auch die configure.c ?

----------

## l3u

Ich denk mal, ccache cachet nur das kompilierte Zeugs und nicht die config.

----------

## Sourcecode

 *brot wrote:*   

> bringt confcache eigentlich auch was, wenn ccache auch noch mit an is, oder cached ccahce eh alles, und somit auch die configure.c ?

 

ccache cached nur sourcecode der kompiliert wird.

confcache speichert die Configure Anfragen die jedesmal fürs System abgefragt werden z.b Size of int etc.

Jau das bringt was, ich nutze ccache+confcache mit Portage 2.1-r1 und es lüppt super!

----------

## schachti

Hmm, seit ein paar Tagen ist confcache maskiert - scheint wohl doch nicht so toll zu funktionieren?

----------

## Massimo B.

Hm, Tatsache. Müsste es dann nicht deinstalliert werden beim emerge update?

Also hier läufts gut, es ist zumindest der richtige Ansatz, so ein Tool war mal nötig.

Wenns Probleme gibts, muss ich es halt abschalten. Muss eh öfte rmal mit den CFLAGS wechseln, wenns Fehler regnet.

z.B. kann wget nicht mit confcache emerged werden zur Zeit.

----------

## misterjack

 *paoleela wrote:*   

> Müsste es dann nicht deinstalliert werden beim emerge update?

 

Nope, emerge deinstalliert nie ohne ein gesetztes -C oder --depclean. emerge beschwert sich lediglich, dass die betreffenden pakete entweder nicht existieren oder gemasked sind. müsste aber auffallen bei einem emerge -pvuD world  :Wink: 

naja mache grad ein emerge -e world mit aktivierten confcache. dank mymerge ratterts bis zum schluß durch und gibt mir die fehlgeschlagenen pakete aus. mal sehen, was von 969 paketen übrig bleibt  :Wink:  dazu mehr in drei tagen

----------

## Massimo B.

Ich sehe emerge schonmal ein altes Paket deinstallieren, wenn das neue installiert wurde.

3 Tage ist gut, das würde bei mir länger dauern.

Wo finde ich dieses mymerge? eix kennt es nicht.

----------

## chrib

 *paoleela wrote:*   

> Ich sehe emerge schonmal ein altes Paket deinstallieren, wenn das neue installiert wurde.

 

Klar, weil portage ja das komplette Paket ausgetauscht hat und das alte halt deinstalliert (kann man aber auch abstellen).

Wird hingegen ein Paket nachträglich gemasked, so deinstalliert Portage von sich aus das Paket nicht.

----------

## misterjack

 *paoleela wrote:*   

> Ich sehe emerge schonmal ein altes Paket deinstallieren, wenn das neue installiert wurde.
> 
> 3 Tage ist gut, das würde bei mir länger dauern.
> 
> Wo finde ich dieses mymerge? eix kennt es nicht.

 

mymerge haste ja schon gefunden -> Hier. Strikt gesehen hast du Recht, aber normal betrachtet ist das Updaten  :Wink: 

----------

## Carlo

 *schachti wrote:*   

> Hmm, seit ein paar Tagen ist confcache maskiert - scheint wohl doch nicht so toll zu funktionieren?

 

Jein. Zum einen wären da Bugs, wie z.B. bug 136798, aber der wesentliche Punkt ist, daß confcache nicht mit Compilerupdates bzw. wechselnder Compilernutzung klarkommt: bug 135252. D.h. derzeit muß der Cache manuell gelöscht werden.

----------

## schachti

Danke für den Hinweis, ich hab's erstmal wieder runtergeschmissen.

----------

## Sourcecode

...also ich hab confcache nachwievor im Einsatz (ist aber auch nur die Workstation  :Wink:  ) und keine Probleme ausmachen können...

Ausser das bestimmte Apps sich damit nicht kompillieren lassen ( bei mir hat nur xine-lib probleme gemacht, da musste ich confcache deaktivieren)

*  media-libs/xine-lib

      Latest version available: 1.1.2_pre20060328-r9

      Latest version installed: 1.1.2_pre20060328-r9

----------

## l3u

Ich hatt bisher noch gar keine Probleme damit ... aber sinnvoll wäre sicher, für jede Compiler-Version einen eigenen Cache zu führen. Demnächst werden die Probleme sicher gelöst :-)

----------

