# Problema USE flag?

## Big Boss

Ciao a tutti come dicevo nell'altro post, sono stato costretto a compilare almeno metà del sistema credo, con emerge perchè ho avuto problemi con il dvd di installazione che non mi consentiva di installare dev-lang/perl, e questo mi mandava a monte tutta l'installazione, allora dopo la scelta di installare solo kernel, shell e qualche binario come mount etc da dvd, ( vi potete fidare che non ho installato da dvd neanche gli editor di testo), ho iniziato a compilare i vari pezzi del sistema inziando da Xorg Gnome gstreamer e i relativi plugin, alsa (pulseaudio anche, ma non va, però con alsa funziona tutto   :Very Happy:  ), tutto fin qui emerso senza tanti intoppi.

Ora è arrivato il momento di installare mplayer, e non lo installava causa lirc che dava questo errore, emergo e posto:

```
* Messages for package app-misc/lirc-0.8.2-r2:

 * Compiling support for a lot of devices

 * Setting default lirc-device to /dev/lirc0

 * Disabling lirc_gpio driver as it does no longer work Kernel 2.6.22+

 * 

 * ERROR: app-misc/lirc-0.8.2-r2 failed.

 * Call stack:

 *          ebuild.sh, line 1701:  Called dyn_compile

 *          ebuild.sh, line 1039:  Called qa_call 'src_compile'

 *          ebuild.sh, line   44:  Called src_compile

 *          ebuild.sh, line 1383:  Called linux-mod_src_compile

 *   linux-mod.eclass, line  518:  Called die

 * The specific snippet of code:

 *                      emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" \

 *                                ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} \

 *                              || die "Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}."

 *  The die message:

 *   Unable to make   all.

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/app-misc/lirc-0.8.2-r2/temp/build.log'.

 * 

```

ho aggirato il problema dando: 

```
# USE="-lirc" emerge mplayer
```

ho provato un .avi e funziona   :Very Happy: 

quindi problema aggirato, ma mi piacerebbe capire cosa devo fare per far compilare lirc e ringrazia da ora chi ha la pazienza di spiegarmi il tutto.

C'è un problema che non riesco ad aggirare: la compilazione di vlc:

```
# USE="-lirc -seamonkey" emerge vlc
```

Mi da questo errore che io credo sia relativo alle USE flag:

```
* Messages for package media-libs/libdvbpsi-0.1.5:

 * 

 * ERROR: media-libs/libdvbpsi-0.1.5 failed.

 * Call stack:

 *                ebuild.sh, line 1717:  Called dyn_setup

 *                ebuild.sh, line  768:  Called qa_call 'pkg_setup'

 *                ebuild.sh, line   44:  Called pkg_setup

 *   libdvbpsi-0.1.5.ebuild, line   36:  Called die

 * The specific snippet of code:

 *                      die "You need to recompile media-gfx/graphviz with png support."

 *  The die message:

 *   You need to recompile media-gfx/graphviz with png support.

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/media-libs/libdvbpsi-0.1.5/temp/build.log'.

```

Ho già dato più di una volta il comando per riemergere  'graphviz' con le flag USE png attivate sia da terminale sia inserendo png nel make.conf, ma il problema persiste.

Leggendo però mi dice che devo ricompilare graphviz con il supporto png, quindi sono confuso sul fatto che sia qualcosa di riguardante alle flag png o altro e perciò chiedo aiuto a voi e ringrzio tutti anticipatamente per l'attenzione e chiedo scusa per la lunghezza del post

----------

## randomaze

 *Big Boss wrote:*   

> Ho già dato più di una volta il comando per riemergere  'graphviz' con le flag USE png attivate sia da terminale sia inserendo png nel make.conf, ma il problema persiste.

 

"da terminale" é un meccanismo deprecato, ti conviene usare il file /etc/portage/package.use

Comuqnue la procedura che hai seguito é quello che consiglia l'ebuild,il fatto che non funzioni potrebbe indicare che l'ebuild ha dei problemi (hai cercato su bugzilla?) oppure c'é qualcosa che non va da te. L'errore esatto in compilazione qual'é? (guarda un pò di righe sopra quelle che hai postato...)

