LINUX.ORG.RU

Ошибка установки nodejs из-за версии glibc

 , ,


0

1

Всем привет. Устанавливаю nodejs на CentOS 7.9. В итоге получаю вот это:

# yum install nodejs
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: mirrors.datahouse.ru
 * extras: mirrors.datahouse.ru
 * updates: mirrors.datahouse.ru
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 2:18.2.0-1nodesource will be installed
--> Processing Dependency: libstdc++.so.6(GLIBCXX_3.4.21)(64bit) for package: 2:nodejs-18.2.0-1nodesource.x86_64
--> Processing Dependency: libc.so.6(GLIBC_2.28)(64bit) for package: 2:nodejs-18.2.0-1nodesource.x86_64
--> Processing Dependency: libm.so.6(GLIBC_2.27)(64bit) for package: 2:nodejs-18.2.0-1nodesource.x86_64
--> Processing Dependency: libstdc++.so.6(CXXABI_1.3.9)(64bit) for package: 2:nodejs-18.2.0-1nodesource.x86_64
--> Processing Dependency: libstdc++.so.6(GLIBCXX_3.4.20)(64bit) for package: 2:nodejs-18.2.0-1nodesource.x86_64
--> Finished Dependency Resolution
Error: Package: 2:nodejs-18.2.0-1nodesource.x86_64 (nodesource)
           Requires: libm.so.6(GLIBC_2.27)(64bit)
Error: Package: 2:nodejs-18.2.0-1nodesource.x86_64 (nodesource)
           Requires: libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
Error: Package: 2:nodejs-18.2.0-1nodesource.x86_64 (nodesource)
           Requires: libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
Error: Package: 2:nodejs-18.2.0-1nodesource.x86_64 (nodesource)
           Requires: libstdc++.so.6(CXXABI_1.3.9)(64bit)
Error: Package: 2:nodejs-18.2.0-1nodesource.x86_64 (nodesource)
           Requires: libc.so.6(GLIBC_2.28)(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Попробовал сделать вот так:

 yum install libstdc++.so.6
<...>
Running transaction
  Installing : libgcc-4.8.5-44.el7.i686                                                                                              
  Installing : glibc-2.17-325.el7_9.i686                                                                                              
  Installing : nss-softokn-freebl-3.67.0-3.el7_9.i686                                                                                 
  Installing : libstdc++-4.8.5-44.el7.i686                                                                                            
  Verifying  : libstdc++-4.8.5-44.el7.i686                                                                                            
  Verifying  : nss-softokn-freebl-3.67.0-3.el7_9.i686                                                                                 
  Verifying  : glibc-2.17-325.el7_9.i686                                                                                              
  Verifying  : libgcc-4.8.5-44.el7.i686                                                                                               

… но проблема осталась.

# strings /usr/lib/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_DEBUG_MESSAGE_LENGTH

Причём раньше на той же конфигурации CentOS нода нормально ставилась. Теперь чего-то не хватает, можно ли это доустановить? Или я неправильно ошибку понимаю?

В инете пишут:

your libstdc++.so.6 not including GLIBCXX_3.4.21, so you need to replace that library. So recreate symbolic with libstdc++.so.6.0.28 will fix your problem

А какую именно-то симв. ссылку пересоздать нужно, не пойму…

Novascriptum ()
Ответ на: комментарий от Novascriptum

А какую именно-то симв. ссылку пересоздать нужно, не пойму…

libstdc++.so.6 -> libstdc++.so.6.0.28

ссылка у вас сама обновится, если найдете более свежую libstdc++

Стоп - у вас 32-разрядная система (Installing : libstdc++-4.8.5-44.el7.i686). Нифига вы пытаетесь поставить nodejs.x86_64?

sigurd ★★★★★ ()
Ответ на: комментарий от Novascriptum

Да вроде система 64-битная:

а это тогда нафига:

Installing : libgcc-4.8.5-44.el7.i686
Installing : glibc-2.17-325.el7_9.i686
Installing : nss-softokn-freebl-3.67.0-3.el7_9.i686
Installing : libstdc++-4.8.5-44.el7.i686

вам нужна более новая libstdc++ - и скорее всего более новый gcc

Скорее всего, вам нужен более старый пакет nodejs. Тот что вы пытаетесь поставить - требует обновить системные библиотеки.

sigurd ★★★★★ ()
Последнее исправление: sigurd (всего исправлений: 1 )

Забить, например, поставить с помощью NVM(или что там сейчас для ноды в трендах?) или Docker.

th3m3 ★★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.