# [emerge] consolekit echoue (Résolu)

## tupac_csg

Salut tous le monde

je viens de terminer l'installation d'une nouvelle Gentoo et voulant emerger xorg-server , la compilation du paquet consolekit echoue TOUJOURS, j'ai essayé la 0.2.3 la 0.2.10 et la 0.3.0 en ~x86 mais le probléme reste le méme 

je vous poste les derniére ligne de l'erreur ( et ca a été difficle de reorganiser les lignes sous MS Notepad )

```

1  i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I. -I. -pthread -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DPREFIX=\"/usr\" -DBINDIR=\"/usr/bin\" -DLIBDIR=\"/usr/lib\" -DLIBEXECDIR=\"/usr/libexec\" -DDATADIR=\"/usr/share\" -DSYSCONFDIR=\"/etc\" -DLOCALSTATEDIR=\"/var/lib\" -DCONSOLE_KIT_PID_FILE=\"/var/run/consolekit.pid\" -Wall -Wmissing-prototypes -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DDBUS_VERSION_MAJOR=1 -DDBUS_VERSION_MINOR=2 -DDBUS_VERSION_MICRO=3 -O2 -march=i686 -pipe -MT ck-sysdeps-unix.lo -MD -MP -MF .deps/ck-sysdeps-unix.Tpo -c ck-sysdeps-unix.c  -fPIC -DPIC -o .libs/ck-sysdeps-unix.o

2 In file included from ck-sysdeps-unix.c:35:

3 /usr/include/linux/kd.h:122: error: expected ':', ',', ';', '}' or '__attribute__' before 'struct'

4make[4]: *** [ck-sysdeps-unix.lo] Error 1

5make[4]: Leaving directory `/var/tmp/portage/sys-auth/consolekit-0.2.10/work/ConsoleKit-0.2.10/src'

6make[3]: *** [all-recursive] Error 1

7make[3]: Leaving directory `/var/tmp/portage/sys-auth/consolekit-0.2.10/work/ConsoleKit-0.2.10/src'

8make[2]: *** [all] Error 2

9make[2]: Leaving directory `/var/tmp/portage/sys-auth/consolekit-0.2.10/work/ConsoleKit-0.2.10/src'

10make[1]: *** [all-recursive] Error 1

11make[1]: Leaving directory `/var/tmp/portage/sys-auth/consolekit-0.2.10/work/ConsoleKit-0.2.10'

12 make: *** [all] Error 2

 *

13 * ERROR: sys-auth/consolekit-0.2.10 failed.

14 * Call stack:

15 *               ebuild.sh, line   49:  Called src_compile

16 *             environment, line 2994:  Called die

17 * The specific snippet of code:

18 *       emake || die "emake failed"

19 *  The die message:

20 *   emake failed

```

merci de m'aiguiller.Last edited by tupac_csg on Wed Apr 01, 2009 3:52 pm; edited 1 time in total

----------

## boozo

'alute 

semble être un bug qui devait être fixé en 0.2.10...   :Rolling Eyes: 

A voir donc et à réouvrir si besoin

Edit : Arf nan ! trop vite - c'est pas exactement le même dsl ; c'est le kd.h qui cloche chez toi

----------

## tupac_csg

Merci pour votre reponse 

effectivement, j'ai vu ce bug sur bugzilla, c'est pour cela que j'ai essayé consolekit-0.3.0 mais le méme probléme persiste pour les 3 versions.

Merci de m'aider parce que sans ca je ne peux rien faire ( c'est une machine desktop donc xorg oblige )

----------

## tupac_csg

Salut

Mon probléme persiste toujours , j'ai pensé a installer consolekit a la mano (si ca reussit ), mais pour cela il faut faire croire a emerge qu'il est déja installé pour ne pas qu'il essaie de le reinstaller 

une manip pareille est-elle possible ?

Merci

----------

## yoyo

 *tupac_csg wrote:*   

