J'essaie de faire fonctionner Protractor pour effectuer des tests e2e angular, mais le rapporteur nécessite Selenium ce qui nécessite ChromeDriver qui nécessite glibc
2.14. Ma boîte de développement actuelle exécute Debian Wheezy qui vient avec glibc
2.13. J'ai lu que le passage à la branche instable de Debian donnerait accès à glib-2.14
, mais d'après ce que j'ai entendu, instable est assez ... instable.
Existe-t-il un moyen de mettre à niveau glibc
vers 2.14 ou 2.15 sans risquer de tout casser? Ou est-il possible de revenir de la branche Debian instable si les choses commencent à se casser?
12:15:22.784 INFO - Executing: [new session: {browserName=chrome}] at URL: /session)
12:15:22.796 INFO - Creating a new session for Capabilities [{browserName=chrome}]
/home/chris/projects/personal/woddy/client/Selenium/chromedriver: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by /home/chris/projects/personal/woddy/client/Selenium/chromedriver)
/home/chris/projects/personal/woddy/client/Selenium/chromedriver: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /home/chris/projects/personal/woddy/client/Selenium/chromedriver)
12:15:43.032 WARN - Exception thrown
Java.util.concurrent.ExecutionException: org.openqa.Selenium.WebDriverException: Java.lang.reflect.InvocationTargetException
Vous n'avez pas besoin de passer à instable pour obtenir glib> = 2.14. En fait, la branche testing (maintenant stable, ou Jessie) a glib-2.17 que vous pouvez choisir en ajoutant simplement le référentiel de tests et en lançant:
Sudo apt-get install libc6-dev=2.17-7
ou,
Sudo apt-get -t testing install libc6-dev
Vous pouvez ajouter le commutateur --dry-run
pour voir ce qui sera installé à l'avance. Vous pouvez voir l'état du paquet glibc dans Debian Package Tracker System (Debian a renommé le paquet eglibc simplement glibc à partir de Jessie).
Vous pouvez également attendre Jessie sortie le 25 avril .
Dans ma situation, l'erreur apparaît lorsque j'essaie d'exécuter une application (compilée sur Ubuntu 12.04 LTS) à l'aide de GLIBC_2.14 sur Debian Wheezy (qui installe glibc 2.13 par défaut).
J'utilise un moyen délicat pour l'exécuter et obtenir un résultat correct:
Exécutez la commande dpkg
pour les installer dans un répertoire (/home/user/fakeroot/
Par exemple):
$ dpkg -x libc6-dev_2.15-0ubuntu10.6_AMD64.deb /home/user/fakeroot/
$ dpkg -x libc6_2.15-0ubuntu10.6_AMD64.deb /home/user/fakeroot/
Exécutez votre commande avec le LD_LIBRARY_PATH
Spécifié:
$ LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND
Mon application utilise uniquement memcpy()
de GLIBC_2.14, et cela fonctionne.
Je ne sais pas si cela fonctionnera avec succès pour d'autres applications.
Je suppose qu'il existe plusieurs options pour essayer la branche instable "en toute sécurité":
deboostrap qui, pour citer l'article Debian Wiki sur ce lien, est
un outil qui installera un système de base Debian dans un sous-répertoire d'un autre système déjà installé. Il ne nécessite pas de CD d'installation, il suffit d'accéder à un référentiel Debian.
Cela ne signifie pas que debootstrap
utilise la technique du chrootage; Je ne connais pas sa mise en œuvre interne.