GLIBC_PRIVATE не определен в файле libc.so.6
Я пытаюсь запустить Rstudio. И это просто не работает. Это сработало на прошлой неделе, когда я установил его впервые, но теперь, когда мне нужно его использовать, это не так. Я пытался в течение 5 часов, так что это мое последнее средство.
- Система: Kubuntu 16.04 x64
- Версия R: 3.2.3 x64
- Rstudio: RStudio Desktop 0.99.903 x64
- GLIBC: 2,23
Исходная ошибка при запуске rstudio --run-diagnostics
Using R script: /usr/bin/R
Attempting to launch R session...
R session launched, attempting to connect on port 19650...
/usr/lib/rstudio/bin/rsession: libc.so.6: version `GLIBC_2.16' not found (required by /usr/lib/R/lib/libR.so)
/usr/lib/rstudio/bin/rsession: libc.so.6: version `GLIBC_2.18' not found (required by /usr/lib/x86_64-linux-gnu/libstdc++.so.6)
/usr/lib/rstudio/bin/rsession: libc.so.6: version `GLIBC_2.17' not found (required by /usr/lib/x86_64-linux-gnu/libstdc++.so.6)
/usr/lib/rstudio/bin/rsession: libc.so.6: version `GLIBC_2.17' not found (required by /usr/lib/x86_64-linux-gnu/libgomp.so.1)
/usr/lib/rstudio/bin/rsession: libc.so.6: version `GLIBC_2.16' not found (required by /lib/x86_64-linux-gnu/libtinfo.so.5)
Результат - обычный пустой экран. Я удалил и переустановил R, переустановил Rstudio и перепробовал все старые версии Rstudio, перечисленные здесь, даже x32, которые не работали из-за несоответствия 32-64. Все версии x64 приводят к ошибке выше. Мой R установлен в /usr/lib/R. Я также запустил команду update для обновления libc, которая уже является самой новой версией.
Мой libc.so.6 в / lib / указывает на libc-2.15.so в той же папке. Я думал, что это причина, по которой Rstudio не может найти более высокие версии. Мой libc-2.23.so находится в /lib32/. Поэтому я подумал, что создаю новый файл libc.so.6 в / lib /, который указывает на версию 2.23. Это исправляет GLIBC, не найденный, но при запуске rstudio --run-одиагностика теперь говорит:
R session launched, attempting to connect on port 13345...
/usr/lib/rstudio/bin/rsession: relocation error: /lib/libpthread.so.0: symbol h_errno, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
И здесь я исчерпал полезные результаты Google. Я применил ссылки, предложенные в Missing /lib/libc.so.6, тот же результат (ошибка перемещения).
Мой последний акт отчаяния был sudo apt-get install libc6*
а также sudo apt-get install '^libc6.*'
который, по крайней мере, установил 2.23.so в мою папку lib64. Я создал символическую ссылку, используя sudo ln -s /lib64/libc.so.6 /lib/libc.so.6
, то же самое "ошибка несоответствия местоположения". Я также попытался удалить версию libc для x32, которая все равно не была установлена.
В противном случае моя система в порядке. У меня нет проблем с apt-get или чего-то такого, что похоже на другие потоки libc6.
Помогите?
1 ответ
Есть что-то довольно подозрительное в 64-битной системе на основе Debian (Kubuntu) с каталогом /lib32. Тот факт, что в / lib у вас установлено огромное количество устаревших DSO, также указывает на крайнюю недоброжелательность вашей системы. Я подозреваю, что вы установили что-то из произвольного ненадежного стороннего источника, и это попросту растоптало вашу систему.
Тем не менее, если вы собираетесь начать работу с вашими критическими системными библиотеками вручную, вам нужно убедиться, что вы все поняли правильно, или ваш единственный выбор - сбросить с нуля и переустановить всю систему с нуля.
Из вашего описания звучит так, будто в / lib установлено множество неверных библиотек, которые заражают вашу систему. Попробуйте запустить ldd /usr/lib/rstudio/bin/rsession
и просматривая итоговый список, по одному, и связывая эти файлы с нужными.