Próbuję zmusić Kątomierz do pracy przy wykonywaniu testów kątowych e2e, ale kątomierz wymaga Selenium, który wymaga ChromeDriver, który wymaga glibc
2.14. Moje obecne okno programistyczne to Debian Wheezy, który jest dostarczany z glibc
wersją 2.13. Czytałem, że przejście do niestabilnej gałęzi Debiana zapewni dostęp glib-2.14
, ale z tego, co słyszałem, niestabilny jest dość ... niestabilny.
Czy jest jakiś sposób na uaktualnienie glibc
do wersji 2.14 lub 2.15 bez ryzyka zniszczenia wszystkiego? Czy jest możliwe przejście z niestabilnej gałęzi Debiana, jeśli coś zacznie się psuć?
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
Odpowiedzi:
Nie musisz przełączać się na niestabilny, aby uzyskać glib> = 2.14. W rzeczywistości gałąź testowania (teraz stabilna lub Jessie) ma glib-2.17, którą możesz wybrać po prostu dodając repozytorium testowe i uruchamiając:
lub,
Możesz dodać przełącznik,
--dry-run
aby zobaczyć, co zostanie zainstalowane wcześniej. Możesz zobaczyć status pakietu glibc w systemie śledzenia pakietów Debiana (Debian zmienił nazwę pakietu eglibc na po prostu glibc od Jessie).Możesz także poczekać na wydanie Jessie 25 kwietnia .
źródło
E: The value 'testing' is invalid for APT::Default-Release as such a release is not available in the sources
a drugaE: Version '2.17-7' for 'libc6-dev' was not found
W mojej sytuacji błąd pojawia się, gdy próbuję uruchomić aplikację (skompilowaną na Ubuntu 12.04 LTS) przy użyciu GLIBC_2.14 na Debian Wheezy (która domyślnie instaluje glibc 2.13).
Używam trudnego sposobu, aby go uruchomić i uzyskać poprawny wynik:
Pobierz
libc6
ilibc6-dev
z Ubuntu 12.04 LTSUruchom
dpkg
polecenie, aby zainstalować je w katalogu (/home/user/fakeroot/
na przykład):Uruchom polecenie z określonymi
LD_LIBRARY_PATH
:Moja aplikacja korzysta tylko
memcpy()
z GLIBC_2.14 i działa.Nie wiem, czy zadziała z powodzeniem w przypadku innych aplikacji.
źródło
exec env LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND "$@"
tak, aby polecenie było łatwo dostępne bez potrzeby każdorazowego podawania LD_LIBRARY_PATH.Sądzę, że istnieje kilka opcji „bezpiecznego” wypróbowania niestabilnej gałęzi:
deboostrap, który, cytując artykuł Debian Wiki pod tym linkiem, to
Nie oznacza to, że
debootstrap
wykorzystuje technikę chrooting; Nie jestem świadomy jej wewnętrznej implementacji.źródło
debootstrap --arch amd64 jessie $MY_CHROOT http://http.debian.net/debian/
Dziękuję!