Ошибка перемещения libqt5 и libpng16

Я недавно обновил от 16,04 до 18,04 При попытке запустить qjack, я получаю эту ошибку

qjackctl: relocation error: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: symbol png_set_option version PNG16_0 not defined in file libpng16.so.16 with link time reference

Таким образом, я пытался переустановить qjack, весь qt5 lib и libpng16 lib напрасно. Таким образом, я имел более глубокий взгляд на libpng рассматриваемое и проверил символы.

readelf -Ws /usr/lib/x86_64-linux-gnu/libpng16.so.16 | grep png_set_option
    84: 0000000000008e00    89 FUNC    GLOBAL DEFAULT   13 png_set_option@@PNG16_0

Таким образом, png_set_option на самом деле определяется для PNG16_0 не так ли? Я действительно не знаю, что сделать для исправления этого.

1
задан 15 September 2018 в 14:05

1 ответ

Таким образом, я определил местоположение различных версий libpng16

locate libpng16.so.16
/home/julien/Software/Sen2Cor-2.4.0-Linux64/lib/libpng16.so.16
/home/julien/Software/Sen2Cor-2.4.0-Linux64/lib/libpng16.so.16.25.0
/home/julien/Software/VirtualGL/libpng-1.6.0/.libs/libpng16.so.16
/home/julien/Software/VirtualGL/libpng-1.6.0/.libs/libpng16.so.16.0.0
/opt/ardour4/lib/libpng16.so.16
/usr/lib/i386-linux-gnu/libpng16.so.16
/usr/lib/i386-linux-gnu/libpng16.so.16.34.0
/usr/lib/x86_64-linux-gnu/libpng16.so.16
/usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
/usr/local/lib/libpng16.so.16
/usr/local/lib/libpng16.so.16.0.0
/usr/local/lib/libpng16.so.16.34.0
/usr/local/lib.bak/libpng16.so.16
/usr/local/lib.bak/libpng16.so.16.0.0
/usr/local/lib.bak/libpng16.so.16.34.0

Я пытался найти lib, который не имел правильного символа

/usr/lib/x86_64-linux-gnu$ nm -D /usr/lib/x86_64-linux-gnu/libpng16.so.16 | grep png_set_option
0000000000008e00 T png_set_option

Это ничего не возвращает (символ отсутствует),

nm -D /usr/local/lib/libpng16.so.16 | grep png_set_option

Таким образом, я сделал символьную ссылку из плохого lib/usr/local/lib/libpng16.so.16 к хорошему/usr/lib/x86_64-linux-gnu/libpng16.so.16

sudo ln -sf /usr/local/lib/libpng16.so.16 /usr/lib/x86_64-linux-gnu/libpng16.so.16

Надеюсь эта справка, к сожалению, это может быть повреждено при обновлении. Не забывайте копировать/usr/local/lib/прежде в случае, если Вы повреждаете его

sudo cp -R /usr/local/lib /usr/local/lib.bak

Это решение вдохновлено этим сообщением

0
ответ дан 7 December 2019 в 23:17

Другие вопросы по тегам:

Похожие вопросы: