请问函数计算是不能用代码按绝对路径加载so动态库吗?
代码根目录放了so库,用绝对路径加载,调用报错Process exited unexpectedly before completing request
在函数计算中,通常不能使用代码按绝对路径加载动态链接库(so库)。函数计算是一种无服务器计算服务,它通过在云上动态运行函数来提供计算能力。为了确保隔离性、可扩展性和安全性,函数计算的执行环境是临时创建的容器,不允许直接访问主机文件系统。
因此,您无法在函数计算中通过代码直接指定绝对路径来加载动态链接库。相反,您需要将所需的依赖库打包到函数计算的部署包中,并在函数代码中使用相对路径或其他约定的方式来引用这些库。
LD_LIBRARY_PATH linux 应该都是按照这个变量来的
LD_LIBRARY_PATH 您看下这个现在是什么 看看有没有 /code 目录
此答案来自钉钉群“阿里函数计算官网客户”
在阿里云函数计算环境中,由于函数运行环境的文件系统是隔离的,无法直接访问宿主机的文件系统,因此不能使用绝对路径来加载SO动态库。你需要将SO动态库放置在函数计算提供的存储空间中,然后通过相对路径来加载和使用。
在你的错误日志中,"Process exited unexpectedly before completing request" 可能是由于加载SO动态库失败导致的。这可能是因为加载路径不正确,或者SO动态库不在指定的加载路径下。
你可以尝试以下步骤来解决这个问题:
将SO动态库上传到函数计算提供的存储空间中。
在代码中,使用相对路径来加载SO动态库。例如,如果你的代码和SO动态库都位于同一个目录下,你可以使用 "./" 作为加载路径。
检查你的代码,确保你能够正确地加载和使用SO动态库。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。