Ошибка GLIBC Not found

Backend Java Developer
Backend Java Developer

Очередное обновление сервера на CentOS 7. Ничего не предвещало беды. Но после завершения обновления перестали работать все веб-приложения.

Далее я ыполнил ребут, по заветам поговорки: “сто бед один reboot”. Но сервер не поднялся. Ребята из тех-поддержки стартанули его, после чего большинство приложений запустилось. Но появилась ошибка: glibc_2.18 not found.

Из-за этой ошибки перестал запускаться polkit. А из-за этого уже не запускался postgres. А postgres нужен для моих веб-приложений. Вот такой каскадный сбой.

Ошибка glibc 2.18
polkit не стартует :(

Результат команды systemctl
Вот так выглядело выполнение команды systemctl

Что такое glibc?
glibc — GNU C Library (GNU библиотека). Glibc является библиотекой Си, которая обеспечивает системные вызовы и основные функции, такие как open, malloc, printf и т. д. Библиотека C используется для всех динамически скомпонованных программ.

Решается проблема скачиванием и компиляцией недостающей версии библиотеки. В моем случае Glibc 2.18.

Не забудьте перейти в нужную для установки директорию. Рекомендую папку /opt.

Скрипт установит библиотеку в директорию, в которой вы находитесь.
wget https://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
tar -zxvf glibc-2.18.tar.gz
cd glibc-2.18
mkdir build
cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make && make install

Проверяем, что компонент установился командой:

strings /usr/lib64/libc.so.6 | grep ^GLIBC_

Проверка установки glibc
Мы видим, что GLIBC 2.18 появился в списке

После этого я запустил все сервисы по очереди: polkit, postgresql и приложения. И все отлично работает.

Комментарии