(废弃) Linux(CentOS) 安装 gifski

正确在CentOS上安装Gifski的方法:

https://www.jianshu.com/p/3e1f4d8ab12b

下列内容废弃,安装Gifski失败

参考:安装及使用pngquant在Linux命令行上压缩PNG图像

安装gifski依赖pngquant
pngquant可以从你的操作系统上游存储库安装,也可以从源代码编译,从源代码构建pngquant的优点是,可以获得最新版本,而不是系统存储库中可用的软件包。

1、在CentOS安装pngquant
首先安装pngquant所需的依赖项:
一、安装 libpng-dev包
sudo yum -y install git libpng-devel gcc cmake

二、安装pngquant包
cd /usr/local/src #进入软件包存放目录
git clone --recursive https://github.com/kornelski/pngquant.git #git克隆pngquant项目
cd pngquant
./configure #无需--prefix=指定安装目录
make && make install #编译#安装
pngquant --version #查看pngquant 版本#2.12.6 (July 2019)

./configure 不指定安装目录,make install 会将 pngquant装进/usr/local/bin,
所以,无需在/etc/profile文件中添加export PATH=$PATH:/usr/local/yasm/bin

2、安装Gifski
参考:Centos 安装.deb类型的软件
参考:CentOS7安装deb包

安装Gifski过程中会报错:libc.so.6(GLIBC_2.18)(64bit) is needed by gifski-0.10.1-2.x86_64
解决办法:原因是因为系统的glibc版本不符合安装要求,gifski要求版本glibc-2.18版本。
安装glibc遇到错误,原因 make版本过低
These critical programs are missing or too old: make compiler

注意:安装glibc前make、binutils、gcc应为较新的版本
make下载地址:http://ftp.gnu.org/gnu/make/make-4.3.tar.gz
binutils下载地址:http://ftp.gnu.org/gnu/binutils/binutils-2.34.tar.gz
glibc下载地址:https://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz

参考:Linux中出现libc.so.6(GLIBC_2.14)(64bit) is needed by...的解决办法
参考:linux下编译安装glibc
参考:gcc glibc升级
参考:Glibc Binutils GCC 安装指南
参考:如何升级linux系统glibc版本?
参考:Linux中升级GLIBC,终结版,测试通过

安装make
cd /usr/local/src #进入软件包存放目录
tar -zxvf make-4.3.tar.gz #解压
cd make-4.3 #进入目录
./configure #
make && make install #编译#安装
ln -s -f /usr/local/bin/make /usr/bin/make #必须运行该语句否则还是旧版本
make -version # 查看make版本

安装binutils
cd /usr/local/src #进入软件包存放目录
tar -zxvf binutils-2.33.1.tar.gz #解压
cd binutils-2.33.1 #进入目录
./configure --prefix=/usr --enable-ld
make && make install #编译#安装

安装gcc报错:error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
需要安装mpc、mpfr、gmp
参考:error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+
参考:Centos7环境下gcc由4.8升级到6.4

注意:gmp、mpfr、mpc,不能各自任意版本,它们都必须同时下载自infrastructure页面(https://gcc.gnu.org/pub/gcc/infrastructure/),而gcc下载自releases页面(https://gcc.gnu.org/pub/gcc/releases/

gcc下载地址:https://gcc.gnu.org/pub/gcc/releases/gcc-10.1.0/gcc-10.1.0.tar.gz
gmp下载地址:https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
mpfr下载地址:https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
mpc下载地址:https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz

mpfr和mpc的安装方法与gmp类似。不过要注意配置的时候,一定要把gmp与mpfr的依赖关系选项加进去。

先安装gmp
cd /usr/local/src #进入软件包存放目录
tar -jxvf gmp-6.1.0.tar.bz2 #解压
cd gmp-6.1.0 #进入目录
./configure --prefix=/usr/local/gmp
make && make install #编译#安装

再安装mpfr
cd /usr/local/src #进入软件包存放目录
tar -jxvf mpfr-3.1.4.tar.bz2 #解压
cd mpfr-3.1.4 #进入目录
./configure --prefix=/usr/local/mpfr --with-gmp=/usr/local/gmp
make && make install #编译#安装

后安装mpc
cd /usr/local/src #进入软件包存放目录
tar -zxvf mpc-1.0.3.tar.gz #解压
cd mpc-1.0.3 #进入目录
./configure --prefix=/usr/local/mpc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr
make && make install #编译#安装

在安装完gmp、mpfr和mpc后,
将库文件加入如下文件:
vi /etc/ld.so.conf
增加以下三行
/usr/local/gmp/lib
/usr/local/mpfr/lib
/usr/local/mpc/lib
加完后使用如下命令更新
ldconfig -v

gcc是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等)

