解决RHEL8.5下dotnetcore无法处理gif和jpg问题

之前是解决的8.5下的dotnet无法调libgdiplus绘图问题。解决之后发现只能处理bmp格式图。后面发现还能处理png格式图。对应gif和jpg格式的图则报错,为此专门写了测试程序测试这个问题。新电脑跑虚拟机真香,哈哈。

测试程序如下,如果加载gif和jpg则报错,导出指定这两种格式实际导出格式也是png:

using System;
using System.Drawing;

namespace lisdrawtest
{
    /// <summary>
    /// 供检验测试绘图环境
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("此程序为imedicallis提供用于测试linux下dotnetcore绘图环境");
            Console.WriteLine("创建位图");
            //创建空位图
            Image img = new Bitmap(300, 140);
            Console.WriteLine("创建画笔");
            //获得画图句柄
            Graphics g = Graphics.FromImage(img);
            Console.WriteLine("填充白色");
            g.Clear(Color.White);
            Console.WriteLine("创建Pen");
            Pen pen = new Pen(Color.Black);
            pen.Width = 1;
            //画横纵坐标线
            Console.WriteLine("画一条竖线");
            g.DrawLine(pen, 50, 100, 300, 100);
            Console.WriteLine("画一条横线");
            g.DrawLine(pen, 50, 100, 50, 0);
            Console.WriteLine("创建字体");
            Font myFont = new Font("宋体", 12, FontStyle.Regular);
            Console.WriteLine("创建画刷");
            Brush brush = new SolidBrush(Color.Black);
            Console.WriteLine("绘制字符串");
            g.DrawString("ZhangLainZhu test", myFont, brush, 10, 10);
            Image imgjpg = Image.FromFile(System.IO.Path.Combine(AppContext.BaseDirectory, "jpg.jpg"));
            g.DrawImage(imgjpg, 30, 30);
            Image imgbmp = Image.FromFile(System.IO.Path.Combine(AppContext.BaseDirectory, "bmp.bmp"));
            g.DrawImage(imgbmp, 30, 30);
            Image imggif = Image.FromFile(System.IO.Path.Combine(AppContext.BaseDirectory, "gif.gif"));
            g.DrawImage(imggif, 30, 30);
            Console.WriteLine("保存文件到:"+ System.IO.Path.Combine(AppContext.BaseDirectory, "lisdrawtest.bmp"));
            if (System.IO.File.Exists(System.IO.Path.Combine(AppContext.BaseDirectory,"lisdrawtest.bmp")))
            {
                System.IO.File.Delete(System.IO.Path.Combine(AppContext.BaseDirectory, "lisdrawtest.bmp"));
            }
            
            img.Save(System.IO.Path.Combine(AppContext.BaseDirectory, "lisdrawtest.bmp"),System.Drawing.Imaging.ImageFormat.Bmp);
            
            Console.WriteLine("测试完成,如果成功生成图片那么环境可用");
        }
    }
}

为此猜想应该是缺失这两种格式支持。结合之前编译命令应该要安装这两个包。
在这里插入图片描述

首先想到的是到yum库找这两个包安装,安装这些包之后发现还是不行。

[root@localhost net5.0]# yum list | grep gif
giflib.i686                                            5.1.4-3.el8                                            AppStream 
giflib.x86_64                                          5.1.4-3.el8                                            AppStream 
[root@localhost net5.0]# yum list | grep jpeg
libjpeg-turbo.x86_64                                   1.5.3-12.el8                                           @AppStream
libjpeg-turbo-devel.x86_64                             1.5.3-12.el8                                           @AppStream
openjpeg2.x86_64                                       2.4.0-4.el8                                            @AppStream
libjpeg-turbo.i686                                     1.5.3-12.el8                                           AppStream 
libjpeg-turbo-devel.i686                               1.5.3-12.el8                                           AppStream 
libjpeg-turbo-utils.x86_64                             1.5.3-12.el8                                           AppStream 
openjpeg2.i686                                         2.4.0-4.el8                                            AppStream 
openjpeg2-devel-docs.noarch                            2.4.0-4.el8                                            AppStream 
openjpeg2-tools.x86_64                                 2.4.0-4.el8                                            AppStream 
turbojpeg.i686                                         1.5.3-12.el8                                           AppStream 
turbojpeg.x86_64                                       1.5.3-12.el8                                           AppStream 
[root@localhost net5.0]# yum list | grep png
libpng.x86_64                                          2:1.6.34-5.el8                                         @anaconda 
libpng-devel.x86_64                                    2:1.6.34-5.el8                                         @base     
libpng.i686                                            2:1.6.34-5.el8                                         base      
libpng-devel.i686                                      2:1.6.34-5.el8                                         base      
libpng12.i686                                          1.2.57-5.el8                                           AppStream 
libpng12.x86_64                                        1.2.57-5.el8                                           AppStream 
libpng15.i686                                          1.5.30-7.el8                                           AppStream 
libpng15.x86_64                                        1.5.30-7.el8                                           AppStream 
texlive-dvipng.x86_64                                  7:20180414-23.el8                                      AppStream 
[root@localhost net5.0]# 

为此想到了可能要在安装包后重新编译libgdiplus,就编译,发现还是不行。gif一直不行。

在这里插入图片描述

为此想到源码编译gif包。

[root@localhost /]# yum install git
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:19:05 前,执行于 2023年03月24日 星期五 05时37分43秒。
软件包 git-2.27.0-1.el8.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
[root@localhost /]# git clone https://git.code.sf.net/p/giflib/code giflib-code
正克隆到 'giflib-code'...
remote: Enumerating objects: 4708, done.
remote: Counting objects: 100% (4708/4708), done.
remote: Compressing objects: 100% (4326/4326), done.
remote: Total 4708 (delta 3593), reused 525 (delta 380)
接收对象中: 100% (4708/4708), 1.22 MiB | 106.00 KiB/s, 完成.
处理 delta 中: 100% (3593/3593), 完成.
[root@localhost /]# ls
bin  boot  dev  dotnet  etc  giflib-code  home  lib  lib64  libgdiplus  lislibgdiplus  media  mnt  net5.0  opt  proc  root  run  sbin  srv  sys  test  tmp  usr  var
[root@localhost /]# cd /giflib-code/
[root@localhost giflib-code]# ls
build.adoc  COPYING     egif_lib.c  getversion  gifbg.c     gifcolor.c  giffilter.c  gif_hash.c  gifinto.c          gifsponge.c  gifwedge.c    NEWS                    qprintf.c   tests
ChangeLog   dgif_lib.c  getarg.c    gif2rgb.c   gifbuild.c  gifecho.c   giffix.c     gif_hash.h  gif_lib.h          giftext.c    history.adoc  openbsd-reallocarray.c  quantize.c  TODO
control     doc         getarg.h    gifalloc.c  gifclrmp.c  gif_err.c   gif_font.c   gifhisto.c  gif_lib_private.h  giftool.c    Makefile      pic                     README
[root@localhost giflib-code]# make
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o dgif_lib.o dgif_lib.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o egif_lib.o egif_lib.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o gifalloc.o gifalloc.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o gif_err.o gif_err.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o gif_font.o gif_font.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o gif_hash.o gif_hash.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o openbsd-reallocarray.o openbsd-reallocarray.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2 -shared  -Wl,-soname -Wl,libgif.so.7 -o libgif.so dgif_lib.o egif_lib.o gifalloc.o gif_err.o gif_font.o gif_hash.o openbsd-reallocarray.o
ar rcs libgif.a dgif_lib.o egif_lib.o gifalloc.o gif_err.o gif_font.o gif_hash.o openbsd-reallocarray.o
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o qprintf.o qprintf.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o quantize.o quantize.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o getarg.o getarg.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2 -shared  -Wl,-soname -Wl,libutil.so.7 -o libutil.so qprintf.o quantize.o getarg.o
ar rcs libutil.a qprintf.o quantize.o getarg.o
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gif2rgb.c libgif.a libutil.a  libgif.a -lm -o gif2rgb
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifbuild.c libgif.a libutil.a  libgif.a -lm -o gifbuild
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    giffix.c libgif.a libutil.a  libgif.a -lm -o giffix
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    giftext.c libgif.a libutil.a  libgif.a -lm -o giftext
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    giftool.c libgif.a libutil.a  libgif.a -lm -o giftool
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifclrmp.c libgif.a libutil.a  libgif.a -lm -o gifclrmp
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifbg.c libgif.a libutil.a  libgif.a -lm -o gifbg
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifcolor.c libgif.a libutil.a  libgif.a -lm -o gifcolor
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifecho.c libgif.a libutil.a  libgif.a -lm -o gifecho
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    giffilter.c libgif.a libutil.a  libgif.a -lm -o giffilter
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifhisto.c libgif.a libutil.a  libgif.a -lm -o gifhisto
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifinto.c libgif.a libutil.a  libgif.a -lm -o gifinto
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifsponge.c libgif.a libutil.a  libgif.a -lm -o gifsponge
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifwedge.c libgif.a libutil.a  libgif.a -lm -o gifwedge
make -C doc
make[1]: 进入目录“/giflib-code/doc”
xmlto xhtml-nochunks gif2rgb.xml
make[1]:xmlto:命令未找到
make[1]: *** [Makefile:4:gif2rgb.html] 错误 127
make[1]: 离开目录“/giflib-code/doc”
make: *** [Makefile:65:all] 错误 2
[root@localhost giflib-code]# make install
make -C doc
make[1]: 进入目录“/giflib-code/doc”
xmlto xhtml-nochunks gif2rgb.xml
make[1]:xmlto:命令未找到
make[1]: *** [Makefile:4:gif2rgb.html] 错误 127
make[1]: 离开目录“/giflib-code/doc”
make: *** [Makefile:65:all] 错误 2
[root@localhost giflib-code]# 
[root@localhost giflib-code]# 
[root@localhost giflib-code]# 
[root@localhost giflib-code]# make
make -C doc
make[1]: 进入目录“/giflib-code/doc”
xmlto xhtml-nochunks gif2rgb.xml
make[1]:xmlto:命令未找到
make[1]: *** [Makefile:4:gif2rgb.html] 错误 127
make[1]: 离开目录“/giflib-code/doc”
make: *** [Makefile:65:all] 错误 2
[root@localhost giflib-code]# yum instll xmlto
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

