Я пытаюсь запустить PhantomJS на CentOS, но получаю следующее:
./phantomjs: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./phantomjs)
./phantomjs: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./phantomjs)
./phantomjs: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by ./phantomjs)
./phantomjs: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by /home/bamboo/bamboo-data/xml-data/build-dir/PHANTOMJS-ARTIFACT-JOB1/target/checkout/dists/linux_x64/bin/../lib/libQtGui.so.4)
./phantomjs: /lib64/libc.so.6: version `GLIBC_2.11' not found (required by /home/bamboo/bamboo-data/xml-data/build-dir/PHANTOMJS-ARTIFACT-JOB1/target/checkout/dists/linux_x64/bin/../lib/libQtGui.so.4)
./phantomjs: /lib64/libc.so.6: version `GLIBC_2.9' not found (required by /home/bamboo/bamboo-data/xml-data/build-dir/PHANTOMJS-ARTIFACT-JOB1/target/checkout/dists/linux_x64/bin/../lib/libQtGui.so.4)
./phantomjs: /lib64/libc.so.6: version `GLIBC_2.10' not found (required by /home/bamboo/bamboo-data/xml-data/build-dir/PHANTOMJS-ARTIFACT-JOB1/target/checkout/dists/linux_x64/bin/../lib/libQtNetwork.so.4)
./phantomjs: /lib64/libc.so.6: version `GLIBC_2.9' not found (required by /home/bamboo/bamboo-data/xml-data/build-dir/PHANTOMJS-ARTIFACT-JOB1/target/checkout/dists/linux_x64/bin/../lib/libQtCore.so.4)
Я даже построил статическую сборку PhantomJS, но похоже, что библиотеки, входящие в PhantomJS, зависят от glibc и libstdc ++.
Создание конкретного двоичного файла PhantomJS на CentOS не является вариантом, потому что этот компьютер является нашим блоком непрерывной интеграции, который собирает и тестирует наш проект. У меня PhantomJS упакован как артефакт, который затем распаковывается в процессе сборки и используется (для непрерывной интеграции Javascript). Так что нужно использовать именно этот артефакт.
Есть ли простой способ обновить glibc и libstdc ++? Я попытался yum install glibc
и yum install libstdc++
. Я заметил, что обновление было выполнено, но после повторной попытки запустить PhantomJS никаких изменений не произошло.
Вы создали PhantomJS на гораздо более новой системе, чем та, на которой вы пытаетесь его развернуть. Восстановите его в системе, соответствующей системе развертывания.