# [Flash] Documentation sur le plugin flash & param USE

## Saimoun

Bonjour  :Smile: 

Je n'ai pas trouvé de documentation sur l'installation du flashplugin  dans Gentoo... Peut-être est-ce parce-qu'il n'y a rien de compliqué ?

Une petite recherche dans les paquets m'a donné l'existance du paquet www-plugins/adobe-flash, il suffit juste de l'installer ? (je veux simplement avoir confirmation avant de lancer la compilation)

Une autre question : j'ai un doute sur le USE du paquet en question... 

```
saimoun@gentux ~ $ emerge -p adobe-flash

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

Calculating dependencies... done!

[ebuild  N    ] app-emulation/emul-linux-x86-xlibs-20080810  USE="-opengl"

[ebuild  N    ] app-arch/rpm2targz-9.0.0.3g

[ebuild  N    ] app-emulation/emul-linux-x86-gtklibs-20071214  USE="qt3"

[ebuild  N    ] app-emulation/emul-linux-x86-medialibs-20071114

[ebuild  N    ] app-emulation/emul-linux-x86-soundlibs-20080418  USE="-alsa -arts -esd"

[ebuild  N    ] app-emulation/emul-linux-x86-sdl-20080316

[ebuild  N    ] www-plugins/adobe-flash-10.0.32.18  USE="32bit 64bit (multilib)"
```

C'est normal d'avoir 32bits, 64bits et multilib ? Pour info je suis en architecture amd64 sous un système non-multilib.

Merci d'avance  :Wink: 

----------

## Leander256

Salut,

Tu ne peux pas toucher au USE multilib directement, c'est pour ça qu'il est entre parenthèses. Je viens de regarder l'ebuild et il ne devrait pas te proposer le choix entre 32 bits et 64 bits. Est-ce que tu es sûr que /etc/make.profile pointe bien sur un profil no-multilib? Dans ce cas ça doit être un bug de Portage qu'il serait bon de signaler.

----------

## UB|K

salut,

sur un système amd64, tu as tout intérêt à désactiver le flag "32bit" qui ne t'amènera que des dépendances inutiles (les paquets emul-linux-x86-blah, tu peux en avoir besoin pour d'autres programmes 32bit mais il n'y a pas lieu de les installer juste pour flash). Le plugin flash 32bit, en plus de faire doublon avec le 64bit, ne te servira rigoureusement à rien (je suppose que ce flag est fait pour ceux qui utilisent le paquet firefox-bin soit un paquet précompilé 32bit, ce qui n'est à priori pas ton cas...).

edit:

 *Leander256 wrote:*   

> ...
> 
> Est-ce que tu es sûr que /etc/make.profile pointe bien sur un profil no-multilib? ...

 

+1

un profil no-multilib ne devrait en toute logique pas proposer l'installation des paquets type emul-linux...

----------

## Saimoun

Aha ! Donc y'a bel et bien un problème (j'avais raison ^^ )

Non, je vous assure que mon /etc/profile ne pointe pas vers un profil multilib

(d'ailleurs depuis le début de l'installation, quand il faut choisir entre quelque chose multilib et non-multilib, j'ai toujours pris le non-multilib) :

```
saimoun@gentux ~ $ ls -l /etc | grep profile

lrwxrwxrwx 1 root root     50 juil. 22 20:19 make.profile -> ../usr/portage/profiles/default/linux/amd64/2008.0

[...]

```

----------

## netfab

Hello,

A mon avis il n'y a rien d'anormal, les flag 32bit et 64bit sont activés par défaut dans l'ebuild :

 *Quote:*   

> 
> 
> IUSE="multilib +32bit +64bit"
> 
> 

 

Le mainteneur fait ensuite le tri des patates au niveau du pkg_setup() :

```

pkg_setup() {

   if use x86; then

      export native_install=1

   elif use amd64; then

      # amd64 users may unselect the native 64bit binary, if they choose

      if ! use multilib || use 64bit; then

         export native_install=1

         # 64bit flash requires the 'lahf' instruction (bug #268336)

         if ! grep -q lahf_lm /proc/cpuinfo; then

            export need_lahf_wrapper=1

         else

            unset need_lahf_wrapper

         fi

      else

         unset native_install

      fi

      if use multilib && ! use 32bit && ! use 64bit; then

         eerror "You must select at least one library USE flag (32bit or 64bit)"

         die "No library version selected [-32bit -64bit]"

      fi

   fi

}

```

----------

## Saimoun

Heu, j'ai pas tout pigé, là... Déjà vous parlez tout le temps d'e-builds, je sais ce que c'est (j'ai lu la Doc, quoi) mais je ne savais qu'on pouvait aller les lire directement. Ils sont où ? (dans un sous-répertoire de /usr/portage, j'imagine, mais je n'en sais pas plus)

