# [Skype+webcam]LD_PRELOAD failed sur ~amd64 (résolu)

## Kevin57

Bonsoir à tous,

J'essaie désespérément de faire marcher ma webcam avec skype sur ma nouvelle install de gentoo, en ~amd64. En ~x86, je devais lancer ce code pour que ça marche : 

```
LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so skype
```

Skype étant une application 32 bits, j'ai adapté en 

```
LD_PRELOAD=/usr/lib64/libv4l/v4l2convert.so skype
```

Mais j'obtiens l'erreur suivante : 

```
ERROR: ld.so: object '/usr/lib32/libv4l/v4l2convert.so' from LD_PRELOAD cannot be preloaded: ignored.
```

Pourtant, le fichier existe : 

```
kevin@KevinPC ~ $ ls /usr/lib32/libv4l/

v4l1compat.so  v4l2convert.so
```

J'ai fait des recherches un peu partout mais elles ne m'aident pas. J'ai trouvé d'anciens rapports de bugs avec des paquets alternatifs pour libv4l, et à la fin un commentaire disant que c'est intégré à emul-linux-x86-medialibs. Ce paquet est installé, mais ça ne change rien. Bien sûr, j'ai aussi installé libv4l. Je suis un peu désespéré, j'ai essayé avec les lib32 et les lib64, avec libv4l1convert.so et libv4l2convert.so, mais à chaque fois c'est la même chose. Ma webcam est bien installée puisqu'elle fonctionne sur aMSN, le problème vient uniquement de cette lib. Je ne sais plus où chercher, j'espère que vous aurez une solution, ou au moins un début de solution.

Merci d'avance,

Kevin57

----------

## gregool

Salut,

essaie de le lancer comme ça: 

```
#!/bin/sh

cd "/opt/skype"

if [ -n "/opt/skype" ]; then

    if [ "${LD_LIBRARY_PATH+set}" = "set" ]; then

        export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/skype"

     else

        export LD_LIBRARY_PATH="/opt/skype"

    fi

fi

LD_PRELOAD=/usr/lib32/libv4l/v4l2convert.so exec /opt/skype/skype "$@"

```

à adapter si tu ne l'as pas installé dans /opt etc...

----------

## Kevin57

Skype étant installé dans /usr/bin chez moi, j'ai adapté comme ça : 

```
#!/bin/sh

cd "/usr/bin/"

if [ -n "/usr/bin/skype" ]; then

    if [ "${LD_LIBRARY_PATH+set}" = "set" ]; then

        export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/bin/skype"

     else

        export LD_LIBRARY_PATH="/usr/bin/skype"

    fi

fi

LD_PRELOAD=/usr/lib32/libv4l/v4l2convert.so exec /usr/bin/skype "$@"
```

Mais ça ne change rien, toujours cette erreur :

```
ERROR: ld.so: object '/usr/lib32/libv4l/v4l2convert.so' from LD_PRELOAD cannot be preloaded: ignored
```

----------

## Tom_

J'ai le même message d'erreur et à priori ma webcam fonctionne.   :Laughing: 

----------

## gregool

 *Tom_ wrote:*   

> J'ai le même message d'erreur et à priori ma webcam fonctionne.  

 

Chez moi passer le PRELOAD dans le script skype avant l'exec a supprimé ce message d'erreur, et depuis la webcam fonctionne.

@Kevin57

tu as modifié le lanceur de skype ou refais un script?

----------

## Kevin57

J'ai refait un script. Mais je viens de voir que j'ai aussi un dossier /opt/skype donc je réessaierai avec ton script au cas où. Mais pour l'instant j'ai des soucis plus urgents avec mon disque dur, donc je te tiens au courant quand j'aurai essayé!  :Wink: 

----------

## Kevin57

Je viens de tester ta solution en la mettant directement dans le lanceur de skype (/usr/bin/skype), et ça marche. J'avais ensuite l'erreur suivante : 

```
X Error, request 132, minor 18, error code 8 BadMatch (invalid parameter attributes)
```

Qui se solutionne avec un :

```
export XLIB_SKIP_ARGB_VISUALS=1
```

Donc j'ai adapté le lanceur skype ainsi : 

```
#!/bin/sh

cd "/opt/skype"

if [ -n "/opt/skype" ]; then

    if [ "${LD_LIBRARY_PATH+set}" = "set" ]; then

        export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/skype"

     else

        export LD_LIBRARY_PATH="/opt/skype"

    fi

fi

export XLIB_SKIP_ARGB_VISUALS=1

LD_PRELOAD=/usr/lib32/libv4l/v4l2convert.so exec /opt/skype/skype "$@"
```

Et ça marche encore mieux qu'avant : j'arrive à faire marcher la vidéo et le micro en même temps, alors que c'était impossible sur mon ancienne install. Allez savoir pourquoi! En tout cas, merci beaucoup!

----------

