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

news/2024/11/28 1:30:42/

之前是解决的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 kdocbook-style-xsl                                           noarch                                           1.79.2-9.el8                                            AppStream                                           1.6 Mflex                                                        x86_64                                           2.6.1-9.el8                                             AppStream                                           320 ksgml-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: yesNOTE: if any of the above say 'no' you may install thecorresponding development packages for them, rerunautogen.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: yesNOTE: if any of the above say 'no' you may install thecorresponding development packages for them, rerunautogen.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: yesNOTE: if any of the above say 'no' you may install thecorresponding development packages for them, rerunautogen.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: yesNOTE: if any of the above say 'no' you may install thecorresponding development packages for them, rerunautogen.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 kdocbook-style-xsl                                           noarch                                           1.79.2-9.el8                                            AppStream                                           1.6 Mflex                                                        x86_64                                           2.6.1-9.el8                                             AppStream                                           320 ksgml-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: yesNOTE: if any of the above say 'no' you may install thecorresponding development packages for them, rerunautogen.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: yesNOTE: if any of the above say 'no' you may install thecorresponding development packages for them, rerunautogen.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: yesNOTE: if any of the above say 'no' you may install thecorresponding development packages for them, rerunautogen.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 _libsrm -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.loCC       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.loCC       carbon-private.loCC       customlinecap.loCC       dstream.loCC       font.loCC       gdi32.loCC       general.loCC       graphics.loCC       graphics-cairo.loCC       graphics-metafile.loCC       graphics-path.loCC       graphics-pathiterator.loCC       hatchbrush.loCC       icocodec.loCC       image.loCC       imageattributes.loCC       lineargradientbrush.loCC       matrix.loCC       metafile.loCC       pathgradientbrush.loCC       pen.loCC       print.loCC       region.loCC       region-bitmap.loCC       region-path-tree.loCC       solidbrush.loCC       stringformat.loCC       text.loCC       text-metafile.loCC       texturebrush.loCC       bmpcodec.loCC       emfcodec.loCC       emfplus.loCC       gifcodec.loCC       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.loCC       wmfcodec.loCC       text-pango.loCCLD     libgdiplus.la
make[2]: 离开目录“/libgdiplus/src”
Making all in tests
make[2]: 进入目录“/libgdiplus/tests”CC       testadjustablearrowcap.oCCLD     testadjustablearrowcapCC       testbitmap.oCCLD     testbitmapCC       testbits.oCCLD     testbitsCC       testbmpcodec.oCCLD     testbmpcodecCC       testbrush.oCCLD     testbrushCC       testclip.oCCLD     testclipCC       testcodecs.oCCLD     testcodecsCC       testcustomlinecap.oCCLD     testcustomlinecapCC       testemfcodec.oCCLD     testemfcodecCC       testfont.oCCLD     testfontCC       testgeneral.oCCLD     testgeneralCC       testgifcodec.oCCLD     testgifcodecCC       testgpimage.oCCLD     testgpimageCC       testgraphics.oCCLD     testgraphicsCC       testgraphicsdraw.oCCLD     testgraphicsdrawCC       testgraphicsfill.oCCLD     testgraphicsfillCC       testgraphicspath.oCCLD     testgraphicspathCC       testhatchbrush.oCCLD     testhatchbrushCC       testicocodec.oCCLD     testicocodecCC       testimageattributes.oCCLD     testimageattributesCC       testlineargradientbrush.oCCLD     testlineargradientbrushCC       testmatrix.oCCLD     testmatrixCC       testmetafile.oCCLD     testmetafileCC       testpathgradientbrush.oCCLD     testpathgradientbrushCC       testpen.oCCLD     testpenCC       testpng.oCCLD     testpngCC       testpngcodec.oCCLD     testpngcodecCC       testregion.oCCLD     testregionCC       testreversepath.oCCLD     testreversepathCC       testsolidbrush.oCCLD     testsolidbrushCC       teststringformat.oCCLD     teststringformatCC       testtext.oCCLD     testtextCC       testtexturebrush.oCCLD     testtexturebrushCC       testwmfcodec.oCCLD     testwmfcodecCC       testjpegcodec.oCCLD     testjpegcodecCC       testtiffcodec.oCCLD     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: yesNOTE: if any of the above say 'no' you may install thecorresponding development packages for them, rerunautogen.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 directoryat 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 directoryat 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 directoryat 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 directoryat 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 directoryat 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 directoryat 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 directoryat 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 directoryat 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 directoryat 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 directoryat 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 directoryat 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 directoryat 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 directoryat 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 directoryat 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 directoryat 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 directoryat 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的过程。头大的很。


