之前是解决的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的过程。头大的很。