Et donc pour résoudre le problème, faut que je fasse quoi ? Que je mette "www-plugins/adobe-flash -32bits" dans mon /etc/portage/package.use ?

----------

## netfab

Installe app-portage/gentoolkit si ce n'est pas encore fait.

Ensuite, si tu veux connaître l'ebuild qui sera utilisé pour installer flash sur ton système :

```

$ equery w adobe-flash

/usr/portage/www-plugins/adobe-flash/adobe-flash-10.0.32.18.ebuild

```

Concernant le téléchargement des sources, cet ebuild nous dit ceci :

```

SRC_URI="x86? ( ${MY_32B_URI} )

amd64? (

   multilib? (

      32bit? ( ${MY_32B_URI} mirror://gentoo/flash-libcompat-0.2.tar.bz2 )

      64bit? ( ${MY_64B_URI} )

   )

   !multilib? ( ${MY_64B_URI} )

)"

```

Traduction pour ton cas : étant donné que tu es en amd64 non-multilib, l'ebuild ne téléchargera que la version 64 bit.

Il n'y a donc pas de problème, tu peux simplement ignorer le flag 32bit, même si tu le désactives, çà ne changera rien.

----------

## Saimoun

Super, merci pour toutes ces infos  :Wink: 

Seulement il y a encore un truc que je ne comprend pas... 

dans l'e-build, je lis ça :

```

NATIVE_DEPS="x11-libs/gtk+:2

    media-libs/fontconfig

    dev-libs/nss

    net-misc/curl

    >=sys-libs/glibc-2.4

    || ( media-fonts/freefont-ttf media-fonts/corefonts )"

EMUL_DEPS="app-emulation/emul-linux-x86-baselibs

    app-emulation/emul-linux-x86-gtklibs

    app-emulation/emul-linux-x86-soundlibs

    app-emulation/emul-linux-x86-xlibs"

RDEPEND="x86? ( $NATIVE_DEPS )

    amd64? (

        multilib? (

            64bit? ( $NATIVE_DEPS )

            32bit? ( $EMUL_DEPS )

        )

        !multilib? ( $NATIVE_DEPS )

    )"

```