http://www.ppmy.cn/news/350524.html

相关文章

centos 计算器_在Linux命令行中使用计算器的5个命令

大家好&#xff0c;我是良许。 在使用 Linux 时&#xff0c;我们有时会需要做一些计算&#xff0c;那么我们就可能需要用到计算器。在 Linux 命令行里&#xff0c;有许多计算器工具&#xff0c;这些命令行计算器可以让我们执行科学计算、财务计算或者一些简单的计算。当然&…

termux使用无图形界面linux,在termux上使用图形化

最近老是被人问怎么在termux上用图形化(GUI),想来不如写一篇文章得了。 被人吐槽写的太抽象了,我改还不行吗 VNC Termux原生 准确来说,原生是不可能的,你不可能在termux那个窗口里用GUI的,你需要准备VNC Viewer或者XServer XSDL,这里以VNC Viewer为例。(据称VNC这个太麻烦…

【算法】跑ORB-SLAM2遇到的问题、解决方法、效果展示(环境:Ubuntu18.04+ROS melodic)

文章目录 一、Pangolin库的介绍和安装问题1、问题&#xff1a;Error: No preferred package managers from list [brew] found. Use -m to select manually.2、问题&#xff1a;"make: *** No rule to make target pypangolin_pip_install. Stop." 二、编译 ORB_SLAM…

Mybatis源码学习之全局配置文件和映射文件解析

全局配置文件和映射文件解析 全局配置文件解析 public static void main(String[] args) throws IOException {// 读取配置文件InputStream is Resources.getResourceAsStream("org/apache/ibatis/builder/MapperConfig1.xml");// 创建SqlSessionFactory工厂SqlSes…

python方向键控制角色_教你快速用 Python 控制键盘和鼠标,彻底解放双手

你还在为在计算机上双击或提交表单而烦恼吗?今天就用python来控制键盘和鼠标,解放双手! 第一,Pyauogui库 我们可以首先安装pyauogui库,通过它我们可以编写一些Python脚本来控制鼠标和键盘。例如,可以定义鼠标的点击位置、键盘的输入时间等,实现所有要操作的软件应用程序…

Linux中软件仓库的搭建与虚拟化的部署及应用

目录 一、软件仓库搭建 搭建epel仓库 dnf第三方软件仓库的搭建与共享 二、虚拟化的部署 下载并且安装 虚拟机快照的应用 总结 一、软件仓库搭建 搭建epel仓库 什么是epel EPEL 的全称叫 Extra Packages for Enterprise Linux。EPEL 是由 Fedora 社区打造&#xff0c;…

7 款可替代 top 命令的工具

作者&#xff1a;JackTian 来源&#xff1a;公众号「杰哥的IT之旅」 ID&#xff1a;Jake_Internet 转载请联系授权&#xff08;微信ID&#xff1a;Hc220088&#xff09; 原文地址&#xff1a;7 款可替代 top 命令的工具&#xff01;(二) 大家好&#xff0c;我是杰哥。 上一篇文…

python软件的使用方法_分子绘图软件PyMOL使用教程(1)——软件介绍与安装

软件简介 PyMOL是由Warren Lyford DeLano编写的一个分子结构显示软件,由于生成的图片质量极高,受到了科研工作者的广泛好评;由PyMOL制作的图像屡次出现在Nature、Science等杂志的封面上,作者自己则称所有发表的蛋白质结构图像中,有1/4的是有PyMOL制作的。2010年,Schrding…