未找到命令: instll。请使用 /usr/bin/yum --help
它可能是一个YUM插件命令,尝试:"yum install 'dnf-command(instll)'"
[root@localhost giflib-code]# yum install xmlto
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:23:37 前,执行于 2023年03月24日 星期五 05时37分43秒。
依赖关系解决。
================================================================================================================================================================================================================================
 软件包                                                      架构                                             版本                                                    仓库                                                 大小
================================================================================================================================================================================================================================
安装:
 xmlto                                                       x86_64                                           0.0.28-7.el8                                            AppStream                                            59 k
安装依赖关系:
 docbook-dtds                                                noarch                                           1.0-69.el8                                              AppStream                                           377 k
 docbook-style-xsl                                           noarch                                           1.79.2-9.el8                                            AppStream                                           1.6 M
 flex                                                        x86_64                                           2.6.1-9.el8                                             AppStream                                           320 k
 sgml-common                                                 noarch                                           0.6.3-50.el8                                            base                                                 62 k

事务概要
================================================================================================================================================================================================================================
安装  5 软件包

总下载:2.4 M
安装大小:25 M
确定吗?[y/N]: y
下载软件包:
(1/5): sgml-common-0.6.3-50.el8.noarch.rpm                                                                                                                                                      196 kB/s |  62 kB     00:00    
(2/5): docbook-dtds-1.0-69.el8.noarch.rpm                                                                                                                                                       819 kB/s | 377 kB     00:00    
(3/5): flex-2.6.1-9.el8.x86_64.rpm                                                                                                                                                              912 kB/s | 320 kB     00:00    
(4/5): xmlto-0.0.28-7.el8.x86_64.rpm                                                                                                                                                            178 kB/s |  59 kB     00:00    
(5/5): docbook-style-xsl-1.79.2-9.el8.noarch.rpm                                                                                                                                                1.1 MB/s | 1.6 MB     00:01    
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                                                                            1.7 MB/s | 2.4 MB     00:01     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                                                                                 1/1 
  安装    : flex-2.6.1-9.el8.x86_64                                                                                                                                                                                         1/5 
  运行脚本: flex-2.6.1-9.el8.x86_64                                                                                                                                                                                         1/5 
  安装    : sgml-common-0.6.3-50.el8.noarch                                                                                                                                                                                 2/5 
  安装    : docbook-dtds-1.0-69.el8.noarch                                                                                                                                                                                  3/5 
  运行脚本: docbook-dtds-1.0-69.el8.noarch                                                                                                                                                                                  3/5 
  安装    : docbook-style-xsl-1.79.2-9.el8.noarch                                                                                                                                                                           4/5 
  运行脚本: docbook-style-xsl-1.79.2-9.el8.noarch                                                                                                                                                                           4/5 
  安装    : xmlto-0.0.28-7.el8.x86_64                                                                                                                                                                                       5/5 
  运行脚本: xmlto-0.0.28-7.el8.x86_64                                                                                                                                                                                       5/5 
  验证    : sgml-common-0.6.3-50.el8.noarch                                                                                                                                                                                 1/5 
  验证    : docbook-dtds-1.0-69.el8.noarch                                                                                                                                                                                  2/5 
  验证    : docbook-style-xsl-1.79.2-9.el8.noarch                                                                                                                                                                           3/5 
  验证    : flex-2.6.1-9.el8.x86_64                                                                                                                                                                                         4/5 
  验证    : xmlto-0.0.28-7.el8.x86_64                                                                                                                                                                                       5/5 
已更新安装的产品。

已安装:
  docbook-dtds-1.0-69.el8.noarch               docbook-style-xsl-1.79.2-9.el8.noarch               flex-2.6.1-9.el8.x86_64               sgml-common-0.6.3-50.el8.noarch               xmlto-0.0.28-7.el8.x86_64              