----------

## Big Boss

ricompilo i due e riposto:

```
hw_usbx.c: In function ‘usbx_decode’:

hw_usbx.c:97: error: ‘gap’ undeclared (first use in this function)

hw_usbx.c:97: error: (Each undeclared identifier is reported only once

hw_usbx.c:97: error: for each function it appears in.)

make[2]: *** [hw_usbx.o] Error 1

make[2]: Leaving directory `/var/tmp/portage/app-misc/lirc-0.8.2-r2/work/lirc-0.8.2/daemons'

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

make[1]: Leaving directory `/var/tmp/portage/app-misc/lirc-0.8.2-r2/work/lirc-0.8.2'

make: *** [all] Error 2

 * 

 * ERROR: app-misc/lirc-0.8.2-r2 failed.

 * Call stack:

 *          ebuild.sh, line 1701:  Called dyn_compile

 *          ebuild.sh, line 1039:  Called qa_call 'src_compile'

 *          ebuild.sh, line   44:  Called src_compile

 *          ebuild.sh, line 1383:  Called linux-mod_src_compile

 *   linux-mod.eclass, line  518:  Called die

 * The specific snippet of code:

 *                      emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" \

 *                                ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} \

 *                              || die "Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}."

 *  The die message:

 *   Unable to make   all.

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/app-misc/lirc-0.8.2-r2/temp/build.log'.

 * 

 * Messages for package app-misc/lirc-0.8.2-r2:

 * Compiling support for a lot of devices

 * Setting default lirc-device to /dev/lirc0

 * Disabling lirc_gpio driver as it does no longer work Kernel 2.6.22+

 * 

 * ERROR: app-misc/lirc-0.8.2-r2 failed.

 * Call stack:

 *          ebuild.sh, line 1701:  Called dyn_compile

 *          ebuild.sh, line 1039:  Called qa_call 'src_compile'

 *          ebuild.sh, line   44:  Called src_compile

 *          ebuild.sh, line 1383:  Called linux-mod_src_compile

 *   linux-mod.eclass, line  518:  Called die

 * The specific snippet of code:

 *                      emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" \

 *                                ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} \

 *                              || die "Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}."

 *  The die message:

 *   Unable to make   all.

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/app-misc/lirc-0.8.2-r2/temp/build.log'.

 * 

```

gli errori iniziano da qui per lirc ( tutto ciò che è in tag code sopra questa frase)

```
>>> Emerging (1 of 1) media-libs/libdvbpsi-0.1.5 to /

 * libdvbpsi4-0.1.5.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...               [ ok ]

 * checking ebuild checksums ;-) ...                                      [ ok ]

 * checking auxfile checksums ;-) ...                                     [ ok ]

 * checking miscfile checksums ;-) ...                                    [ ok ]

 * checking libdvbpsi4-0.1.5.tar.bz2 ;-) ...                              [ ok ]

 * 

 * ERROR: media-libs/libdvbpsi-0.1.5 failed.

 * Call stack:

 *                ebuild.sh, line 1717:  Called dyn_setup

 *                ebuild.sh, line  768:  Called qa_call 'pkg_setup'

 *                ebuild.sh, line   44:  Called pkg_setup

 *   libdvbpsi-0.1.5.ebuild, line   36:  Called die

 * The specific snippet of code:

 *                      die "You need to recompile media-gfx/graphviz with png support."

 *  The die message:

 *   You need to recompile media-gfx/graphviz with png support.

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/media-libs/libdvbpsi-0.1.5/temp/build.log'.

 * 

 * Messages for package media-libs/libdvbpsi-0.1.5:

 * 

 * ERROR: media-libs/libdvbpsi-0.1.5 failed.

 * Call stack:

 *                ebuild.sh, line 1717:  Called dyn_setup

 *                ebuild.sh, line  768:  Called qa_call 'pkg_setup'

 *                ebuild.sh, line   44:  Called pkg_setup

 *   libdvbpsi-0.1.5.ebuild, line   36:  Called die

 * The specific snippet of code:

 *                      die "You need to recompile media-gfx/graphviz with png support."

 *  The die message:

 *   You need to recompile media-gfx/graphviz with png support.

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/media-libs/libdvbpsi-0.1.5/temp/build.log'.

 * 

```

