S3.Blog

21 Ноября 2024
A A A   RSS-лента
"Я знаю, что ничего не знаю, но многие не знают и этого". Сократ [?].

Linux: libgcc_s.so.1 must be installed for pthread_cancel to work

Дата последнего изменения: 20 Декабря 2009
Метки статьи: Фиксы & Хаки, Linux
libgcc_s.so.1 must be installed for pthread_cancel to work
Даже если у вас стоит самая свежая версия libgcc, это еще не значит что запускаемая программа не выдаст вышеозначенную ошибку :)
 

Вот и я долго мучался не понимая почему у меня не стартует нужное бинарное приложение. Всё оказалось прозаично - бинарник был написан пару лет назад и уже не поддерживал свежие версии libgcc. К тому же у меня еще 64х-битная платформа сервера. В общем родной /lib64/libgcc_s.so.1 версии 4.4.1 от 29-07-2009 никак не подходил запускаемому приложению.

Но, в прочем, не всё так плохо. Достаточно найти старую версию libgcc (например libgcc_s-4.1.2-20070925.so.1), а в шелле прописать переменную LD_PRELOAD
export LD_PRELOAD=PATH_TO_FILE/libgcc_s-4.1.2-20070925.so.1
Правда теперь, при выполнении многих команд, например того же ls, перед выдачей результата будет выдаваться ошибка:
ERROR: ld.so: object '/usr/lib/libgcc_s-4.1.2-20070925.so.1' from LD_PRELOAD cannot be preloaded: ignored.

Поэтому, после использования приложения, которому нужна была старая версия libgcc, имеет смысл удалить переменную LD_PRELOAD
export -n LD_PRELOAD




Похожие материалы:




 
  Имя *:   Решите пример *: =
 
Полужирный Курсив Подчеркнутый Перечеркнутый
 
Вставить изображение Сделать цитатой Вставить ссылку Вставить код

Вставить смайл
 
 

 



© S3.Blog: Если критикуешь, не предлагая решения проблемы, то ты становишься частью этой проблемы.