背景
错误信息:Unable to load shared library ‘libgdiplus‘ or one of its dependencies
解析:libgdiplus是Linux支持Netcore的图形库,比如System.Drawing要用,在线安装都容易,离线就处理起来恶心了
以下事爬坑记录,思路:在有网的Linux 下载依赖包,然后再拷贝rmp包去离线服务器安装
参考3:成功!!!!!!!!研究了一个礼拜卧槽
DockerFile里面加这4个RUN
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
COPY . .
EXPOSE 80
RUN apt-get update -y
RUN apt-get install -y libgdiplus
RUN apt-get clean
RUN ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll
ENTRYPOINT ["dotnet", "netcore.dll"]
参考1(失败):各种依赖装不上
https://www.10qianwan.com/articledetail/798296.html
Unable to load shared library ‘libgdiplus‘ or one of its dependencies_棉晗榜的博客-CSDN博客
下载依赖包(有网的Linux,把下载到了root->nfs下)
yumdownloader --resolve --destdir=/root/nfs autoconf automake libtool gcc-c++ freetype-devel fontconfig libxft-devel libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel libexif-devel glib2-devel cairo-devel
进入(手动把包卡拷贝到没网的Linux,然后进去目录)
cd /root/netcore/nfs
执行安装
rpm -ivh *.rpm --force --nodeps
其他收集资料,上面是rmp安装方式,下面是gz的安装方式,这里说一下这里拷贝等操作,都没哟用Linux命令,直接WinXP,图形化拷贝的,建议拷贝和修改文件都可以通过WinXP处理,适合新手
查看日志
docker logs coreapi
安装
https://www.tcpdump.org/release/libpcap-1.10.1.tar.gz
cd /root/netcore/libpcap-1.10.1
chmod +x configure
./configure
make
make install
源码编译好像失败了
https://codeload.github.com/westes/flex/zip/refs/heads/master
cd /root/netcore/flex-master
chmod +x autogen.sh
./autogen.sh
configure && make && make install
参考2:失败
方法如下(顺序执行):
如果在执行sudo yum install libgdiplus时报错提示:No package libgdiplus available.那就先执行安装epel命令
yum install epel-release
epel安装完成之后,再重新安装
sudo yum install libgdiplus
接着
sudo ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll(32位系统)
sudo ln -s /usr/lib64/libgdiplus.so /usr/lib64/gdiplus.dll(64位系统)
重启服务,即可
————————————————
版权声明:本文为CSDN博主「Teln_小凯」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq873113580/article/details/124958492