LINUX.ORG.RU

ldconfig: is not a symbolic link

 , ,


0

2

Столкнулся с одним бинарным пакетом, который с собой тащит зависимости (что в принципе нормально). Но предоставляются зависимости в не совсем правильно виде. К примеру, есть две библиотеки:

libboost_filesystem.so.1.53.0
libboost_filesystem.so

Если добавить путь в ld.conf, то будет жалоба от него ldconfig: is not a symbolic link, поскольку оба файла одинакового размера и so не является ссылкой. Можно ли скрипт забабахать, который прошёлся бы по файлам в директории и вместо одинакового so создавал бы ссылку?

По хорошему, нужно бы вендору отправить заявку. Просто интересно, вдруг кто с таким уже сталкивался?

★★★★★

можно конечно забабахать. Я такое делал. Правда руками, потому как всего 3 файла нужно было.

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

Ну я пробежался, вроде бы штук 20-25 их.. руками точно делать не буду. Удалил этот путь их ld.conf и использую LD_LIBRARY_PATH - так не жалуется вроде )

UVV ★★★★★
() автор топика

Можно ли скрипт забабахать, который прошёлся бы по файлам в директории и вместо одинакового so создавал бы ссылку?

По идее, если удалить libboost_filesystem.so и запустить ldconfig, то он сам ссылки и создаст (есть флаг для подавления этого, но по умолчанию должен создавать).

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

хм.. т.е. скрипт по сути сводится к удалению одинаковых файлов с расширением so..

UVV ★★★★★
() автор топика

как-то так

for llib in *.so*; do
  for lib in "$llib"*; do
    if cmp "$lib" "$llib"; then
      ln -sf "$lib" "$llib"
    fi
  done
done
f1u77y ★★★★
()

Можно ли скрипт забабахать, который прошёлся бы по файлам в директории и вместо одинакового so создавал бы ссылку?

fdupes -s?

AITap ★★★★★
()

Если добавить путь в ld.conf

Зачем путь к частным зависимостям одного пакета добавлять в ld.conf?

proud_anon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.