Я пытаюсь заставить Protractor работать для выполнения углового тестирования e2e, но для транспортира требуется Selenium, для которого требуется ChromeDriver, для которого требуется glibc
2.14. Моя текущая версия разработки использует Debian Wheezy, который поставляется с glibc
2.13. Я читал, что переключение на нестабильную ветку Debian обеспечит доступ glib-2.14
, но из того, что я слышал, нестабильно довольно ... нестабильно.
Есть ли способ, как я могу обновить glibc
до 2.14 или 2.15 без риска все сломать? Или можно переключиться обратно из нестабильной ветки Debian, если что-то начинает ломаться?
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
Ответы:
Вам не нужно переключаться на нестабильную версию, чтобы получить glib> = 2.14. Фактически, ветвь тестирования (теперь стабильная, или Jessie) имеет glib-2.17, который вы можете выбрать, просто добавив репозиторий тестирования и запустив:
или,
Вы можете добавить переключатель,
--dry-run
чтобы увидеть, что будет устанавливаться раньше. Вы можете увидеть состояние пакета glibc в системе отслеживания пакетов Debian (Debian переименовал пакет eglibc в просто glibc от Jessie и далее).Вы также можете просто дождаться релиза Джесси 25 апреля .
источник
E: The value 'testing' is invalid for APT::Default-Release as such a release is not available in the sources
а второйE: Version '2.17-7' for 'libc6-dev' was not found
В моей ситуации ошибка появляется, когда я пытаюсь запустить приложение (скомпилированное в Ubuntu 12.04 LTS), используя GLIBC_2.14 в Debian Wheezy (который по умолчанию устанавливает glibc 2.13).
Я использую хитрый способ запустить его и получить правильный результат:
Скачать
libc6
иlibc6-dev
с Ubuntu 12.04 LTSЗапустите
dpkg
команду, чтобы установить их в каталог (/home/user/fakeroot/
например):Запустите вашу команду с указанным
LD_LIBRARY_PATH
:Мое приложение использует только
memcpy()
GLIBC_2.14, и это работает.Я не знаю, будет ли это работать успешно для других приложений.
источник
exec env LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND "$@"
так, чтобы команда была легко доступна без необходимости каждый раз указывать LD_LIBRARY_PATH.Я полагаю, есть несколько вариантов, чтобы вы могли попробовать нестабильную ветку "безопасно":
deboostrap, который, цитируя статью вики Debian по этой ссылке,
Это не означает, что
debootstrap
используется метод chroot; Я не знаю о его внутренней реализации.источник
debootstrap --arch amd64 jessie $MY_CHROOT http://http.debian.net/debian/
Спасибо!