install_name_tool поврежденный объект (команда загрузки 23 cmdsize равна нулю) - Mac OS X Yosemite
Установка cunn for torch на Yosemite не удалась из-за ошибки в поврежденном объекте.
-- Install configuration: "Release"
-- Installing: /usr/local/lib/luarocks/rocks/cunn/scm-1/lib/libcunn.so
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: object: /usr/local/lib/luarocks/rocks/cunn/scm-1/lib/libcunn.so malformed object (load command 23 cmdsize is zero)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: object: /usr/local/lib/luarocks/rocks/cunn/scm-1/lib/libcunn.so malformed object (load command 23 cmdsize is zero)
-- Installing: /usr/local/lib/luarocks/rocks/cunn/scm-1/lua/cunn/init.lua
-- Installing: /usr/local/lib/luarocks/rocks/cunn/scm-1/lua/cunn/test.lua
Updating manifest for /usr/local/lib/luarocks/rocks
cunn scm-1 is now built and installed in /usr/local/ (license: BSD)
Поиск в Интернете показывает, что это связано с повреждением библиотеки или обновлением install_name_tool. Я заменил имя_установки из XCode(6.1) в /usr/bin, но все равно получаю ту же ошибку. Ниже приведены некоторые диагностики
$ ls -l $(which install_name_tool)
-rwxr-xr-x 1 root admin 14192 Nov 8 11:25 /opt/local/bin/install_name_tool
$ otool -L /usr/bin/install_name_tool
/usr/bin/install_name_tool:
/usr/lib/libxcselect.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
$ pkgutil --file-info /usr/bin/install_name_tool
volume: /
path: /usr/bin/install_name_tool
pkgid: com.apple.pkg.Essentials
pkg-version: 10.10.0.1.1.1412852630
install-time: 1413599255
uid: 0
gid: 0
mode: 755
Мне нужно, чтобы это работало, чтобы я мог использовать CUDA с факелом, я уже потратил на это часы, пожалуйста, помогите.
1 ответ
У меня была такая же проблема, и я решил ее, построив libcunn.so
на местном уровне. Запустите следующие команды:
git clone https://github.com/torch/cunn.git
ls cunn
cmake -E make_directory build
cd build/
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="/usr/local/bin/.." -DCMAKE_INSTALL_PREFIX="/usr/local/lib/luarocks/rocks/cunn/scm-1" && make
Тогда вы должны иметь
Linking CXX shared module libcunn.so
Затем просто скопируйте библиотеку в целевую папку:
cp libcunn.so /usr/local/lib/lua/5.1/libcunn.so