it-swarm.com.de

Glibc> = 2.14 muss auf Wheezy installiert werden

Ich versuche, Winkelmesser für die Durchführung von e2e angular Test) arbeiten zu lassen, aber Winkelmesser erfordert Selen was ChromeDriver erfordert Dies erfordert glibc 2.14. In meiner aktuellen Entwicklungsbox wird Debian Wheezy ausgeführt, das mit glibc 2.13 geliefert wird. Ich habe gelesen, dass das Umschalten auf den instabilen Zweig von Debian den Zugriff auf glib-2.14, aber von dem, was ich gehört habe, ist instabil ziemlich ... instabil.

Gibt es eine Möglichkeit, glibc auf 2.14 oder 2.15 zu aktualisieren, ohne das Risiko einzugehen, dass alles kaputt geht? Oder ist es möglich, vom instabilen Debian-Zweig zurückzuschalten, wenn die Dinge anfangen zu brechen?

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
22
chris

Sie müssen nicht zu instabil wechseln, um glib> = 2.14 zu erhalten. Tatsächlich hat der Testzweig (jetzt stabil oder Jessie) glib-2.17, den Sie auswählen können, indem Sie einfach das Test-Repository hinzufügen und starten:

Sudo apt-get install libc6-dev=2.17-7

oder,

Sudo apt-get -t testing install libc6-dev

Sie können den Schalter --dry-run Hinzufügen, um zu sehen, was vor der Installation installiert wird. Sie können den Status des glibc-Pakets im Debian Package Tracker System sehen (Debian hat das eglibc-Paket ab Jessie in einfach glibc umbenannt).

Sie können auch einfach auf Jessie warten Veröffentlichung am 25. April .

23
Braiam

In meiner Situation tritt der Fehler auf, wenn ich versuche, eine Anwendung (kompiliert unter Ubuntu 12.04 LTS) mit GLIBC_2.14 auf Debian Wheezy (das standardmäßig glibc 2.13 installiert) auszuführen.

Ich benutze eine knifflige Methode, um es auszuführen und das richtige Ergebnis zu erhalten:

  1. Laden Sie libc6 und libc6-dev von Ubuntu 12.04 LTS herunter

  2. Führen Sie den Befehl dpkg aus, um sie in einem Verzeichnis zu installieren (z. B. /home/user/fakeroot/):

    $ 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/
    
  3. Führen Sie Ihren Befehl mit dem angegebenen LD_LIBRARY_PATH Aus:

    $ LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND
    
  4. Meine Anwendung verwendet nur memcpy() von GLIBC_2.14 und es funktioniert.

    Ich weiß nicht, ob es für andere Anwendungen erfolgreich funktioniert.

23
Bin S

Ich denke, es gibt verschiedene Möglichkeiten, den instabilen Zweig "sicher" auszuprobieren:

  • Virtualisierung
  • Chrooting wobei Sie ein alternatives Verzeichnis als Ihr scheinbares Stammverzeichnis auswählen. Sie können also ein Dateisystem-Image erstellen und die erforderlichen Pakete manuell installieren. Dies ist ein komplizierter Prozess und wird in Debians Fall durch Folgendes erheblich vereinfacht:
  • deboostrap was, um den Debian-Wiki-Artikel unter diesem Link zu zitieren, ist

    ein Tool, das ein Debian-Basissystem in einem Unterverzeichnis eines anderen, bereits installierten Systems installiert. Es ist keine Installations-CD erforderlich, sondern nur Zugriff auf ein Debian-Repository.

    Dies bedeutet nicht, dass debootstrap die Chrooting-Technik verwendet; Mir ist die interne Implementierung nicht bekannt.

1
Joseph R.