Подтвердить что ты не робот

Сбой ядра Jupyter R

Я только что установил основы R из Anaconda (с R, уже установленным на моем компьютере), чтобы использовать R в Jupyter.

Теперь, когда я открываю новый ноутбук R в Jupyter, через несколько секунд (даже не набрав ничего), ядро ​​сбой и его необходимо перезапустить.

Ошибка, которую я получаю на терминале,

[I 12:30:36.297 NotebookApp] Kernel started: dd5dd612-2c8f-4235-9619-1cf5a46b3e89

IRkernel:: главная() Ошибка в dyn.load(файл, DLLpath = DLLpath,...):   невозможно загрузить общий объект '/home/alberto/R/x86_64-pc-linux-gnu-library/3.2/stringi/libs/stringi.so':   /home/alberto/anaconda 3/lib/R/library/rzmq/libs/../../../../libstdc++.so.6: version CXXABI_1.3.8' not found (required by /home/alberto/R/x86_64-pc-linux-gnu-library/3.2/stringi/libs/stringi.so) Calls: :: ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous> Execution halted [I 12:30:39.299 NotebookApp] KernelRestarter: restarting kernel (1/5) IRkernel::main() Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared object '/home/alberto/R/x86_64-pc-linux-gnu-library/3.2/stringi/libs/stringi.so': /home/alberto/anaconda3/lib/R/library/rzmq/libs/../../../../libstdc++.so.6: version CXXABI_1.3.8 'не найден (требуется/home/alberto/R/x86_64-pc-linux-gnu-library/3.2/stringi/libs/stringi.so) Вызовы:... tryCatch → tryCatchList → tryCatchOne → Исполнение приостановлено [I 12: 30: 42.309 NotebookApp] KernelRestarter: перезапуск ядра (2/5) IRkernel:: главная() Ошибка в dyn.load(файл, DLLpath = DLLpath,...):   невозможно загрузить общий объект '/home/alberto/R/x86_64-pc-linux-gnu-library/3.2/stringi/libs/stringi.so':   /home/alberto/anaconda 3/lib/R/library/rzmq/libs/../../../../libstdc++.so.6: версия CXXABI_1.3.8' not found (required by /home/alberto/R/x86_64-pc-linux-gnu-library/3.2/stringi/libs/stringi.so) Calls: :: ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous> Execution halted [I 12:30:45.315 NotebookApp] KernelRestarter: restarting kernel (3/5) IRkernel::main() Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared object '/home/alberto/R/x86_64-pc-linux-gnu-library/3.2/stringi/libs/stringi.so': /home/alberto/anaconda3/lib/R/library/rzmq/libs/../../../../libstdc++.so.6: version CXXABI_1.3.8 'не найден (требуется/home/alberto/R/x86_64-pc-linux-gnu-library/3.2/stringi/libs/stringi.so) Вызовы:... tryCatch → tryCatchList → tryCatchOne → Исполнение приостановлено [W 12: 30: 46.485 NotebookApp] Время ожидания ответа kernel_info от dd5dd612-2c8f-4235-9619-1cf5a46b3e89 [I 12: 30: 48.322 NotebookApp] KernelRestarter: перезапуск ядра (4/5) ВНИМАНИЕ: root: kernel dd5dd612-2c8f-4235-9619-1cf5a46b3e89 перезапущен IRkernel:: главная() Ошибка в dyn.load(файл, DLLpath = DLLpath,...):   невозможно загрузить общий объект '/home/alberto/R/x86_64-pc-linux-gnu-library/3.2/stringi/libs/stringi.so':   /home/alberto/anaconda 3/lib/R/library/rzmq/libs/../../../../libstdc++.so.6: версия `CXXABI_1.3.8 'не найдена (требуется/home/alberto/R/x86_64-pc-linux-gnu-library/3.2/stringi/libs/stringi.so) Вызовы:... tryCatch → tryCatchList → tryCatchOne → Исполнение приостановлено [W 12: 30: 51.329 NotebookApp] KernelRestarter: перезагрузка не выполнена [W 12: 30: 51.329 NotebookApp] Kernel dd5dd612-2c8f-4235-9619-1cf5a46b3e89 умер, удалив с карты. ОШИБКА: root: ядро ​​dd5dd612-2c8f-4235-9619-1cf5a46b3e89 перезапустили не удалось! [W 12: 30: 51.361 NotebookApp] Ядро удалено перед сеансом

Я предполагаю, что это может быть проблема с общими библиотеками, но я не могу понять, как ее решить...

4b9b3361

Ответ 2

У меня была та же проблема. Проблема в том, что ядро ​​R в Jupyter смотрело на другое место, у которого была более ранняя версия ibstdС++. So.6.

Ниже выполнялись действия для меня (вошли в систему как root, так как R и python были установлены как root):

cp -fv /usr/local/lib64/libstdc++* /lib64/
cd /lib64
ln -sfT libstdc++.so.6.0.21 libstdc++.so.6

Пояснение:

[[email protected] ~]# strings /usr/local/lib64/libstdc++.so.6 | grep CXXABI_1.3
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3
CXXABI_1.3.2
CXXABI_1.3.6
CXXABI_1.3.9
CXXABI_1.3.1
CXXABI_1.3.5
CXXABI_1.3.8
CXXABI_1.3.4
CXXABI_1.3.7
CXXABI_1.3.3
[[email protected] ~]# strings /lib64/libstdc++.so.6 | grep CXXABI_1.3
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7

Мы видим, что /lib 64/libstdc++.so.6 указывает на более старую версию, чем/usr/local/lib64/libstdС++. so.6

[[email protected] ~]# ls /lib64/libstdc++.so.* -lrt
-rwxr-xr-x 1 root root   830776 Mar  5  2015 /lib64/libstdc++.so.5.0.7
lrwxrwxrwx 1 root root       18 Apr 29  2016 /lib64/libstdc++.so.5 -> libstdc++.so.5.0.7
lrwxrwxrwx 1 root root       19 Jan 27 01:46 /lib64/libstdc++.so.6 -> libstdc++.so.6.0.19
-rwxr-xr-x 1 root root 11103508 Feb  3 21:41 /lib64/libstdc++.so.6.0.19
-rwxr-xr-x 1 root root 11103508 Feb  3 21:41 /lib64/libstdc++.so.6.0.21
-rw-r--r-- 1 root root     2397 Feb  3 21:41 /lib64/libstdc++.so.6.0.21-gdb.py
[[email protected] ~]# ls /usr/local/lib64/libstdc++* -lrt
-rwxr-xr-x 1 root root      905 Jun 15  2016 /usr/local/lib64/libstdc++fs.la
-rw-r--r-- 1 root root 10964026 Jun 15  2016 /usr/local/lib64/libstdc++fs.a
-rwxr-xr-x 1 root root 11103508 Jun 15  2016 /usr/local/lib64/libstdc++.so.6.0.21
lrwxrwxrwx 1 root root       19 Jun 15  2016 /usr/local/lib64/libstdc++.so.6 -> libstdc++.so.6.0.21
lrwxrwxrwx 1 root root       19 Jun 15  2016 /usr/local/lib64/libstdc++.so -> libstdc++.so.6.0.21
-rwxr-xr-x 1 root root      965 Jun 15  2016 /usr/local/lib64/libstdc++.la
-rw-r--r-- 1 root root 28847974 Jun 15  2016 /usr/local/lib64/libstdc++.a

Итак, я скопировал все файлы libstd ++ из /usr/local/lib 64 в/lib64, а затем изменил софт-ссылку, чтобы указать на новую версию.