如何在Lua中正确加载libpng?我在Mac OSX 10.10.3中的iTorch Notebook中运行Lua / Torch,其中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]:在功能'错误' /usr/local/share/lua/5.1/dok/inline.lua:736:在功能'错误' /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' [string" local f = function()返回itorch.image(iii)..."]:1:在主块中 [C]:在功能' xpcall' /Users/MY/torch/install/share/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:在功能'民意调查' /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:在功能'开始' /Users/MY/torch/install/share/lua/5.1/itorch/main.lua:344:在主要块中 [C]:在功能中要求' [string" arg = {' /Users/MY/.ipython/profile_default/secu ..."]:1:在主要块中
答案 0 :(得分:3)
我遇到了类似的问题(OSX 10.9.5)。您可能安装了多个版本的libpng,其中一个版本在安装具有架构i386(需要x86_64)的luarocks时调用。
解决这个问题:
再次尝试安装图片并阅读日志:
luarocks安装图片
检查日志以查看是否收到类型为
的消息ld:警告:忽略文件/Library/Frameworks//libpng.framework/libpng,缺少文件/Library/Frameworks中的所需架构x86_64 //libpng.framework/libpng(2个切片)
如果是这种情况(假设使用brew),请删除/ Library / Frameworks中的libpng框架并执行
brew install libpng --universal
重新安装图片并运行。
这对我有用,我希望它也适合你。
答案 1 :(得分:1)
重新安装映像包以及强制libpng的链接可能会解决它:
brew link libpng --force
luarocks install image