Je ne connais pas la syntaxe " ? ( xxxx )" (c'est du bash ?), mais bon je pige comment ça marche. Si je suis logiquement la progression du script lors de l'affectation de RDEPEND, ça donne ça :

```

- Système x86 ? Non.

- Système amd64 ? Oui ==> On prend.

    - Système multilib ? Non.

    - Système  non-multilib ? Oui ==> RDEPEND = $NATIVE_DEPS

```

Donc au final, je devrais avoir comme dépendances :

x11-libs/gtk+:2

    media-libs/fontconfig

    dev-libs/nss

    net-misc/curl

    >=sys-libs/glibc-2.4

    || ( media-fonts/freefont-ttf media-fonts/corefonts )"

Or j'ai ça (cf mon premier post)

[ebuild  N    ] app-emulation/emul-linux-x86-xlibs-20080810  USE="-opengl"

[ebuild  N    ] app-arch/rpm2targz-9.0.0.3g

[ebuild  N    ] app-emulation/emul-linux-x86-gtklibs-20071214  USE="qt3"

[ebuild  N    ] app-emulation/emul-linux-x86-medialibs-20071114

[ebuild  N    ] app-emulation/emul-linux-x86-soundlibs-20080418  USE="-alsa -arts -esd"

[ebuild  N    ] app-emulation/emul-linux-x86-sdl-20080316 

qui ressemble plus ou moins à celles de la variable $EMUL_DEPS.

Quelqu'un sait ce qui se passe ?

----------

## netfab

Fais voir ton emerge --info.

(l'explication est probablement ci-dessous, faut que j'arrête de lire les topics de travers  :Laughing:  )Last edited by netfab on Wed Sep 09, 2009 7:53 pm; edited 1 time in total

----------

## Leander256

 *Saimoun wrote:*   

> Aha ! Donc y'a bel et bien un problème (j'avais raison ^^ )
> 
> Non, je vous assure que mon /etc/profile ne pointe pas vers un profil multilib
> 
> (d'ailleurs depuis le début de l'installation, quand il faut choisir entre quelque chose multilib et non-multilib, j'ai toujours pris le non-multilib) :
> ...

 

Heu... Tu sais que par défaut le profil amd64 *EST* multilib?  :Rolling Eyes:  Si tu veux être en no-multilib il faut pointer sur le répertoire

/usr/portage/profiles/default/linux/amd64/2008.0/no-multilib !

----------

## Saimoun

netfab ==> le voilà :

```
saimoun@gentux ~ $ emerge --info

Portage 2.1.6.13 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r4 x86_64)

=================================================================

System uname: Linux-2.6.30-gentoo-r4-x86_64-AMD_Athlon-tm-_64_Processor_3800+-with-gentoo-1.12.11.1

Timestamp of tree: Tue, 08 Sep 2009 22:15:02 +0000

ccache version 2.4 [enabled]

app-shells/bash:     3.2_p39

dev-java/java-config: 2.1.8-r1

dev-lang/python:     2.6.2-r1

dev-util/ccache:     2.4-r7

sys-apps/baselayout: 1.12.11.1

sys-apps/sandbox:    1.6-r2

sys-devel/autoconf:  2.13, 2.63-r1

sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.2

sys-devel/binutils:  2.18-r3

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   1.5.26

virtual/os-headers:  2.6.27-r2

ACCEPT_KEYWORDS="amd64"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=athlon64 -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"

CXXFLAGS="-march=athlon64 -O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="http://mirror.ovh.net/gentoo-distfiles http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"

LANG="fr_FR.UTF-8"

LDFLAGS="-Wl,-O1"

LINGUAS="fr"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="X acl amd64 berkdb bzip2 cjk cli cracklib crypt cups dri dvdr fortran gdbm gpm iconv ipv6 isdnlog kde lsa mmx mp3 mudflap multilib ncurses nls nptl nptlonly openmp pam pcre perl pppd python qt3 qt4 readline reflection session spl sse sse2 ssl sysfs tcpd unicode vorbis xorg xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" USERLAND="GNU" VIDEO_CARDS="radeon"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

```

EDIT : xD j'ai dû zoomer comme un c** pour voir ce que tu avais écrit ^^

Et oui en effet c'est ça. Merci quand même de ton aide  :Smile: 

Leander256 ==> Ah ? Bon, bah heu... Je vais lire la Doc.

[2 minutes plus tard...]

En effet :p 

Mais maintenant je me rappelle : j'ai bel et bien choisi un système multilib, c'est cette phrase de la Doc qui m'as rappelé pourquoi :

 *Quote:*   

> Si vous désirez un environnement entièrement 64 bits, sans applications ni bibliothèques 32 bits, vous devriez utiliser un profil non-multilib.

 

Et c'est là qu'arrive le plus comique : si j'ai choisi un profil multilib, c'était justement pour flash, je ne savais pas que flash existait en 64 bits (donc pour moi (à l'époque), profil non-multilib = pas de flash) !!

Bref (osef de ma life, je sais :p ), je vais changer de profil ^^ 

Du coup, j'ai encore d'autres questions : si je change de profil, toutes les variables de conf que j'ai réglées vont se réinitialiser avec le profil ou ce sont uniquement leurs valeurs par défaut qui vont changer ?

Faudrait que je fasse un "emerge --sync && emerge --update --deep --newuse world && emerge --depclean && revdep-rebuild" (c'est le contenu de ma commande "mettre_a_jour_gentoo", après, nan ?

----------

