Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DllImport导入的dlopen不能加载动态库问题 #9

Open
fettliu opened this issue Nov 3, 2021 · 3 comments
Open

DllImport导入的dlopen不能加载动态库问题 #9

fettliu opened this issue Nov 3, 2021 · 3 comments

Comments

@fettliu
Copy link

fettliu commented Nov 3, 2021

环境:龙芯3A3000 + 中标麒麟5
使用GtkSharp库,这个库用DllImport得到dlopen及dlsym两个函数,再去加载libgtk-3.so相关函数。

问题:实际运行依赖GtkSharp的项目时,总体是找不到文件。
我的临时、间接解决方法:自己写了一个so,映射到libdl.so里面的dlopen、dlsym,修改GtkSharp源代码,加载我的so,GtkSharp即可正常运行。

请问,这是一个Bug吗?还是哪里使用不对?
请问,你们的项目还在维护吗?本网站里搜索不到DllImportAttribute,是用了什么方法引用的github.com/dotnet中的项目吗?

@shushanhf
Copy link
Member

(1) 我们发布的MIPS64架构安装包在龙芯开源社区 http://www.loongnix.cn/index.php/Dotnet
(2) 我们今后研发重点支持架构是LoongArch64架构,MIPS64架构代码目前没有在升级研发的计划;
龙芯3A5000(LoongArch64)之前的dotnet项目,龙芯平台的也会做一个支持过渡维护阶段。
(3) DllImportAttribute这个我本地了解一下再回复你。至于你说的GtkSharp环境,我这里暂时没有,后面需要可以再沟通吧。

@fettliu
Copy link
Author

fettliu commented Nov 3, 2021

好的,感谢!
https://github.com/GtkSharp/GtkSharp/blob/develop/Source/Libs/Shared/FuncLoader.cs
导入dlopen在16行。

我用c++,py分别试过dlopen去加载so,都没问题。

@shushanhf
Copy link
Member

好的,感谢! https://github.com/GtkSharp/GtkSharp/blob/develop/Source/Libs/Shared/FuncLoader.cs 导入dlopen在16行。

我用c++,py分别试过dlopen去加载so,都没问题。

因为常规的coreclr测试集里面是有C#调用so库是正常的。
至于你反馈的问题,我们再分析看看,后续再和你沟通。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants