Slackware: error while loading shared libraries

Това сигурно е любимата грешка на много млади и стари любители на Slackware.

Какво означава всъщност “error while loading shared libraries”?

Както при Windows така и при Linux по-сериозните приложения изполват много библиотеки (под Windows .dll, а под Linux .so)  Когато някоя от тях липсва на твърдия диск или пътя до нея не е оказан операционната система извежда гореспоменатото съобщение.

Най-често съобщението се вижда при линукс дистрота, които не поддържат взаимовръзка между пакетите, точно както е и под Slackware.

Как се решава проблема? Сравнително лесно!

Взимате името на липсващата библиотека и я търсите из пакетите на Slackware: http://packages.slackware.it

За да разберете кои са библиотеките, които дадена програма използва, под Linux можете да използвате програмката ldd. Ето и пример с ls:

ldd /usr/bin/ls
linux-gate.so.1 =>  (0xffffe000)
librt.so.1 => /lib/librt.so.1 (0xb7f24000)
libacl.so.1 => /lib/libacl.so.1 (0xb7f1d000)
libc.so.6 => /lib/libc.so.6 (0xb7dd2000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7dbb000)
/lib/ld-linux.so.2 (0xb7f3c000)
libattr.so.1 => /lib/libattr.so.1 (0xb7db7000)

Ако по някаква причина някоя от библиотеките липсва, то след => ще се изписва “not found

Leave a Reply

CommentLuv badge