Я попытался установить пакет «kohonen», и это результат при попытке запустить его.
> require(kohonen)
Le chargement a nécessité le package : kohonen
Error: package or namespace load failed for ‘kohonen’ in dyn.load(file, DLLpath = DLLpath, ...):
impossible de charger l'objet partagé '/home/sebastien/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/libs/Rcpp.so':
~/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/libs/Rcpp.so: symbol _ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
Я пытался понять, что происходит, но не нашел, как это исправить. у меня убунту 14.04
Я видел, что это можно исправить, понизив версию gcc до 4.x (возможно, 4.2, так как пакет успешно установлен на моем latpopo с этой версией gcc)
Текущая версия:
$ gcc --version
gcc (Homebrew gcc 5.4.0) 5.4.0
Я видел, что у вас может быть установлено несколько версий gcc, но я не знаю, как указать gcc, используемый R.
РЕДАКТИРОВАТЬ Я пытался использовать gcc 4.8, и R использует его. Но это не решило мою проблему...
РЕДАКТИРОВАТЬ 2
Это может быть связано с GLIBCXX_3.4.21 и libstdc++.so.6 с
Но у меня GLIBCC3.4.21
sebastien@sebastien-LABOFARM-HP-Z640-Workstation:~/.R$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
sebastien@sebastien-LABOFARM-HP-Z640-Workstation:/usr/lib/x86_64-linux-gnu$ ll libstdc*
lrwxrwxrwx 1 root root 19 août 20 21:01 libstdc++.so.6 -> libstdc++.so.6.0.24*
-rwxr-xr-x 1 root root 1114368 août 20 21:15 libstdc++.so.6.0.24*
Наконец-то я проверил свой ноутбук, на котором работает пакет kohonen, и нашел это:
-rwxr-xr-x 1 root wheel 1471104 12 mar 2016 libstdc++.6.0.9.dylib
lrwxr-xr-x 1 root wheel 21 28 oct 2015 libstdc++.6.dylib -> libstdc++.6.0.9.dylib
lrwxr-xr-x 1 root wheel 17 28 oct 2015 libstdc++.dylib -> libstdc++.6.dylib
Так что в основном я думаю, что моя проблема в том, что libstdС++ старше, поэтому пакет не будет работать. Я пытался обновить gcc, но он не обновляет libstdc++.