> Salut
> 
> Mon probléme persiste toujours , j'ai pensé a installer consolekit a la mano (si ca reussit ), mais pour cela il faut faire croire a emerge qu'il est déja installé pour ne pas qu'il essaie de le reinstaller 
> 
> une manip pareille est-elle possible ?
> ...

 Bonjour,

Oui la manip est possible, voir l'option "inject" du manuel d'emerge (enfin maintenant il y a peut-être un fichier "/etc/portage/packages.inject" ou équivalent ...). Mais ça n'est pas très propre ...

Essaie de voir si tu peux récupérer un paquet précompilé pour ton architecture (appel à âme charitable ayant le même CHOST et march ! Un simple "quickpkg consolekit" fera l'affaire) et installe-le avec un "emerge -K1 consolekit" ça sera plus propre.

Enjoy !

PS : sur le fonctionnement de cet outil : http://linuxfr.org/forums/47/24754.html.

EDIT : Merci pour la correction K_S !!!   :Very Happy: 

----------

## kernelsensei

Ce dont parle Yoyo c'est le fichier /etc/portage/profile/package.provided

Voilà ce que dit la manpage de portage concernant son utilisation :

```

              package.provided

                     A  list  of  packages  (one per line) that portage should assume have been provided.  Useful for porting to non-Linux systems. Basically, it's a list that

                     replaces the emerge --inject syntax.

                     For example, if you manage your own copy of a 2.6 kernel, then you can tell portage that 'sys-kernel/development-sources-2.6.7' is already taken  care  of

                     and it should get off your back about it.

                     Portage  will  not  attempt  to update a package that is listed here unless another package explicitly requires a version that is newer than what has been

                     listed. Dependencies that are satisfied by package.provided entries may cause installed packages satisfying  equivalent  dependencies  to  be  removed  by

                     emerge(1) --depclean actions (see the ACTIONS section of the emerge(1) man page for more information).

                     Virtual  packages  (virtual/*)  should not be specified in package.provided.  Depending on the type of virtual, it may be necessary to add an entry to the

                     virtuals file and/or add a package that satisfies a virtual to package.provided.

                     Format:

                     - comments begin with # (no inline comments)

                     - one DEPEND atom per line

                     - relational operators are not allowed

                     - must include a version

                     Example:

                     # you take care of the kernel

                     sys-kernel/development-sources-2.6.7

                     # you installed your own special copy of QT

                     x11-libs/qt-3.3.0

                     # you have modular X but packages want monolithic

                     x11-base/xorg-x11-6.8

```

----------

## tupac_csg

Salut

je viens d'essayer d'installer consolekit en rpm , mais ca me sort beaucoup d'erreurs et je pige rien a rpm.

donc je me tourne vers l'unique solution qui est celle proposée par yoyo, a savoir que quelqu'un me fasse un 'quickpkg consolekit' pour moi si c'est possible.voila mon archi : CHOST="i686-pc-linux-gnu" 

Merci d'avance.

a la prochaine.

----------

## boozo

pour x86 sys-auth/consolekit en version 0.2.3 -> dl  :Wink: 

btw :  *tupac_csg wrote:*   

> ...sans çà je ne peux rien faire ( c'est une machine desktop donc xorg oblige )

 

je n'ai pas très bien compris : en quoi est-ce limitant ?

----------

## yoyo

Sympa pour le tbz2 ...   :Very Happy: 

 *boozo wrote:*   

> btw :  *tupac_csg wrote:*   ...sans çà je ne peux rien faire ( c'est une machine desktop donc xorg oblige ) 
> 
> je n'ai pas très bien compris : en quoi est-ce limitant ?

 Alors une petite recherche en dépendances inverses donne, entre autre une dépendance sur xinit si le USEflag "hal" est activé (pratique pour un desktop tout de même   :Razz:  ), xinit étant lui-même une dépendance "stricte" de xorg-server.

Après il y a aussi des dépendances inverses avec pambase, gdm, kdm etc. Je suis vraiment impressionné par le boulot des devs !   :Shocked: 

Je n'imaginai pas ce niveau d'imbrication entre les paquets. Je serai curieux de voir un "arbre" (visuellement, au sens ramifications) des dépendances sur un paquet du type xorg-server ...   :Wink: 

Enjoy !

----------

## boozo

@yoyo : mouvais bof pour le côté dépendance malgré tout, /me en stable - sans hal - sur tous mes desktop ! Je le vis très bien depuis des lustres alors d'ici à ce que hal soit remplacé...  :Mr. Green:   (Pis d'un autre côté je n'ai pas franchement besoin de logger le(s) user(s) )

Mais c'est vrai que depuis quelques années les packages deviennent de plus en plus complexe   :Shocked: 

@tupac_csg : si tu as le temps, faudrait quand même rapporter le bug sur b.g.o histoire que ça puisse servir à d'autres

----------

## tupac_csg

 *boozo wrote:*   

> @yoyo : mouvais bof pour le côté dépendance malgré tout, /me en stable - sans hal - sur tous mes desktop ! Je le vis très bien depuis des lustres alors d'ici à ce que hal soit remplacé...   (Pis d'un autre côté je n'ai pas franchement besoin de logger le(s) user(s) )
> 
> Mais c'est vrai que depuis quelques années les packages deviennent de plus en plus complexe  
> 
> @tupac_csg : si tu as le temps, faudrait quand même rapporter le bug sur b.g.o histoire que ça puisse servir à d'autres

 

Merci pour vos contribution je vais me mettre au travail de suite.

Concernant le bug , dés que j'aurais un systéme 'visuel' qui marche je posterait le bug.

Je marquerais comme resolu si tout marche bien.

Merci encore une fois a boozo.

Edit : @ je ne veux pas étre "lourd' mais je crois que j'ai besoin de la 0.2.10, vraiment désolé de ne pas avoir précisé la version.

encore merci.

EDIT2:j'ai evité la compilation consolekit avec USE="-hal" ,mais j'ai le méme probléme avec xorg-server.

TOUJOURS ce méme fichier d'entéte kd.h !!!

y'a t'il un moyen de savoir d'ou provient ce kd.h , ou de le reinstaller ? si ce n'est qu'un fichier d'entéte est-ce que je peux en recupérer un et la placer dans le dossier des inculdes ?

Merci a vous tous.

----------

## boozo

/usr/include/linux/kd.h provient des kernel headers (sys-kernel/linux-headers) mais vérifie également avec la sortie de ton $emerge --info

donc en fonction tu fais juste un $emerge -1v linux-headers pour remettre d'aplomb

btw : pour connaitre qqch sur un fichier ou un package etc tu peux utiliser " equery " qui provient du package gentoolkit  i.e.

```
$equery b <pathtofile>  
```

----------

## tupac_csg

Et moi qui croyais que les fichier header venait de la glibc, que j'ai reemergé plusieurs fois sans resultat.

Merci boozoo je vais essayer de suite.

----------

## tupac_csg

Probléme résolu

Merci boozoo et tous les autres 

j'ai emergé kernel-header puis reemergé la glibc ( par securité parce que equery /usr/include/sys/kd.h renvoyais vers glibc ), maitenant tous s'est bien compilé.

Merci

----------

## boozo

Mais de rien ! Content d'avoir été utile   :Smile: 

Sinon oui j'avais vu les deux mais le path est différent :

 *Quote:*   

> $equery b /usr/include/sys/kd.h
> 
> [ Searching for file(s) /usr/include/sys/kd.h in *... ]
> 
> sys-libs/glibc-2.8_p20080602-r1 (/usr/include/sys/kd.h)
> ...

 

et d'après ton erreur c'était les kernel headers dans ton cas  :Wink:  - ceci dit repasser sur la glibc n'est pas un mal -

 *Quote:*   

> .deps/ck-sysdeps-unix.Tpo -c ck-sysdeps-unix.c  -fPIC -DPIC -o .libs/ck-sysdeps-unix.o
> 
> 2 In file included from ck-sysdeps-unix.c:35:
> 
> 3 /usr/include/linux/kd.h:122: error: expected ':', ',', ';', '}' or '__attribute__' before 'struct'
> ...

 

----------

