1C 8.3 не видит libWand.so на Linux (Fedora) - пример установки. #699686


#0 by rinat_epos
Система Fedora 20 (Heisenbug) x86_64 Устанавливается 1С Предприятие 8.3.4.428 x86_64 сервер и клиент на Linux и клиент 32 разр на windows. Результат толстый клиент - работает без проблем. Тонкий клиент (режим управл. приложения)после ввода пароля завершается с ошибкой: "Ошибка загрузки библиотеки libWand.so по причине:Библиотека не обнаружена." Cтандартный совет сделать симлинк на библиотеку libMagickWand не помогает (Были испробованы все варианты). Установка последнего пакета с imagemagick.org не помагает. Начинаем разбираться: 1) Что у нас есть: yum info ImageMagick выдает Available Packages Библиотеки этого пакета: /usr/lib64/libMagickWand-6.Q16.so.1.0.0 2) Как победить: Теперь самое интересное - что все таки происходит? Тут не обойтись без strace - утилита для отслеживания системных вызовов. Находим pid рабочего процесса 1С rphost: ps -afx | grep rphost Желательно чтобы был один процесс rphost. Дело в том, что в 8.3 мы уже не можем создавать или удалять процессы - все в автомате. Подключимся к рабочему процессу и выловим все системные вызовы. Для этого: Откроем 1С на клиенте и остановимся на моменте когда пароль набран , но еще не нажата кнопка ОК. (Это для того, чтобы не собирать слишком большой файл логов strace ). В консоли сервера вводим strace -p <Ваш pid> -f -s 512 -o /root/123456.txt (-f - обязательно указываем отслеживать все порожденные субпроцессы, -s 512 - длина строки в логах , стандартное значение слишком маленькое, -o - это имя файла логов) и нажимаем Enter, затем сразу нажимаем Ок в форме ввода пароля 1С, после вывода ошибки 1С, останавливаем strace и изучаем файл логов. Ищем строку с вхождением "Wand" и получаем: Это вызов "ldconfig -p", в котором ищется подстрока  libMagickWand.so. Но этой подстроки нет, т.к. в ImageMagick 6.8.6.3 нет такой библиотеки, она переименована в libMagickWand-6.Q16.so. Но 1С попрежнему ищет библиотеку libMagickWand.so, причем анализируя вывод ldconfig - т.е. если мы сделаем симлинк (ln -s) это не поможет т.к все равно не попадет в вывод ldconfig. Почему так сделано ? Не понятно. Далее мне пришлось найти последний пакет до переименования от CENTOS- ImageMagick-6.7.9-10.src.rpm (Это исходник - мы будем делать rpmbuild ) Удалить стандартный пакет yum remove ImageMagick Делаем ребилд из исходника rpm. rpmbuild --rebuild ImageMagick-6.7.9-10.src.rpm x86_64]# rpm -qlp /root/rpmbuild/RPMS/x86_64/ImageMagick-6.7.9-10.x86_64.rpm - посмотрим что в пакете rpm -ivh /root/rpmbuild/RPMS/x86_64/ImageMagick-6.7.9-10.x86_64.rpm - установим пакет. Затем перезапустим сервер. После этого у меня все заработало. Наименование библиотек пакета libMagickWand изменилось в 2013 году начиная с версии 6.8 libWand.so это старое название библи
#1 by Banned
мда.... Всё в этой поделке студенческой не как у людей....
#2 by rinat_epos
Может, кто поправит. Как обстоят дела на Ubunta и Centos ? Какая библиотека ImageMagick стоит?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С