完毕!
[root@localhost giflib-code]# make
make -C doc
make[1]: 进入目录“/giflib-code/doc”
xmlto xhtml-nochunks gif2rgb.xml
xmlto xhtml-nochunks gifbuild.xml
xmlto xhtml-nochunks gifclrmp.xml
xmlto xhtml-nochunks gifecho.xml
xmlto xhtml-nochunks giffix.xml
xmlto xhtml-nochunks gifinto.xml
xmlto xhtml-nochunks giflib.xml
xmlto xhtml-nochunks giftext.xml
xmlto xhtml-nochunks giftool.xml
xmlto xhtml-nochunks gifbg.xml
xmlto xhtml-nochunks gifcolor.xml
xmlto xhtml-nochunks gifhisto.xml
xmlto xhtml-nochunks gifwedge.xml
xmlto xhtml-nochunks intro.xml
xmlto xhtml-nochunks gif_lib.xml
xmlto man gif2rgb.xml
Note: Writing gif2rgb.1
xmlto man gifbuild.xml
Note: Writing gifbuild.1
xmlto man gifclrmp.xml
Note: Writing gifclrmp.1
xmlto man gifecho.xml
Note: Writing gifecho.1
xmlto man giffix.xml
Note: Writing giffix.1
xmlto man gifinto.xml
Note: Writing gifinto.1
xmlto man giflib.xml
Note: Writing giflib.1
xmlto man giftext.xml
Note: Writing giftext.1
xmlto man giftool.xml
Note: Writing giftool.1
xmlto man gifbg.xml
Note: Writing gifbg.1
xmlto man gifcolor.xml
Note: Writing gifcolor.1
xmlto man gifhisto.xml
Note: Writing gifhisto.1
xmlto man gifwedge.xml
Note: Writing gifwedge.1
make[1]: 离开目录“/giflib-code/doc”
[root@localhost giflib-code]# make install
make -C doc
make[1]: 进入目录“/giflib-code/doc”
make[1]: 对“all”无需做任何事。
make[1]: 离开目录“/giflib-code/doc”
install -d "/usr/local/bin"
install gif2rgb gifbuild giffix giftext giftool gifclrmp "/usr/local/bin"
install -d "/usr/local/include"
install -m 644 gif_lib.h "/usr/local/include"
install -d "/usr/local/lib"
install -m 644 libgif.a "/usr/local/lib/libgif.a"
install -m 755 libgif.so "/usr/local/lib/libgif.so.7.2.0"
ln -sf libgif.so.7.2.0 "/usr/local/lib/libgif.so.7"
ln -sf libgif.so.7 "/usr/local/lib/libgif.so"
install -d "/usr/local/share/man/man1"
install -m 644 doc/*.1 "/usr/local/share/man/man1"
[root@localhost giflib-code]# yum remove giflib.i686
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

未找到匹配的参数: giflib.i686
没有软件包需要移除。
依赖关系解决。
无需任何处理。
完毕!
[root@localhost giflib-code]# yum remove giflib.x86_64
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

未找到匹配的参数: giflib.x86_64
没有软件包需要移除。
依赖关系解决。
无需任何处理。
完毕!
[root@localhost giflib-code]# make install
make -C doc
make[1]: 进入目录“/giflib-code/doc”
make[1]: 对“all”无需做任何事。
make[1]: 离开目录“/giflib-code/doc”
install -d "/usr/local/bin"
install gif2rgb gifbuild giffix giftext giftool gifclrmp "/usr/local/bin"
install -d "/usr/local/include"
install -m 644 gif_lib.h "/usr/local/include"
install -d "/usr/local/lib"
install -m 644 libgif.a "/usr/local/lib/libgif.a"
install -m 755 libgif.so "/usr/local/lib/libgif.so.7.2.0"
ln -sf libgif.so.7.2.0 "/usr/local/lib/libgif.so.7"
ln -sf libgif.so.7 "/usr/local/lib/libgif.so"
install -d "/usr/local/share/man/man1"
install -m 644 doc/*.1 "/usr/local/share/man/man1"
[root@localhost giflib-code]# 

编译好gif之后再运行./autogen.sh --with-pango检测gif好了
在这里插入图片描述

然后编译libgdiplus测试,发现还是一直报错。最后发现要把编译的gif包放入/usr/lib64下。再运行测试程序正常。

然后制作安装包。

#!/bin/bash
#shell一键安装gdiplus
#20210704
#zlz
#----------------------------------------------------------
mypath=$(dirname $0)
mkdir /usr/share/libgdiplus
cp -r ${mypath}/libs/*  /usr/share/libgdiplus/
cp -r ${mypath}/gif/*  /usr/lib64/
cd /usr/lib64/
rm -f libgdiplus.so
chmod +x /usr/share/libgdiplus/libgdiplus.so
ln -s /usr/share/libgdiplus/libgdiplus.so libgdiplus.so
echo "安装libgdiplus完成"

在这里插入图片描述

运行测试程序正常
在这里插入图片描述

整个解决过程shell日志

checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether make supports nested variables... (cached) yes
checking whether byte ordering is bigendian... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for BASE_DEPENDENCIES... yes
checking for cmake... no
configure: WARNING: *** cmake not found, won't build googletest-based tests.
checking for CAIRO... yes
checking for PANGO... yes
checking for FONTCONFIG... yes
checking for FcInit in -lfontconfig... yes
checking for FcFini... yes
checking for FREETYPE2... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking for library containing sqrt... -lm
checking host threading settings... checking for pthread_create in -lpthread... yes
checking if compiler recognizes -pthread... yes
checking for sigsetjmp... yes
checking for visibility __attribute__... yes
checking for jpeg_destroy_decompress in -ljpeg... yes
checking for jpeglib.h... yes
checking for TIFFReadScanline in -ltiff... yes
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking for DGifOpenFileName in -lgif... no
configure: WARNING: *** GIF loader will not be built (giflibrary not found) ***
checking for DGifOpenFileName in -lungif... no
configure: WARNING: *** GIF loader will not be built (ungiflibrary not found) ***
checking for libpng16... yes
checking X11 support... yes
checking for LIBEXIF... no
./configure: line 18480: test: too many arguments
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libgdiplus.pc
config.status: creating libgdiplus0.spec
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
---
Configuration summary

   * Installation prefix = /usr/local
   * Cairo = 1.15.12 (system)
   * Text = pango
   * EXIF tags = No. Get it from http://libexif.sourceforge.net/
   * X11 = yes
   * Codecs supported:

      - TIFF: yes
      - JPEG: yes
      - GIF: no (See http://sourceforge.net/projects/libgif)
      - PNG: yes

      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.

---
Now type `make' to compile
[root@localhost libgdiplus]# yum list | grep libgif
[root@localhost libgdiplus]# yum list | grep gif
giflib.x86_64                                          5.1.4-3.el8                                            @AppStream
giflib.i686                                            5.1.4-3.el8                                            AppStream 
[root@localhost libgdiplus]# yum install giflib.i686
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:13:41 前,执行于 2023年03月24日 星期五 05时37分43秒。
依赖关系解决。
================================================================================================================================================================================================================================
 软件包                                              架构                                              版本                                                        仓库                                                    大小
================================================================================================================================================================================================================================
安装:
 giflib                                              i686                                              5.1.4-3.el8                                                 AppStream                                               52 k

事务概要
================================================================================================================================================================================================================================
安装  1 软件包

总下载:52 k
安装大小:102 k
确定吗?[y/N]: y
下载软件包:
giflib-5.1.4-3.el8.i686.rpm                                                                                                                                                                      74 kB/s |  52 kB     00:00    
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                                                                             74 kB/s |  52 kB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                                                                                 1/1 
  安装    : giflib-5.1.4-3.el8.i686                                                                                                                                                                                         1/1 
  运行脚本: giflib-5.1.4-3.el8.i686                                                                                                                                                                                         1/1 
  验证    : giflib-5.1.4-3.el8.i686                                                                                                                                                                                         1/1 
已更新安装的产品。

已安装:
  giflib-5.1.4-3.el8.i686                                                                                                                                                                                                       

完毕!
[root@localhost libgdiplus]# ./autogen.sh  --with-pango
Running libtoolize...
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
Running aclocal  ...
Running autoheader...
Running automake --gnu  ...
configure.ac:13: installing './compile'
configure.ac:9: installing './missing'
src/Makefile.am: installing './depcomp'
Running autoconf ...
Running ./configure --enable-maintainer-mode --with-pango ...
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... gcc3
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether make supports nested variables... (cached) yes
checking whether byte ordering is bigendian... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for BASE_DEPENDENCIES... yes
checking for cmake... no
configure: WARNING: *** cmake not found, won't build googletest-based tests.
checking for CAIRO... yes
checking for PANGO... yes
checking for FONTCONFIG... yes
checking for FcInit in -lfontconfig... yes
checking for FcFini... yes
checking for FREETYPE2... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking for library containing sqrt... -lm
checking host threading settings... checking for pthread_create in -lpthread... yes
checking if compiler recognizes -pthread... yes
checking for sigsetjmp... yes
checking for visibility __attribute__... yes
checking for jpeg_destroy_decompress in -ljpeg... yes
checking for jpeglib.h... yes
checking for TIFFReadScanline in -ltiff... yes
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking for DGifOpenFileName in -lgif... no
configure: WARNING: *** GIF loader will not be built (giflibrary not found) ***
checking for DGifOpenFileName in -lungif... no
configure: WARNING: *** GIF loader will not be built (ungiflibrary not found) ***
checking for libpng16... yes
checking X11 support... yes
checking for LIBEXIF... no
./configure: line 18480: test: too many arguments
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libgdiplus.pc
config.status: creating libgdiplus0.spec
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
---
Configuration summary

   * Installation prefix = /usr/local
   * Cairo = 1.15.12 (system)
   * Text = pango
   * EXIF tags = No. Get it from http://libexif.sourceforge.net/
   * X11 = yes
   * Codecs supported:

      - TIFF: yes
      - JPEG: yes
      - GIF: no (See http://sourceforge.net/projects/libgif)
      - PNG: yes

      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.

---
Now type `make' to compile
[root@localhost libgdiplus]# yum list | grep gif
giflib.i686                                            5.1.4-3.el8                                            @AppStream
giflib.x86_64                                          5.1.4-3.el8                                            @AppStream
[root@localhost libgdiplus]# yum remove giflib.i686
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

依赖关系解决。
================================================================================================================================================================================================================================
 软件包                                              架构                                              版本                                                       仓库                                                     大小
================================================================================================================================================================================================================================
移除:
 giflib                                              i686                                              5.1.4-3.el8                                                @AppStream                                              102 k

事务概要
================================================================================================================================================================================================================================
移除  1 软件包

将会释放空间:102 k
确定吗?[y/N]: y
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                                                                                 1/1 
  删除    : giflib-5.1.4-3.el8.i686                                                                                                                                                                                         1/1 
  运行脚本: giflib-5.1.4-3.el8.i686                                                                                                                                                                                         1/1 
  验证    : giflib-5.1.4-3.el8.i686                                                                                                                                                                                         1/1 
已更新安装的产品。

已移除:
  giflib-5.1.4-3.el8.i686                                                                                                                                                                                                       

完毕!
[root@localhost libgdiplus]# ./autogen.sh  --with-pango
Running libtoolize...
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
Running aclocal  ...
Running autoheader...
Running automake --gnu  ...
configure.ac:13: installing './compile'
configure.ac:9: installing './missing'
src/Makefile.am: installing './depcomp'
Running autoconf ...
Running ./configure --enable-maintainer-mode --with-pango ...
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... gcc3
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether make supports nested variables... (cached) yes
checking whether byte ordering is bigendian... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for BASE_DEPENDENCIES... yes
checking for cmake... no
configure: WARNING: *** cmake not found, won't build googletest-based tests.
checking for CAIRO... yes
checking for PANGO... yes
checking for FONTCONFIG... yes
checking for FcInit in -lfontconfig... yes
checking for FcFini... yes
checking for FREETYPE2... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking for library containing sqrt... -lm
checking host threading settings... checking for pthread_create in -lpthread... yes
checking if compiler recognizes -pthread... yes
checking for sigsetjmp... yes
checking for visibility __attribute__... yes
checking for jpeg_destroy_decompress in -ljpeg... yes
checking for jpeglib.h... yes
checking for TIFFReadScanline in -ltiff... yes
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking for DGifOpenFileName in -lgif... no
configure: WARNING: *** GIF loader will not be built (giflibrary not found) ***
checking for DGifOpenFileName in -lungif... no
configure: WARNING: *** GIF loader will not be built (ungiflibrary not found) ***
checking for libpng16... yes
checking X11 support... yes
checking for LIBEXIF... no
./configure: line 18480: test: too many arguments
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libgdiplus.pc
config.status: creating libgdiplus0.spec
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
---
Configuration summary

   * Installation prefix = /usr/local
   * Cairo = 1.15.12 (system)
   * Text = pango
   * EXIF tags = No. Get it from http://libexif.sourceforge.net/
   * X11 = yes
   * Codecs supported:

      - TIFF: yes
      - JPEG: yes
      - GIF: no (See http://sourceforge.net/projects/libgif)
      - PNG: yes

      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.

---
Now type `make' to compile
[root@localhost libgdiplus]# yum list | grep gif
giflib.x86_64                                          5.1.4-3.el8                                            @AppStream
giflib.i686                                            5.1.4-3.el8                                            AppStream 
[root@localhost libgdiplus]# yum remove giflib.x86_64
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

依赖关系解决。
================================================================================================================================================================================================================================
 软件包                                              架构                                                版本                                                     仓库                                                     大小
================================================================================================================================================================================================================================
移除:
 giflib                                              x86_64                                              5.1.4-3.el8                                              @AppStream                                              103 k

事务概要
================================================================================================================================================================================================================================
移除  1 软件包

将会释放空间:103 k
确定吗?[y/N]: y
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                                                                                 1/1 
  删除    : giflib-5.1.4-3.el8.x86_64                                                                                                                                                                                       1/1 
  运行脚本: giflib-5.1.4-3.el8.x86_64                                                                                                                                                                                       1/1 
  验证    : giflib-5.1.4-3.el8.x86_64                                                                                                                                                                                       1/1 
已更新安装的产品。

已移除:
  giflib-5.1.4-3.el8.x86_64                                                                                                                                                                                                     

完毕!
[root@localhost libgdiplus]# yum install giflib.i686
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:17:08 前,执行于 2023年03月24日 星期五 05时37分43秒。
依赖关系解决。
================================================================================================================================================================================================================================
 软件包                                              架构                                              版本                                                        仓库                                                    大小
================================================================================================================================================================================================================================
安装:
 giflib                                              i686                                              5.1.4-3.el8                                                 AppStream                                               52 k

事务概要
================================================================================================================================================================================================================================
安装  1 软件包

总下载:52 k
安装大小:102 k
确定吗?[y/N]: y
下载软件包:
giflib-5.1.4-3.el8.i686.rpm                                                                                                                                                                      78 kB/s |  52 kB     00:00    
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                                                                             77 kB/s |  52 kB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                                                                                 1/1 
  安装    : giflib-5.1.4-3.el8.i686                                                                                                                                                                                         1/1 
  运行脚本: giflib-5.1.4-3.el8.i686                                                                                                                                                                                         1/1 
  验证    : giflib-5.1.4-3.el8.i686                                                                                                                                                                                         1/1 
已更新安装的产品。

已安装:
  giflib-5.1.4-3.el8.i686                                                                                                                                                                                                       

完毕!
[root@localhost libgdiplus]# ./autogen.sh  --with-pango
Running libtoolize...
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
Running aclocal  ...
Running autoheader...
Running automake --gnu  ...
configure.ac:13: installing './compile'
configure.ac:9: installing './missing'
src/Makefile.am: installing './depcomp'
Running autoconf ...
Running ./configure --enable-maintainer-mode --with-pango ...
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... gcc3
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether make supports nested variables... (cached) yes
checking whether byte ordering is bigendian... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for BASE_DEPENDENCIES... yes
checking for cmake... no
configure: WARNING: *** cmake not found, won't build googletest-based tests.
checking for CAIRO... yes
checking for PANGO... yes
checking for FONTCONFIG... yes
checking for FcInit in -lfontconfig... yes
checking for FcFini... yes
checking for FREETYPE2... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking for library containing sqrt... -lm
checking host threading settings... checking for pthread_create in -lpthread... yes
checking if compiler recognizes -pthread... yes
checking for sigsetjmp... yes
checking for visibility __attribute__... yes
checking for jpeg_destroy_decompress in -ljpeg... yes
checking for jpeglib.h... yes
checking for TIFFReadScanline in -ltiff... yes
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking for DGifOpenFileName in -lgif... no
configure: WARNING: *** GIF loader will not be built (giflibrary not found) ***
checking for DGifOpenFileName in -lungif... no
configure: WARNING: *** GIF loader will not be built (ungiflibrary not found) ***
checking for libpng16... yes
checking X11 support... yes
checking for LIBEXIF... no
./configure: line 18480: test: too many arguments
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libgdiplus.pc
config.status: creating libgdiplus0.spec
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
---
Configuration summary

   * Installation prefix = /usr/local
   * Cairo = 1.15.12 (system)
   * Text = pango
   * EXIF tags = No. Get it from http://libexif.sourceforge.net/
   * X11 = yes
   * Codecs supported:

      - TIFF: yes
      - JPEG: yes
      - GIF: no (See http://sourceforge.net/projects/libgif)
      - PNG: yes

      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.

---
Now type `make' to compile
[root@localhost libgdiplus]# yum remove giflib.i686
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

依赖关系解决。
================================================================================================================================================================================================================================
 软件包                                              架构                                              版本                                                       仓库                                                     大小
================================================================================================================================================================================================================================
移除:
 giflib                                              i686                                              5.1.4-3.el8                                                @AppStream                                              102 k

事务概要
================================================================================================================================================================================================================================
移除  1 软件包

将会释放空间:102 k
确定吗?[y/N]: y
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                                                                                 1/1 
  删除    : giflib-5.1.4-3.el8.i686                                                                                                                                                                                         1/1 
  运行脚本: giflib-5.1.4-3.el8.i686                                                                                                                                                                                         1/1 
  验证    : giflib-5.1.4-3.el8.i686                                                                                                                                                                                         1/1 
已更新安装的产品。

已移除:
  giflib-5.1.4-3.el8.i686                                                                                                                                                                                                       

完毕!
[root@localhost libgdiplus]# cd /
[root@localhost /]# yum install git
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:19:05 前,执行于 2023年03月24日 星期五 05时37分43秒。
软件包 git-2.27.0-1.el8.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
[root@localhost /]# git clone https://git.code.sf.net/p/giflib/code giflib-code
正克隆到 'giflib-code'...
remote: Enumerating objects: 4708, done.
remote: Counting objects: 100% (4708/4708), done.
remote: Compressing objects: 100% (4326/4326), done.
remote: Total 4708 (delta 3593), reused 525 (delta 380)
接收对象中: 100% (4708/4708), 1.22 MiB | 106.00 KiB/s, 完成.
处理 delta 中: 100% (3593/3593), 完成.
[root@localhost /]# ls
bin  boot  dev  dotnet  etc  giflib-code  home  lib  lib64  libgdiplus  lislibgdiplus  media  mnt  net5.0  opt  proc  root  run  sbin  srv  sys  test  tmp  usr  var
[root@localhost /]# cd /giflib-code/
[root@localhost giflib-code]# ls
build.adoc  COPYING     egif_lib.c  getversion  gifbg.c     gifcolor.c  giffilter.c  gif_hash.c  gifinto.c          gifsponge.c  gifwedge.c    NEWS                    qprintf.c   tests
ChangeLog   dgif_lib.c  getarg.c    gif2rgb.c   gifbuild.c  gifecho.c   giffix.c     gif_hash.h  gif_lib.h          giftext.c    history.adoc  openbsd-reallocarray.c  quantize.c  TODO
control     doc         getarg.h    gifalloc.c  gifclrmp.c  gif_err.c   gif_font.c   gifhisto.c  gif_lib_private.h  giftool.c    Makefile      pic                     README
[root@localhost giflib-code]# make
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o dgif_lib.o dgif_lib.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o egif_lib.o egif_lib.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o gifalloc.o gifalloc.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o gif_err.o gif_err.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o gif_font.o gif_font.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o gif_hash.o gif_hash.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o openbsd-reallocarray.o openbsd-reallocarray.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2 -shared  -Wl,-soname -Wl,libgif.so.7 -o libgif.so dgif_lib.o egif_lib.o gifalloc.o gif_err.o gif_font.o gif_hash.o openbsd-reallocarray.o
ar rcs libgif.a dgif_lib.o egif_lib.o gifalloc.o gif_err.o gif_font.o gif_hash.o openbsd-reallocarray.o
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o qprintf.o qprintf.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o quantize.o quantize.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2   -c -o getarg.o getarg.c
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2 -shared  -Wl,-soname -Wl,libutil.so.7 -o libutil.so qprintf.o quantize.o getarg.o
ar rcs libutil.a qprintf.o quantize.o getarg.o
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gif2rgb.c libgif.a libutil.a  libgif.a -lm -o gif2rgb
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifbuild.c libgif.a libutil.a  libgif.a -lm -o gifbuild
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    giffix.c libgif.a libutil.a  libgif.a -lm -o giffix
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    giftext.c libgif.a libutil.a  libgif.a -lm -o giftext
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    giftool.c libgif.a libutil.a  libgif.a -lm -o giftool
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifclrmp.c libgif.a libutil.a  libgif.a -lm -o gifclrmp
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifbg.c libgif.a libutil.a  libgif.a -lm -o gifbg
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifcolor.c libgif.a libutil.a  libgif.a -lm -o gifcolor
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifecho.c libgif.a libutil.a  libgif.a -lm -o gifecho
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    giffilter.c libgif.a libutil.a  libgif.a -lm -o giffilter
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifhisto.c libgif.a libutil.a  libgif.a -lm -o gifhisto
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifinto.c libgif.a libutil.a  libgif.a -lm -o gifinto
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifsponge.c libgif.a libutil.a  libgif.a -lm -o gifsponge
cc -std=gnu99 -fPIC -Wall -Wno-format-truncation -O2    gifwedge.c libgif.a libutil.a  libgif.a -lm -o gifwedge
make -C doc
make[1]: 进入目录“/giflib-code/doc”
xmlto xhtml-nochunks gif2rgb.xml
make[1]:xmlto:命令未找到
make[1]: *** [Makefile:4:gif2rgb.html] 错误 127
make[1]: 离开目录“/giflib-code/doc”
make: *** [Makefile:65:all] 错误 2
[root@localhost giflib-code]# make install
make -C doc
make[1]: 进入目录“/giflib-code/doc”
xmlto xhtml-nochunks gif2rgb.xml
make[1]:xmlto:命令未找到
make[1]: *** [Makefile:4:gif2rgb.html] 错误 127
make[1]: 离开目录“/giflib-code/doc”
make: *** [Makefile:65:all] 错误 2
[root@localhost giflib-code]# 
[root@localhost giflib-code]# 
[root@localhost giflib-code]# 
[root@localhost giflib-code]# make
make -C doc
make[1]: 进入目录“/giflib-code/doc”
xmlto xhtml-nochunks gif2rgb.xml
make[1]:xmlto:命令未找到
make[1]: *** [Makefile:4:gif2rgb.html] 错误 127
make[1]: 离开目录“/giflib-code/doc”
make: *** [Makefile:65:all] 错误 2
[root@localhost giflib-code]# yum instll xmlto
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

未找到命令: instll。请使用 /usr/bin/yum --help
它可能是一个YUM插件命令,尝试:"yum install 'dnf-command(instll)'"
[root@localhost giflib-code]# yum install xmlto
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:23:37 前,执行于 2023年03月24日 星期五 05时37分43秒。
依赖关系解决。
================================================================================================================================================================================================================================
 软件包                                                      架构                                             版本                                                    仓库                                                 大小
================================================================================================================================================================================================================================
安装:
 xmlto                                                       x86_64                                           0.0.28-7.el8                                            AppStream                                            59 k
安装依赖关系:
 docbook-dtds                                                noarch                                           1.0-69.el8                                              AppStream                                           377 k
 docbook-style-xsl                                           noarch                                           1.79.2-9.el8                                            AppStream                                           1.6 M
 flex                                                        x86_64                                           2.6.1-9.el8                                             AppStream                                           320 k
 sgml-common                                                 noarch                                           0.6.3-50.el8                                            base                                                 62 k

事务概要
================================================================================================================================================================================================================================
安装  5 软件包

总下载:2.4 M
安装大小:25 M
确定吗?[y/N]: y
下载软件包:
(1/5): sgml-common-0.6.3-50.el8.noarch.rpm                                                                                                                                                      196 kB/s |  62 kB     00:00    
(2/5): docbook-dtds-1.0-69.el8.noarch.rpm                                                                                                                                                       819 kB/s | 377 kB     00:00    
(3/5): flex-2.6.1-9.el8.x86_64.rpm                                                                                                                                                              912 kB/s | 320 kB     00:00    
(4/5): xmlto-0.0.28-7.el8.x86_64.rpm                                                                                                                                                            178 kB/s |  59 kB     00:00    
(5/5): docbook-style-xsl-1.79.2-9.el8.noarch.rpm                                                                                                                                                1.1 MB/s | 1.6 MB     00:01    
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                                                                            1.7 MB/s | 2.4 MB     00:01     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                                                                                 1/1 
  安装    : flex-2.6.1-9.el8.x86_64                                                                                                                                                                                         1/5 
  运行脚本: flex-2.6.1-9.el8.x86_64                                                                                                                                                                                         1/5 
  安装    : sgml-common-0.6.3-50.el8.noarch                                                                                                                                                                                 2/5 
  安装    : docbook-dtds-1.0-69.el8.noarch                                                                                                                                                                                  3/5 
  运行脚本: docbook-dtds-1.0-69.el8.noarch                                                                                                                                                                                  3/5 
  安装    : docbook-style-xsl-1.79.2-9.el8.noarch                                                                                                                                                                           4/5 
  运行脚本: docbook-style-xsl-1.79.2-9.el8.noarch                                                                                                                                                                           4/5 
  安装    : xmlto-0.0.28-7.el8.x86_64                                                                                                                                                                                       5/5 
  运行脚本: xmlto-0.0.28-7.el8.x86_64                                                                                                                                                                                       5/5 
  验证    : sgml-common-0.6.3-50.el8.noarch                                                                                                                                                                                 1/5 
  验证    : docbook-dtds-1.0-69.el8.noarch                                                                                                                                                                                  2/5 
  验证    : docbook-style-xsl-1.79.2-9.el8.noarch                                                                                                                                                                           3/5 
  验证    : flex-2.6.1-9.el8.x86_64                                                                                                                                                                                         4/5 
  验证    : xmlto-0.0.28-7.el8.x86_64                                                                                                                                                                                       5/5 
已更新安装的产品。

已安装:
  docbook-dtds-1.0-69.el8.noarch               docbook-style-xsl-1.79.2-9.el8.noarch               flex-2.6.1-9.el8.x86_64               sgml-common-0.6.3-50.el8.noarch               xmlto-0.0.28-7.el8.x86_64              

完毕!
[root@localhost giflib-code]# make
make -C doc
make[1]: 进入目录“/giflib-code/doc”
xmlto xhtml-nochunks gif2rgb.xml
xmlto xhtml-nochunks gifbuild.xml
xmlto xhtml-nochunks gifclrmp.xml
xmlto xhtml-nochunks gifecho.xml
xmlto xhtml-nochunks giffix.xml
xmlto xhtml-nochunks gifinto.xml
xmlto xhtml-nochunks giflib.xml
xmlto xhtml-nochunks giftext.xml
xmlto xhtml-nochunks giftool.xml
xmlto xhtml-nochunks gifbg.xml
xmlto xhtml-nochunks gifcolor.xml
xmlto xhtml-nochunks gifhisto.xml
xmlto xhtml-nochunks gifwedge.xml
xmlto xhtml-nochunks intro.xml
xmlto xhtml-nochunks gif_lib.xml
xmlto man gif2rgb.xml
Note: Writing gif2rgb.1
xmlto man gifbuild.xml
Note: Writing gifbuild.1
xmlto man gifclrmp.xml
Note: Writing gifclrmp.1
xmlto man gifecho.xml
Note: Writing gifecho.1
xmlto man giffix.xml
Note: Writing giffix.1
xmlto man gifinto.xml
Note: Writing gifinto.1
xmlto man giflib.xml
Note: Writing giflib.1
xmlto man giftext.xml
Note: Writing giftext.1
xmlto man giftool.xml
Note: Writing giftool.1
xmlto man gifbg.xml
Note: Writing gifbg.1
xmlto man gifcolor.xml
Note: Writing gifcolor.1
xmlto man gifhisto.xml
Note: Writing gifhisto.1
xmlto man gifwedge.xml
Note: Writing gifwedge.1
make[1]: 离开目录“/giflib-code/doc”
[root@localhost giflib-code]# make install
make -C doc
make[1]: 进入目录“/giflib-code/doc”
make[1]: 对“all”无需做任何事。
make[1]: 离开目录“/giflib-code/doc”
install -d "/usr/local/bin"
install gif2rgb gifbuild giffix giftext giftool gifclrmp "/usr/local/bin"
install -d "/usr/local/include"
install -m 644 gif_lib.h "/usr/local/include"
install -d "/usr/local/lib"
install -m 644 libgif.a "/usr/local/lib/libgif.a"
install -m 755 libgif.so "/usr/local/lib/libgif.so.7.2.0"
ln -sf libgif.so.7.2.0 "/usr/local/lib/libgif.so.7"
ln -sf libgif.so.7 "/usr/local/lib/libgif.so"
install -d "/usr/local/share/man/man1"
install -m 644 doc/*.1 "/usr/local/share/man/man1"
[root@localhost giflib-code]# yum remove giflib.i686
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

未找到匹配的参数: giflib.i686
没有软件包需要移除。
依赖关系解决。
无需任何处理。
完毕!
[root@localhost giflib-code]# yum remove giflib.x86_64
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

未找到匹配的参数: giflib.x86_64
没有软件包需要移除。
依赖关系解决。
无需任何处理。
完毕!
[root@localhost giflib-code]# make install
make -C doc
make[1]: 进入目录“/giflib-code/doc”
make[1]: 对“all”无需做任何事。
make[1]: 离开目录“/giflib-code/doc”
install -d "/usr/local/bin"
install gif2rgb gifbuild giffix giftext giftool gifclrmp "/usr/local/bin"
install -d "/usr/local/include"
install -m 644 gif_lib.h "/usr/local/include"
install -d "/usr/local/lib"
install -m 644 libgif.a "/usr/local/lib/libgif.a"
install -m 755 libgif.so "/usr/local/lib/libgif.so.7.2.0"
ln -sf libgif.so.7.2.0 "/usr/local/lib/libgif.so.7"
ln -sf libgif.so.7 "/usr/local/lib/libgif.so"
install -d "/usr/local/share/man/man1"
install -m 644 doc/*.1 "/usr/local/share/man/man1"
[root@localhost giflib-code]# 


checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether make supports nested variables... (cached) yes
checking whether byte ordering is bigendian... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for BASE_DEPENDENCIES... yes
checking for cmake... no
configure: WARNING: *** cmake not found, won't build googletest-based tests.
checking for CAIRO... yes
checking for PANGO... yes
checking for FONTCONFIG... yes
checking for FcInit in -lfontconfig... yes
checking for FcFini... yes
checking for FREETYPE2... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking for library containing sqrt... -lm
checking host threading settings... checking for pthread_create in -lpthread... yes
checking if compiler recognizes -pthread... yes
checking for sigsetjmp... yes
checking for visibility __attribute__... yes
checking for jpeg_destroy_decompress in -ljpeg... yes
checking for jpeglib.h... yes
checking for TIFFReadScanline in -ltiff... yes
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking for DGifOpenFileName in -lgif... yes
checking gif_lib.h usability... yes
checking gif_lib.h presence... yes
checking for gif_lib.h... yes
checking for DGifOpenFileName in -lungif... no
configure: WARNING: *** GIF loader will not be built (ungiflibrary not found) ***
checking for libpng16... yes
checking X11 support... yes
checking for LIBEXIF... no
./configure: line 18480: test: too many arguments
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libgdiplus.pc
config.status: creating libgdiplus0.spec
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
---
Configuration summary

   * Installation prefix = /usr/local
   * Cairo = 1.15.12 (system)
   * Text = pango
   * EXIF tags = No. Get it from http://libexif.sourceforge.net/
   * X11 = yes
   * Codecs supported:

      - TIFF: yes
      - JPEG: yes
      - GIF: yes
      - PNG: yes

      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.

---
Now type `make' to compile
[root@localhost libgdiplus]# make
(CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /libgdiplus/missing autoheader)
rm -f stamp-h1
touch config.h.in
cd . && /bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
make  all-recursive
make[1]: 进入目录“/libgdiplus”
Making all in src
make[2]: 进入目录“/libgdiplus/src”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/libgdiplus/src”
Making all in tests
make[2]: 进入目录“/libgdiplus/tests”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/libgdiplus/tests”
make[2]: 进入目录“/libgdiplus”
make[2]: 离开目录“/libgdiplus”
make[1]: 离开目录“/libgdiplus”
[root@localhost libgdiplus]# make install
Making install in src
make[1]: 进入目录“/libgdiplus/src”
make[2]: 进入目录“/libgdiplus/src”
 /usr/bin/mkdir -p '/usr/local/lib'
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libgdiplus.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libgdiplus.so.0.0.0 /usr/local/lib/libgdiplus.so.0.0.0
/usr/bin/install: cannot stat '.libs/libgdiplus.so.0.0.0': No such file or directory
make[2]: *** [Makefile:504:install-libLTLIBRARIES] 错误 1
make[2]: 离开目录“/libgdiplus/src”
make[1]: *** [Makefile:720:install-am] 错误 2
make[1]: 离开目录“/libgdiplus/src”
make: *** [Makefile:489:install-recursive] 错误 1
[root@localhost libgdiplus]# ^C
[root@localhost libgdiplus]# make
make  all-recursive
make[1]: 进入目录“/libgdiplus”
Making all in src
make[2]: 进入目录“/libgdiplus/src”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/libgdiplus/src”
Making all in tests
make[2]: 进入目录“/libgdiplus/tests”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/libgdiplus/tests”
make[2]: 进入目录“/libgdiplus”
make[2]: 离开目录“/libgdiplus”
make[1]: 离开目录“/libgdiplus”
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# make
make  all-recursive
make[1]: 进入目录“/libgdiplus”
Making all in src
make[2]: 进入目录“/libgdiplus/src”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/libgdiplus/src”
Making all in tests
make[2]: 进入目录“/libgdiplus/tests”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/libgdiplus/tests”
make[2]: 进入目录“/libgdiplus”
make[2]: 离开目录“/libgdiplus”
make[1]: 离开目录“/libgdiplus”
[root@localhost libgdiplus]# ./autogen.sh  --with-pango
Running libtoolize...
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
Running aclocal  ...
Running autoheader...
Running automake --gnu  ...
configure.ac:13: installing './compile'
configure.ac:9: installing './missing'
src/Makefile.am: installing './depcomp'
Running autoconf ...
Running ./configure --enable-maintainer-mode --with-pango ...
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... gcc3
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether make supports nested variables... (cached) yes
checking whether byte ordering is bigendian... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for BASE_DEPENDENCIES... yes
checking for cmake... no
configure: WARNING: *** cmake not found, won't build googletest-based tests.
checking for CAIRO... yes
checking for PANGO... yes
checking for FONTCONFIG... yes
checking for FcInit in -lfontconfig... yes
checking for FcFini... yes
checking for FREETYPE2... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking for library containing sqrt... -lm
checking host threading settings... checking for pthread_create in -lpthread... yes
checking if compiler recognizes -pthread... yes
checking for sigsetjmp... yes
checking for visibility __attribute__... yes
checking for jpeg_destroy_decompress in -ljpeg... yes
checking for jpeglib.h... yes
checking for TIFFReadScanline in -ltiff... yes
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking for DGifOpenFileName in -lgif... yes
checking gif_lib.h usability... yes
checking gif_lib.h presence... yes
checking for gif_lib.h... yes
checking for DGifOpenFileName in -lungif... no
configure: WARNING: *** GIF loader will not be built (ungiflibrary not found) ***
checking for libpng16... yes
checking X11 support... yes
checking for LIBEXIF... no
./configure: line 18480: test: too many arguments
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libgdiplus.pc
config.status: creating libgdiplus0.spec
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
---
Configuration summary

   * Installation prefix = /usr/local
   * Cairo = 1.15.12 (system)
   * Text = pango
   * EXIF tags = No. Get it from http://libexif.sourceforge.net/
   * X11 = yes
   * Codecs supported:

      - TIFF: yes
      - JPEG: yes
      - GIF: yes
      - PNG: yes

      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.

---
Now type `make' to compile
[root@localhost libgdiplus]# make install
Making install in src
make[1]: 进入目录“/libgdiplus/src”
make[2]: 进入目录“/libgdiplus/src”
 /usr/bin/mkdir -p '/usr/local/lib'
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libgdiplus.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libgdiplus.so.0.0.0 /usr/local/lib/libgdiplus.so.0.0.0
/usr/bin/install: cannot stat '.libs/libgdiplus.so.0.0.0': No such file or directory
make[2]: *** [Makefile:504:install-libLTLIBRARIES] 错误 1
make[2]: 离开目录“/libgdiplus/src”
make[1]: *** [Makefile:720:install-am] 错误 2
make[1]: 离开目录“/libgdiplus/src”
make: *** [Makefile:489:install-recursive] 错误 1
[root@localhost libgdiplus]# ll /usr/local/lib
总用量 6192
-rw-r--r--. 1 root root 4022784 3月  24 06:07 libgdiplus.a
-rwxr-xr-x. 1 root root    1097 3月  24 06:07 libgdiplus.la
lrwxrwxrwx. 1 root root      19 3月  24 06:07 libgdiplus.so -> libgdiplus.so.0.0.0
lrwxrwxrwx. 1 root root      19 3月  24 06:07 libgdiplus.so.0 -> libgdiplus.so.0.0.0
-rwxr-xr-x. 1 root root 2213272 3月  24 06:07 libgdiplus.so.0.0.0
-rw-r--r--. 1 root root   46762 3月  24 06:01 libgif.a
lrwxrwxrwx. 1 root root      11 3月  24 06:01 libgif.so -> libgif.so.7
lrwxrwxrwx. 1 root root      15 3月  24 06:01 libgif.so.7 -> libgif.so.7.2.0
-rwxr-xr-x. 1 root root   41064 3月  24 06:01 libgif.so.7.2.0
drwxr-xr-x. 2 root root      27 3月  24 06:07 pkgconfig
[root@localhost libgdiplus]# bash /lislibgdiplus/install.sh
mkdir: 无法创建目录 “/usr/share/libgdiplus”: 文件已存在
安装libgdiplus完成
[root@localhost libgdiplus]# bash /lislibgdiplus/install.sh
安装libgdiplus完成
[root@localhost libgdiplus]# ll
总用量 1784
-rw-r--r--. 1 root root  56364 3月  24 06:11 aclocal.m4
-rw-r--r--. 1 root root    203 3月  11 02:56 AUTHORS
-rwxr-xr-x. 1 root root   3965 3月  11 02:56 autogen.sh
drwxr-xr-x. 2 root root    182 3月  24 06:11 autom4te.cache
-rw-r--r--. 1 root root     38 3月  11 02:56 ChangeLog
-rw-r--r--. 1 root root    259 3月  11 02:56 CODE-OF-CONDUCT.md
lrwxrwxrwx. 1 root root     32 3月  24 06:11 compile -> /usr/share/automake-1.16/compile
-rw-r--r--. 1 root root  45297 3月  11 02:56 config.guess
-rw-r--r--. 1 root root   3594 3月  24 06:03 config.h
-rw-r--r--. 1 root root   3266 3月  24 06:09 config.h.in
-rw-r--r--. 1 root root   3272 3月  11 02:56 config.h.in~
-rw-r--r--. 1 root root  46871 3月  24 06:12 config.log
-rwxr-xr-x. 1 root root  71117 3月  24 06:12 config.status
-rw-r--r--. 1 root root  35533 3月  11 02:56 config.sub
-rwxr-xr-x. 1 root root 657224 3月  24 06:11 configure
-rw-r--r--. 1 root root  16359 3月  11 02:56 configure.ac
-rw-r--r--. 1 root root     67 3月  11 02:56 COPYING
lrwxrwxrwx. 1 root root     32 3月  24 06:11 depcomp -> /usr/share/automake-1.16/depcomp
drwxr-xr-x. 2 root root     37 3月  11 02:56 docs
drwxr-xr-x. 3 root root     24 3月  11 02:56 external
-rw-r--r--. 1 root root   9498 3月  11 02:56 INSTALL
-rw-r--r--. 1 root root  13997 3月  11 02:56 install-sh
-rw-r--r--. 1 root root   1558 3月  24 06:12 libgdiplus0.spec
-rw-r--r--. 1 root root   1564 3月  11 02:56 libgdiplus0.spec.in
-rw-r--r--. 1 root root   1081 3月  24 06:12 libgdiplus.pc
-rw-r--r--. 1 root root    288 3月  11 02:56 libgdiplus.pc.in
-rw-r--r--. 1 root root   1293 3月  11 02:56 libgdiplus.sln
-rwxr-xr-x. 1 root root 344837 3月  24 06:12 libtool
-rw-r--r--. 1 root root   1033 3月  11 02:56 LICENSE
-rw-r--r--. 1 root root 324152 3月  24 06:11 ltmain.sh
drwxr-xr-x. 2 root root    104 3月  24 06:11 m4
-rw-r--r--. 1 root root  31591 3月  24 06:12 Makefile
-rw-r--r--. 1 root root    404 3月  11 02:56 Makefile.am
-rw-r--r--. 1 root root  29584 3月  24 06:11 Makefile.in
lrwxrwxrwx. 1 root root     32 3月  24 06:11 missing -> /usr/share/automake-1.16/missing
-rw-r--r--. 1 root root     81 3月  11 02:56 NEWS
-rw-r--r--. 1 root root   3042 3月  11 02:56 README.md
drwxr-xr-x. 4 root root   8192 3月  24 06:12 src
-rw-r--r--. 1 root root     23 3月  24 06:12 stamp-h1
-rw-r--r--. 1 root root   3977 3月  11 02:56 test-driver
drwxr-xr-x. 4 root root   8192 3月  24 06:12 tests
-rw-r--r--. 1 root root   2193 3月  11 02:56 TODO
-rwxr-xr-x. 1 root root    816 3月  11 02:56 update_submodules.sh
-rw-r--r--. 1 root root    177 3月  11 02:56 winconfig.h.in
[root@localhost libgdiplus]# ./autogen.sh  --with-pango
Running libtoolize...
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
Running aclocal  ...
Running autoheader...
Running automake --gnu  ...
configure.ac:13: installing './compile'
configure.ac:9: installing './missing'
src/Makefile.am: installing './depcomp'
Running autoconf ...
Running ./configure --enable-maintainer-mode --with-pango ...
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... gcc3
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether make supports nested variables... (cached) yes
checking whether byte ordering is bigendian... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for BASE_DEPENDENCIES... yes
checking for cmake... no
configure: WARNING: *** cmake not found, won't build googletest-based tests.
checking for CAIRO... yes
checking for PANGO... yes
checking for FONTCONFIG... yes
checking for FcInit in -lfontconfig... yes
checking for FcFini... yes
checking for FREETYPE2... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking for library containing sqrt... -lm
checking host threading settings... checking for pthread_create in -lpthread... yes
checking if compiler recognizes -pthread... yes
checking for sigsetjmp... yes
checking for visibility __attribute__... yes
checking for jpeg_destroy_decompress in -ljpeg... yes
checking for jpeglib.h... yes
checking for TIFFReadScanline in -ltiff... yes
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking for DGifOpenFileName in -lgif... yes
checking gif_lib.h usability... yes
checking gif_lib.h presence... yes
checking for gif_lib.h... yes
checking for DGifOpenFileName in -lungif... no
configure: WARNING: *** GIF loader will not be built (ungiflibrary not found) ***
checking for libpng16... yes
checking X11 support... yes
checking for LIBEXIF... no
./configure: line 18480: test: too many arguments
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libgdiplus.pc
config.status: creating libgdiplus0.spec
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
---
Configuration summary

   * Installation prefix = /usr/local
   * Cairo = 1.15.12 (system)
   * Text = pango
   * EXIF tags = No. Get it from http://libexif.sourceforge.net/
   * X11 = yes
   * Codecs supported:

      - TIFF: yes
      - JPEG: yes
      - GIF: yes
      - PNG: yes

      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.

---
Now type `make' to compile
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# 
[root@localhost libgdiplus]# make
(CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /libgdiplus/missing autoheader)
rm -f stamp-h1
touch config.h.in
cd . && /bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
make  all-recursive
make[1]: 进入目录“/libgdiplus”
Making all in src
make[2]: 进入目录“/libgdiplus/src”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/libgdiplus/src”
Making all in tests
make[2]: 进入目录“/libgdiplus/tests”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/libgdiplus/tests”
make[2]: 进入目录“/libgdiplus”
make[2]: 离开目录“/libgdiplus”
make[1]: 离开目录“/libgdiplus”
[root@localhost libgdiplus]# make  all-recursive
Making all in src
make[1]: 进入目录“/libgdiplus/src”
make[1]: 对“all”无需做任何事。
make[1]: 离开目录“/libgdiplus/src”
Making all in tests
make[1]: 进入目录“/libgdiplus/tests”
make[1]: 对“all”无需做任何事。
make[1]: 离开目录“/libgdiplus/tests”
make[1]: 进入目录“/libgdiplus”
make[1]: 离开目录“/libgdiplus”
[root@localhost libgdiplus]# make
make  all-recursive
make[1]: 进入目录“/libgdiplus”
Making all in src
make[2]: 进入目录“/libgdiplus/src”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/libgdiplus/src”
Making all in tests
make[2]: 进入目录“/libgdiplus/tests”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/libgdiplus/tests”
make[2]: 进入目录“/libgdiplus”
make[2]: 离开目录“/libgdiplus”
make[1]: 离开目录“/libgdiplus”
[root@localhost libgdiplus]# make clean
Making clean in src
make[1]: 进入目录“/libgdiplus/src”
test -z "libgdiplus.la" || rm -f libgdiplus.la
rm -f ./so_locations
rm -rf .libs _libs
rm -f *.o
rm -f *.lo
make[1]: 离开目录“/libgdiplus/src”
Making clean in tests
make[1]: 进入目录“/libgdiplus/tests”
rm -rf .libs _libs
 rm -f testadjustablearrowcap testbitmap testbits testbmpcodec testbrush testclip testcodecs testcustomlinecap testemfcodec testfont testgeneral testgifcodec testgpimage testgraphics testgraphicsdraw testgraphicsfill testgraphicspath testhatchbrush testicocodec testimageattributes testlineargradientbrush testmatrix testmetafile testpathgradientbrush testpen testpng testpngcodec testregion testreversepath testsolidbrush teststringformat testtext testtexturebrush testwmfcodec testjpegcodec testtiffcodec
rm -f *.o
test -z "testadjustablearrowcap.log testbitmap.log testbits.log testbmpcodec.log testbrush.log testclip.log testcodecs.log testcustomlinecap.log testemfcodec.log testfont.log testgifcodec.log testgeneral.log testgpimage.log testgraphics.log testgraphicsdraw.log testgraphicsfill.log testgraphicspath.log testhatchbrush.log testicocodec.log testimageattributes.log testlineargradientbrush.log testmatrix.log testmetafile.log testpathgradientbrush.log testpen.log testpng.log testpngcodec.log testregion.log testreversepath.log testsolidbrush.log teststringformat.log testtexturebrush.log testtext.log testwmfcodec.log testjpegcodec.log testtiffcodec.log" || rm -f testadjustablearrowcap.log testbitmap.log testbits.log testbmpcodec.log testbrush.log testclip.log testcodecs.log testcustomlinecap.log testemfcodec.log testfont.log testgifcodec.log testgeneral.log testgpimage.log testgraphics.log testgraphicsdraw.log testgraphicsfill.log testgraphicspath.log testhatchbrush.log testicocodec.log testimageattributes.log testlineargradientbrush.log testmatrix.log testmetafile.log testpathgradientbrush.log testpen.log testpng.log testpngcodec.log testregion.log testreversepath.log testsolidbrush.log teststringformat.log testtexturebrush.log testtext.log testwmfcodec.log testjpegcodec.log testtiffcodec.log
test -z "testadjustablearrowcap.trs testbitmap.trs testbits.trs testbmpcodec.trs testbrush.trs testclip.trs testcodecs.trs testcustomlinecap.trs testemfcodec.trs testfont.trs testgifcodec.trs testgeneral.trs testgpimage.trs testgraphics.trs testgraphicsdraw.trs testgraphicsfill.trs testgraphicspath.trs testhatchbrush.trs testicocodec.trs testimageattributes.trs testlineargradientbrush.trs testmatrix.trs testmetafile.trs testpathgradientbrush.trs testpen.trs testpng.trs testpngcodec.trs testregion.trs testreversepath.trs testsolidbrush.trs teststringformat.trs testtexturebrush.trs testtext.trs testwmfcodec.trs testjpegcodec.trs testtiffcodec.trs" || rm -f testadjustablearrowcap.trs testbitmap.trs testbits.trs testbmpcodec.trs testbrush.trs testclip.trs testcodecs.trs testcustomlinecap.trs testemfcodec.trs testfont.trs testgifcodec.trs testgeneral.trs testgpimage.trs testgraphics.trs testgraphicsdraw.trs testgraphicsfill.trs testgraphicspath.trs testhatchbrush.trs testicocodec.trs testimageattributes.trs testlineargradientbrush.trs testmatrix.trs testmetafile.trs testpathgradientbrush.trs testpen.trs testpng.trs testpngcodec.trs testregion.trs testreversepath.trs testsolidbrush.trs teststringformat.trs testtexturebrush.trs testtext.trs testwmfcodec.trs testjpegcodec.trs testtiffcodec.trs
test -z "test-suite.log" || rm -f test-suite.log
rm -f *.lo
make[1]: 离开目录“/libgdiplus/tests”
make[1]: 进入目录“/libgdiplus”
rm -rf .libs _libs
rm -f *.lo
make[1]: 离开目录“/libgdiplus”
[root@localhost libgdiplus]# make
make  all-recursive
make[1]: 进入目录“/libgdiplus”
Making all in src
make[2]: 进入目录“/libgdiplus/src”
  CC       adjustablearrowcap.lo
  CC       bitmap.lo
bitmap.c: 在函数‘gdip_is_pixel_format_conversion_valid’中:
bitmap.c:1339:22: 警告:bitwise comparison always evaluates to false [-Wtautological-compare]
   if ((src & 0xff00) == PixelFormatMax || (dest & 0xff00) == PixelFormatMax) {
                      ^~
bitmap.c:1339:59: 警告:bitwise comparison always evaluates to false [-Wtautological-compare]
   if ((src & 0xff00) == PixelFormatMax || (dest & 0xff00) == PixelFormatMax) {
                                                           ^~
  CC       brush.lo
  CC       carbon-private.lo
  CC       customlinecap.lo
  CC       dstream.lo
  CC       font.lo
  CC       gdi32.lo
  CC       general.lo
  CC       graphics.lo
  CC       graphics-cairo.lo
  CC       graphics-metafile.lo
  CC       graphics-path.lo
  CC       graphics-pathiterator.lo
  CC       hatchbrush.lo
  CC       icocodec.lo
  CC       image.lo
  CC       imageattributes.lo
  CC       lineargradientbrush.lo
  CC       matrix.lo
  CC       metafile.lo
  CC       pathgradientbrush.lo
  CC       pen.lo
  CC       print.lo
  CC       region.lo
  CC       region-bitmap.lo
  CC       region-path-tree.lo
  CC       solidbrush.lo
  CC       stringformat.lo
  CC       text.lo
  CC       text-metafile.lo
  CC       texturebrush.lo
  CC       bmpcodec.lo
  CC       emfcodec.lo
  CC       emfplus.lo
  CC       gifcodec.lo
  CC       jpegcodec.lo
jpegcodec.c: 在函数‘gdip_save_jpeg_image_internal’中:
jpegcodec.c:714:32: 警告:变量‘dest’能为‘longjmp’或‘vfork’所篡改 [-Wclobbered]
  gdip_stream_jpeg_dest_mgr_ptr dest = NULL;
                                ^~~~
jpegcodec.c:719:7: 警告:变量‘need_argb_conversion’能为‘longjmp’或‘vfork’所篡改 [-Wclobbered]
  int  need_argb_conversion = 0;
       ^~~~~~~~~~~~~~~~~~~~
jpegcodec.c: 在函数‘gdip_load_jpeg_image_internal.constprop’中:
jpegcodec.c:275:12: 警告:变量‘result’能为‘longjmp’或‘vfork’所篡改 [-Wclobbered]
  GpBitmap *result;
            ^~~~~~
  CC       pngcodec.lo
pngcodec.c: 在函数‘gdip_load_png_image_from_file_or_stream’中:
pngcodec.c:250:9: 警告:变量‘rawdata’能为‘longjmp’或‘vfork’所篡改 [-Wclobbered]
  BYTE  *rawdata = NULL;
         ^~~~~~~
pngcodec.c:251:12: 警告:变量‘result’能为‘longjmp’或‘vfork’所篡改 [-Wclobbered]
  GpImage  *result = NULL;
            ^~~~~~
pngcodec.c:252:11: 警告:变量‘status’能为‘longjmp’或‘vfork’所篡改 [-Wclobbered]
  GpStatus status = OutOfMemory;
           ^~~~~~
  CC       tiffcodec.lo
  CC       wmfcodec.lo
  CC       text-pango.lo
  CCLD     libgdiplus.la
make[2]: 离开目录“/libgdiplus/src”
Making all in tests
make[2]: 进入目录“/libgdiplus/tests”
  CC       testadjustablearrowcap.o
  CCLD     testadjustablearrowcap
  CC       testbitmap.o
  CCLD     testbitmap
  CC       testbits.o
  CCLD     testbits
  CC       testbmpcodec.o
  CCLD     testbmpcodec
  CC       testbrush.o
  CCLD     testbrush
  CC       testclip.o
  CCLD     testclip
  CC       testcodecs.o
  CCLD     testcodecs
  CC       testcustomlinecap.o
  CCLD     testcustomlinecap
  CC       testemfcodec.o
  CCLD     testemfcodec
  CC       testfont.o
  CCLD     testfont
  CC       testgeneral.o
  CCLD     testgeneral
  CC       testgifcodec.o
  CCLD     testgifcodec
  CC       testgpimage.o
  CCLD     testgpimage
  CC       testgraphics.o
  CCLD     testgraphics
  CC       testgraphicsdraw.o
  CCLD     testgraphicsdraw
  CC       testgraphicsfill.o
  CCLD     testgraphicsfill
  CC       testgraphicspath.o
  CCLD     testgraphicspath
  CC       testhatchbrush.o
  CCLD     testhatchbrush
  CC       testicocodec.o
  CCLD     testicocodec
  CC       testimageattributes.o
  CCLD     testimageattributes
  CC       testlineargradientbrush.o
  CCLD     testlineargradientbrush
  CC       testmatrix.o
  CCLD     testmatrix
  CC       testmetafile.o
  CCLD     testmetafile
  CC       testpathgradientbrush.o
  CCLD     testpathgradientbrush
  CC       testpen.o
  CCLD     testpen
  CC       testpng.o
  CCLD     testpng
  CC       testpngcodec.o
  CCLD     testpngcodec
  CC       testregion.o
  CCLD     testregion
  CC       testreversepath.o
  CCLD     testreversepath
  CC       testsolidbrush.o
  CCLD     testsolidbrush
  CC       teststringformat.o
  CCLD     teststringformat
  CC       testtext.o
  CCLD     testtext
  CC       testtexturebrush.o
  CCLD     testtexturebrush
  CC       testwmfcodec.o
  CCLD     testwmfcodec
  CC       testjpegcodec.o
  CCLD     testjpegcodec
  CC       testtiffcodec.o
  CCLD     testtiffcodec
make[2]: 离开目录“/libgdiplus/tests”
make[2]: 进入目录“/libgdiplus”
make[2]: 离开目录“/libgdiplus”
make[1]: 离开目录“/libgdiplus”
[root@localhost libgdiplus]# bash /lislibgdiplus/install.sh
安装libgdiplus完成
[root@localhost libgdiplus]# bash /lislibgdiplus/install.sh
mkdir: 无法创建目录 “/usr/share/libgdiplus”: 文件已存在
安装libgdiplus完成
[root@localhost libgdiplus]# bash /lislibgdiplus/install.sh
安装libgdiplus完成
[root@localhost libgdiplus]# ./autogen.sh  --with-pango
Running libtoolize...
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
Running aclocal  ...
Running autoheader...
Running automake --gnu  ...
configure.ac:13: installing './compile'
configure.ac:9: installing './missing'
src/Makefile.am: installing './depcomp'
Running autoconf ...
Running ./configure --enable-maintainer-mode --with-pango ...
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... gcc3
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether make supports nested variables... (cached) yes
checking whether byte ordering is bigendian... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for BASE_DEPENDENCIES... yes
checking for cmake... no
configure: WARNING: *** cmake not found, won't build googletest-based tests.
checking for CAIRO... yes
checking for PANGO... yes
checking for FONTCONFIG... yes
checking for FcInit in -lfontconfig... yes
checking for FcFini... yes
checking for FREETYPE2... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking for library containing sqrt... -lm
checking host threading settings... checking for pthread_create in -lpthread... yes
checking if compiler recognizes -pthread... yes
checking for sigsetjmp... yes
checking for visibility __attribute__... yes
checking for jpeg_destroy_decompress in -ljpeg... yes
checking for jpeglib.h... yes
checking for TIFFReadScanline in -ltiff... yes
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking for DGifOpenFileName in -lgif... yes
checking gif_lib.h usability... yes
checking gif_lib.h presence... yes
checking for gif_lib.h... yes
checking for DGifOpenFileName in -lungif... no
configure: WARNING: *** GIF loader will not be built (ungiflibrary not found) ***
checking for libpng16... yes
checking X11 support... yes
checking for LIBEXIF... no
./configure: line 18480: test: too many arguments
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libgdiplus.pc
config.status: creating libgdiplus0.spec
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
---
Configuration summary

   * Installation prefix = /usr/local
   * Cairo = 1.15.12 (system)
   * Text = pango
   * EXIF tags = No. Get it from http://libexif.sourceforge.net/
   * X11 = yes
   * Codecs supported:

      - TIFF: yes
      - JPEG: yes
      - GIF: yes
      - PNG: yes

      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.

---
Now type `make' to compile
[root@localhost libgdiplus]# bash /lislibgdiplus/install.sh
mkdir: 无法创建目录 “/usr/share/libgdiplus”: 文件已存在
安装libgdiplus完成
[root@localhost libgdiplus]# 


Last login: Fri Mar 24 04:52:43 2023 from 172.30.176.1
[root@localhost ~]# cd /net5.0/
[root@localhost net5.0]# ls
2.bmp  4.bmp  6.gif  8.gif  测试命令参考.txt  lisdrawtest.deps.json  lisdrawtest.exe  lisdrawtest.pdb                     lisdrawtest.runtimeconfig.json    ref       System.Drawing.Common.dll
3.jpg  5.bmp  7.png  9.bmp  lisdrawtest.bmp   lisdrawtest.dll        lisdrawtest.gif  lisdrawtest.runtimeconfig.dev.json  Microsoft.Win32.SystemEvents.dll  runtimes
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
创建画笔
填充白色
创建Pen
画一条竖线
画一条横线
创建字体
创建画刷
绘制字符串
Out of memory.
已放弃 (核心已转储)
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
创建画笔
填充白色
创建Pen
画一条竖线
画一条横线
创建字体
创建画刷
绘制字符串
Out of memory.
已放弃 (核心已转储)
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# ll /usr/share/libgdiplus/libgdiplus.so
-rwxr-xr-x. 1 root root 2213272 3月  24 06:25 /usr/share/libgdiplus/libgdiplus.so
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# rm /usr/share/libgdiplus/libgdiplus.so
rm:是否删除普通文件 '/usr/share/libgdiplus/libgdiplus.so'?y
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# ll /usr/share/libgdiplus/libgdiplus.so
-rwxr-xr-x. 1 root root 2213272 3月  24 06:29 /usr/share/libgdiplus/libgdiplus.so
[root@localhost net5.0]# ll /usr/lib64/libgdiplus.so
lrwxrwxrwx. 1 root root 35 3月  24 06:29 /usr/lib64/libgdiplus.so -> /usr/share/libgdiplus/libgdiplus.so
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
Unhandled exception. System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
   at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
   at System.Drawing.SafeNativeMethods.Gdip..cctor()
   --- End of inner exception stack trace ---
   at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
   at lisdrawtest.Program.Main(String[] args)
已放弃 (核心已转储)
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
创建画笔
填充白色
创建Pen
画一条竖线
画一条横线
创建字体
创建画刷
绘制字符串
保存文件到:/net5.0/lisdrawtest.bmp
测试完成,如果成功生成图片那么环境可用
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
创建画笔
填充白色
创建Pen
画一条竖线
画一条横线
创建字体
创建画刷
绘制字符串
保存文件到:/net5.0/lisdrawtest.bmp
测试完成,如果成功生成图片那么环境可用
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
创建画笔
填充白色
创建Pen
画一条竖线
画一条横线
创建字体
创建画刷
绘制字符串
保存文件到:/net5.0/lisdrawtest.bmp
测试完成,如果成功生成图片那么环境可用
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
创建画笔
填充白色
创建Pen
画一条竖线
画一条横线
创建字体
创建画刷
绘制字符串
保存文件到:/net5.0/lisdrawtest.bmp
测试完成,如果成功生成图片那么环境可用
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
创建画笔
填充白色
创建Pen
画一条竖线
画一条横线
创建字体
创建画刷
绘制字符串
保存文件到:/net5.0/lisdrawtest.bmp
测试完成,如果成功生成图片那么环境可用
[root@localhost net5.0]# dotnet lisdrawtest.dll
此程序为imedicallis提供用于测试linux下dotnetcore绘图环境
创建位图
创建画笔
填充白色
创建Pen
画一条竖线
画一条横线
创建字体
创建画刷
绘制字符串
保存文件到:/net5.0/lisdrawtest.bmp
测试完成,如果成功生成图片那么环境可用
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# 
[root@localhost net5.0]# yum list | grep gif
giflib.i686                                            5.1.4-3.el8                                            AppStream 
giflib.x86_64                                          5.1.4-3.el8                                            AppStream 
[root@localhost net5.0]# yum list | grep jpeg
libjpeg-turbo.x86_64                                   1.5.3-12.el8                                           @AppStream
libjpeg-turbo-devel.x86_64                             1.5.3-12.el8                                           @AppStream
openjpeg2.x86_64                                       2.4.0-4.el8                                            @AppStream
libjpeg-turbo.i686                                     1.5.3-12.el8                                           AppStream 
libjpeg-turbo-devel.i686                               1.5.3-12.el8                                           AppStream 
libjpeg-turbo-utils.x86_64                             1.5.3-12.el8                                           AppStream 
openjpeg2.i686                                         2.4.0-4.el8                                            AppStream 
openjpeg2-devel-docs.noarch                            2.4.0-4.el8                                            AppStream 
openjpeg2-tools.x86_64                                 2.4.0-4.el8                                            AppStream 
turbojpeg.i686                                         1.5.3-12.el8                                           AppStream 
turbojpeg.x86_64                                       1.5.3-12.el8                                           AppStream 
[root@localhost net5.0]# yum list | grep png
libpng.x86_64                                          2:1.6.34-5.el8                                         @anaconda 
libpng-devel.x86_64                                    2:1.6.34-5.el8                                         @base     
libpng.i686                                            2:1.6.34-5.el8                                         base      
libpng-devel.i686                                      2:1.6.34-5.el8                                         base      
libpng12.i686                                          1.2.57-5.el8                                           AppStream 
libpng12.x86_64                                        1.2.57-5.el8                                           AppStream 
libpng15.i686                                          1.5.30-7.el8                                           AppStream 
libpng15.x86_64                                        1.5.30-7.el8                                           AppStream 
texlive-dvipng.x86_64                                  7:20180414-23.el8                                      AppStream 
[root@localhost net5.0]# 

这就是解决RHEL8.5下dotnetcore绘图支持gif和jpg的过程。头大的很。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小乌鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值