E quello che c'è sopra questa frase sono gli errori che riguardano libdvbpsi.

Se c'è ne bisogno posso postare la mia variabile USE, credo che abbia fatto un bel 'macello' riguardo tale variabile, è un concetto nuovo per me tale variabile e quindi devo prenderci la mano (ho fatto casino perchè non c'era nulla nella USE del make.conf)

EDIT: Ho scoperto una cosa: a quanto pare non  ho il file /etc/portage/package.use ) ho guardato graficamente e ho spuntato la casella per la visualizzazione dei file nascosti.... non c'è, ho l'impressione che dovrei crearlo ma non so come...

----------

## djinnZ

è un semplice file di testo con delle righe del tipo

media-gfx/graphwiz png

anche se la use flag png la aggiungerei in make.conf

----------

## Big Boss

Nulla, non riesco a risolvere libdvbpsi dà sempre lo stesso errore, la flag png è inserita nel make.conf, ho anche creato il package.use con la stringa media-gfx/graphwiz png

vi posto il 'macello' che ho combinato nel make.conf:

```
USE=" encode glitz -3dfx -aalib alsa (-altivec) -lirc arts -avahi -bidi -cdda -cddb -corba -daap -dc1394 -directfb -dts aac ifp dvb -esd -fbcon -ggi -gnutls -httpd -jack -libcaca -libnotify -live -matroska -modplug mp3 musepack nsplugin opengl -optimisememor oss -rtsp -samba -sdl -sdl-image -shout -skins -speex -stream svg -svga -truetype -upnp -v4l -vcd -vlm win32codecs wxwindows -x264 xinerama xml xosd X] png  gtk gpm nls crypt ipv6 ssl berkdb acl python cups spell a52 debug dvd ffmpeg flac gnome hal lirc mad mpeg nspluginnvtv ogg seamonkey theora vorbis xulrunner xv gtk doc zlib hardware-carrier transmitter" LIRC_DEVICES="accent act200l act220l adaptec all alsa_usb animax asusdh atilibusb atiusb audio audio_alsa avermedia avermedia98 avermedia_vdomate bestbuy bestbuy2 breakoutbox bte bw6130 caraca chronos cmdir cph06x creative creative_infracd devinput digimatrix dsp dvico ea65 exaudio flyvideo xboxusb gvbctv5pci hauppauge hauppauge_dvb hercules_smarttv_stereo igorplugusb imon imon_pad imon_pad2keys imon_rsc inputlirc irdeo irdeo_remote irman irreal it87 knc_one kworld leadtek_0007 leadtek_0010 leadtek_pvr2000 livedrive_midi livedrive_seq logitech macmini mceusb mceusb2 mediafocusI mouseremote mouseremote_ps2 mp3anywhere nslu2 packard_bell parallel pcmak pcmak_usb pctv pixelview_bt878 pixelview_pak pixelview_pro provideo realmagic remote_wonder_plus remotemaster sa1100 sasem sb0540 serial serial_igor_cesko silitek sir slinke streamzap tekram tekram_bt829 tira ttusbir tuxbox tvbox udp uirt2 uirt2_raw usb_uirt_raw usbirboy usbx userspace  "
```

Ma non capisco perchè quando gli altri pacchetti mi dicevano che avevano bisogno di essere ricompilati con una specifica flag e la aggiungevo e dopo ricompilavo il pacchetto non mi davano problemi mentre invece faccio la stessa cosa con media-gfx/graphwiz png eppure il problema persiste.

Mannaggia devo risovlere in qualche modo

EDIT: Avrei tentato di colorare png in modo tale da essere più facilmente rintracciabile dai lettori, ma se tento di colorare all'interno di un tag code non colora.

----------

## Kernel78

 :Shocked: 

che il signore possa avere pietà delle nostre anime ...

