Ошибка Lua при загрузке модуля libpng (Torch, MacOSX)

Как правильно загрузить libpng в Lua? Я запускаю Lua / Torch в iTorch Notebook в Mac OSX 10.10.3, где работают другие базовые функции Lua, такие как построение графиков и вычисления.

 brew install libpng

Предупреждение: libpng-1.6.17 уже установлена

Если я бегу:

require 'nn';
require 'image';
itorch.image(image.lena())

ошибка загрузки модуля 'libpng' из файла '/usr/local/lib/lua/5.1/libpng.so': dlopen (/usr/local/lib/lua/5.1/libpng.so, 6): Библиотека не загружена: / usr / local / lib / libpng15.15.dylib Ссылка на: /usr/local/lib/lua/5.1/libpng.so Причина: несовместимая версия библиотеки: libpng.so требует версии 33.0.0 или новее, но libpng15.15. dylib предоставляет предупреждение версии 29.0.0: не удалось загрузить (установлен ли он?) /usr/local/share/lua/5.1/dok/inline.lua:736: пакет libpng не найден, установите трассировку стека libpng: [C ]: в функции 'error' /usr/local/share/lua/5.1/dok/inline.lua:736: в функции 'error' /usr/local/share/lua/5.1/image/init.lua:142: в функции 'saver' /usr/local/share/lua/5.1/image/init.lua:355: в функции 'save' /Users/MY/torch/install/share/lua/5.1/itorch/gfx.lua: 25: в функции 'f' [строка «local f = function () return itorch.image (iii) ...»]: 1: в основном блоке [C]: в функции 'xpcall' / Users / MY / torch / установка / с hare / lua / 5.1 / itorch / main.lua: 177: в функции /Users/MY/torch/install/share/lua/5.1/lzmq/poller.lua:75: в функции 'опрос' / Users / MY / torch /install/share/lua/5.1/lzmq/impl/loop.lua:307: в функции 'poll' /Users/MY/torch/install/share/lua/5.1/lzmq/impl/loop.lua:325: в функция 'sleep_ex' /Users/MY/torch/install/share/lua/5.1/lzmq/impl/loop.lua:370: в функции 'start' /Users/MY/torch/install/share/lua/5.1/itorch /main.lua:344: в основном блоке [C]: в функции 'require' [string "arg = {'/ Users / MY / .ipython / profile_default / secu ..."]: 1: в основном блоке


person mikal94305    schedule 01.06.2015    source источник


Ответы (2)


У меня была аналогичная проблема (OSX 10.9.5). Вероятно, у вас установлено несколько версий libpng, одна из которых вызывается во время установки luarocks с архитектурой i386 (требуется x86_64).

Чтобы решить эту проблему:

  1. Попробуйте снова установить образ и прочитать журнал:

    установочный образ luarocks

  2. Проверьте журнал, чтобы увидеть, получаете ли вы сообщение типа:

    ld: предупреждение: игнорирование файла /Library/Frameworks//libpng.framework/libpng, отсутствие требуемой архитектуры x86_64 в файле /Library/Frameworks//libpng.framework/libpng (2 фрагмента)

  3. В этом случае (при условии использования brew) удалите фреймворк libpng в / Library / Frameworks и выполните

    brew install libpng --universal

  4. Переустановите образ и запустите.

Это сработало для меня, надеюсь, это сработает и для вас.

person Tristan SYLVAIN    schedule 03.06.2015

Переустановка пакета изображений, а также принудительное связывание libpng могут исправить это:

brew link libpng --force
luarocks install image
person smhx    schedule 01.06.2015
comment
Я сделал это, и ошибок непосредственно из этих команд не было, но, возвращаясь к itorch, происходит та же ошибка загрузки модуля libpng. Я удалил и переустановил сам lua, и никакой разницы. Я даже вручную загрузил libpng с: mac-dev-env.patrickbougie.com/libpng Но разницы не было. Нужно ли устанавливать мои пути в разные каталоги? - person mikal94305; 03.06.2015