安装gcc(注意,安装gcc需要几个小时)
cd /usr/local/src #进入软件包存放目录
tar -zxvf gcc-10.1.0.tar.gz #解压
cd gcc-10.1.0
mkdir build #临时目录
cd build #进入目录
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpc #注意/configure前面是两个点
make -j4 && make install #编译#安装
gcc -v #查看gcc版本 #gcc version 10.1.0

再次尝试安装glibc但报错
参考:编译安装glibc
*** These auxiliary programs are missing or incompatible versions: makeinfo
*** some features will be disabled.
不过注意此处要安装texinfo,直接安装makeinfo是没有的。

texinfo是一个文档系统,可用于创建PDF、HTML等文档。
texinfo下载地址:https://ftp.gnu.org/gnu/texinfo/texinfo-6.7.tar.gz

安装texinfo
cd /usr/local/src #进入软件包存放目录
tar -zxvf texinfo-6.7.tar.gz #解压
cd texinfo-6.7 #进入目录
./configure #未指定安装目录
make && make install #编译#安装
makeinfo --version #查看版本 #texi2any (GNU texinfo) 6.7

再次尝试安装glibc但报错
参考:编译安装glibc
checking LD_LIBRARY_PATH variable... contains current directory
configure: error:
*** LD_LIBRARY_PATH shouldn't contain the current directory when
*** building glibc. Please change the environment variable
*** and run configure again.

提示:在 /etc/profile 文件中不要添加export LD_LIBRARY_PATH命令

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH :/...lib目录

如要添加LD_LIBRARY_PATH,请在 /etc/ld.so.conf 文件尾部追加类似代码
/usr/local/ffmpeg/lib
修改成功后,一定/必须要执行 sudo ldconfig 命令,而不是重启系统。

上述错误提示是LD_LIBRARY_PATH包含有当前文件夹。解决这个问题当前有两套方案,第一是把LD_LIBRARY_PATH临时设为空;第二种方案是先把LD_LIBRARY_PATH永久设为空,安装完毕后再改回来。

先试试第一种方案,命令如下:

export LD_LIBRARY_PATH=

glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。
参考:linux下编译安装glibc
glibc下载地址:http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz

安装glibc(需要十来分钟时间)
cd /usr/local/src #进入软件包存放目录
tar -zxvf glibc-2.18.tar.gz #解压
cd glibc-2.18 #进入目录
mkdir build #必须创建build文件夹
cd build #进入目录
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin #注意/configure前面是两个点且必须指定安装目录
make && make install #编译#安装
ldd --version #查看glibc版本#ldd (GNU libc) 2.18

输入命令检查是否安装成功

ls -l /lib64/libc.so.6

输出:lrwxrwxrwx 1 root root 12 Jun 9 17:55 /lib64/libc.so.6 -> libc-2.31.so 则安装成功

特别注意:安装glibc后会出现错误提示,但这些错误可以忽略。
参考:CentOS 7.6 编译安装最新版本glibc2.30 实录

/usr/bin/ld: cannot find -lnss_test2 #此错误可以忽略
collect2: error: ld returned 1 exit status # 此编译错误可以无视
Execution of gcc -B/usr/bin/ failed! # 此编译错误可以无视
The script has found some problems with your installation!
Please read the FAQ and the README file and check the following:

  • Did you change the gcc specs file (necessary after upgrading from
    Linux libc5)?
  • Are there any symbolic links of the form libXXX.so to old libraries?
    Links like libm.so -> libm.so.5 (where libm.so.5 is an old library) are wrong,
    libm.so should point to the newly installed glibc file - and there should be
    only one such link (check e.g. /lib and /usr/lib)
    You should restart this script from your build directory after you've
    fixed all problems!
    Btw. the script doesn't work if you're installing GNU libc not as your
    primary library!
    make[1]: *** [Makefile:120: install] Error 1
    make[1]: Leaving directory '/usr/local/src/glibc-2.31' # 编译成功
    make: *** [Makefile:12: install] Error 2 #此编译错误可以无视

安装Gifski
参考:Centos 安装.deb类型的软件
参考:CentOS7安装deb包
参考:rpm包安装没有反应

一、安装alien,用于转包类型为.rpm
yum -y install alien
二、使用alien
cd /usr/local/src #进入软件包存放目录
alien -r gifski_0.10.1_amd64.deb
三、安装
rpm -ivh gifski-0.10.1-2.x86_64.rpm

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268