Scherzi a parte temo che tu abbia un po' di confusione a riguardo delle USE, per esempio non sta ne in cielo ne in terra che si debba mettere una cosa tipo (-altivec) ...

Procediamo per gradi:

- MAI dare da terminale USE="..." emerge pacchetto, MAI, se devi usare o togliere una USE solo per un pacchetto ti crei il file /etc/packages.use e li inserisci li (man emerge per spiegazioni)

- installa ufed e usa quello per abilitare disabilitare le USE globali

- dubito che tu abbia così tanti telecomandi da richiedere l'uso di tutti quei device per lirc, abilita solo quello che ti serve

- leggiti man emerge dall'inizio alla fine (e poi rileggitelo con più calma, aiuta veramente molto e ti avrebbe aiutato a evitare alcuni casini che hai avuto)

- anche se il file /etc/make.conf non ha nemmeno una USE non è un problema, selezionando il profilo hai cmq abilitato determinate USE

----------

## Big Boss

Ma io lirc non lo voglio, almeno per ora fin quando non risolvo i problemi, vorrei solo installare vlc e risolvere il problema di libdvbpsi

----------

## randomaze

 *Big Boss wrote:*   

> Ma io lirc non lo voglio, almeno per ora fin quando non risolvo i problemi, vorrei solo installare vlc e risolvere il problema di libdvbpsi

 

Il file /etc/portage/pakage.use se non c'é lo puoi creare (nota che una letta alla apposita sezione del manuale porta via una decina di minuti ma sono comunque ben spesi).

In quell'elenco che hai postato la USE di lirc risulta essere prima disabilitata e poi abilitata, quindi alla fine sarà abilitata. Se non vuoi lirc dovrebbe bastare eliminare il punto in cui é disabilitata!

Due consigli:

Il comando tuo amico, quando emerge qualcosa di nuovo é:

```
emerge -ptv nomepacchetto
```

che ti mostrerà i pacchetti da emergere, le dipendenze e le USE flag. Ragionando sul risultato puoi vedere "quasi" a colpo d'occhio quale USE disabilitare/abilitare per avere la funzionalità oppure evitare inutili dipendenze (es. lirc  :Wink:  )

Quando metti mano alla USE globale é sempre bene dare un occhio al risultato del comando:

```
emerge -uDNtp world
```

il quale ti evidenzierà quali pacchetti andrebbero ricompilati a causa del cambiamento sulla USE.

----------

## Big Boss

Con ufed ho sistemato un po le USE flag, cioè dopo che l'ho avviato ho aperto il make.conf e tutto è molto più ordinato, dopodichè ho dato 

```
emerge -uDNtp world
```

e mi ha fatto vedere che ci sono mooooooolti pacchetti da ricompilare... allora leggendo da manuale ho dato

```
emerge --update --deep --newuse world
```

sono 317 pacchetti da ricompilare.... beeeelloooo, paaticamente l'intero sistema che ho emerso dopo avcer installato solo kernel shell ed emerge, vabbè l'importante che la ricompilazione vada a buon fine dopodichè ho letto che bisognerebbe dare:

```
 # emerge -p --depclean
```

ma che è unìazione delicata che va fatta con cura quindi chiederò consigli in questo 3d prima di fare qualcosa di stupido, credo vada bene se posto sempre in questo 3d senza aprirne un altro vero? alla fine riguarda sempre le flag USE.

E dopo ho letto sul manuale che bisogna dare :

```
revdep-rebuild
```

che avevo provato a dare in precedenza ma mi dava 

```
command not found
```

Ditemi se sto facendo quello che va fatto..... per ora sono:

 *Quote:*   

> >>> Emerging (17 of 317) sys-devel/gettext-0.16.1-r1 to /
> 
> >>> Downloading 'http://distfiles.gentoo.org/distfiles/gettext-0.16.1.tar.gz'
> 
> --17:27:15--  http://distfiles.gentoo.org/distfiles/gettext-0.16.1.tar.gz
> ...

 

----------

## djinnZ

revdep-rebuild fa parte di app-portage/gentoolkit

----------

