在我自己的计算机上,我编译了一个用C编写的Ruby扩展。然后我将require 'mytest/mytest'
添加到我的控制器中并且它可以工作。然后我将文件移动到服务器,当我启动Mongrel时,我收到消息:
cannot open shared object file: No such file or directory - {path_to_file}/mytest.so (LoadError)
如果我遵循该路径,则会有一个文件mytest.so
。
mytest.so
上的权限设置为0777,检查完整路径,仍然相同。
无法重新编译因为我在生产服务器上没有gcc。
你有什么想法吗?
答案 0 :(得分:1)
它可能是不同的架构,即你有i386,这是x86_64。查看uname -a
和file mytest.so
答案 1 :(得分:0)
是的,您可能需要重新编译该二进制扩展 - 您可以使用ldd命令检查依赖项