ImageMagick: OSError: /lib/libc.so.6: версия `GLIBC_2.XX 'не найдена - PullRequest
1 голос
/ 05 ноября 2019

Я работаю над встроенной системой Linux и пытаюсь запустить python-wand ...

Но я не могу ничего установить на эту систему, поэтому я включил их в папку lib моего приложения(эта папка будет связана с системой).

Невозможно обновить версию glibc системы.

Чтобы проверить, работает ли она, я использую:

from ctypes import *
cdll.LoadLibrary('libMagickWand-6.Q16.so.6')

При этом будет выдано:

Ошибка OSE: /lib/libc.so.6: версия `GLIBC_2.17 'не найдена (требуется ../libMagickCore-6.Q16.so.6)

Так возможно ли построить ImageMagick с другой упакованной версией glibc?

Я новичок в компиляции, но это должно работать, если я могу изменить glibc только для ImageMagick.

Возможно ли, если я скомпилирую ImageMagick с более старой версией glibc?
Повлияет ли скомпилированный код на версию gcc / glibc?

Ответы [ 2 ]

2 голосов
/ 11 ноября 2019

Наконец-то я запустил это на своей встроенной системе:

  • Получите ту же версию glibc / eglibc в кросс-системе компиляции.
  • Скомпилируйте imagemagick с этой версией glibc.

Не забудьте установить libpng для поддержки png ...

Примечание:

Если вы хотите использовать imagemagick в сочетании сghostscript для преобразования pdf -> изображения не забывайте, что ghostscript лицензирован по AGPL, и вы не можете использовать его в своем продукте, если не используете ту же лицензию или не купите лицензию ....

0 голосов
/ 08 ноября 2019

Вы можете установить LD_LIBRARY_PATH на свой путь (./lib) перед запуском python.

Если это безголовая система, вы можете написать сценарий оболочки помимо вашего сценария python, чтобы установить переменную прямо перед запуском pythonа затем запустить Python. Затем используйте этот скрипт в своем коде автозапуска.

...