-1

Yosemite で torch の cunn をインストールすると、不正なオブジェクト エラーで失敗します。

 -- 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 の更新に関連していることがわかります。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を使用できるようにするには、これが必要です。すでに何時間も費やしています。助けてください。

4

1 に答える 1

0

私は同じ問題を抱えていたので、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
于 2014-11-10T04:55:59.550 に答える