当前位置: 澳门新濠3559 > 操作系统 > 正文

--enable-【澳门新濠3559】shared参数用来设置生成共

时间:2019-10-07 14:57来源:操作系统
目录 安装zlib Ruby用得不多,但发现有业务需要部署指定的版本和插件。起初找了一些Fedora的src.rpm重新打包,发现依赖问题比较多,最终还是费劲的把el6的包编出来了。 在Mac OS X 10.10.

目录

安装zlib

Ruby用得不多,但发现有业务需要部署指定的版本和插件。起初找了一些Fedora的src.rpm重新打包,发现依赖问题比较多,最终还是费劲的把el6的包编出来了。

在Mac OS X 10.10.3下使用源码包编译安装GCC5.1

  • Linux local source list
    • A. Ubuntu
      • 1. 本地ISO
      • 2. 制作本地源
    • B. CentOS
      • 1. 本地ISO

root@localhost:~# tar zxvf zlib-1.2.3.tar.gz

不巧今天又有业务要求el5的包,原本不维护el5了。突然想起RVM(Ruby Version Manager),轻松搞定:

1.首先去下载gcc5.1源码包:

Linux local source list

root@localhost:~# cd zlib-1.2.3/

# curl -L | bash -s stable --autolibs=enabled --ruby #
echo insecure >> ~/.curlrc # CentOS 5 需要
curl -L | bash -s stable
source  /etc/profile
sed -i 's!ftp.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!' /usr/local/rvm/config/db # 使用淘宝源,普通用户被安装在 ~/.rvm目录下
rvm list known # 查看支持安装的组件和版本
yum -y install gcc-c readline-devel zlib-devel libyaml-devel libffi-devel openssl-devel make autoconf automake libtool bison # 理论上RVM会自动检测并安装依赖包
rvm install ruby # 下载 编译安装
ruby -v

2.安装:

A. Ubuntu

root@localhost:~/zlib-1.2.3# 

 安装示例

./configure(可以在这里设置安装的目录,把所有文件都存放在一个目录下,以后无论是寻找还是删除都很方便,eg: 我的位置:  ./configure –-prefix=/usr/local/gcc5.1_source)

1. 本地ISO

# 首先挂载本地镜像
mount -o loop -t iso9660 ./ubuntu.iso /media/cdrom
# 手动添加ISO镜像至源列表,这样就可以在软件库中找到ISO中的所有包
apt-cdrom -m -d=/media/cdrom add
# 刷新软件库
apt update
# 完成后查看sources.list ,本地源应该在第一条,否则默认还是从网上下载

e.g.

root@ubuntu:/# mount -t iso9660 /dev/cdrom /media/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
root@ubuntu:/# sudo apt-cdrom -m -d /media/cdrom/ add
Using CD-ROM mount point /media/cdrom/
Identifying... [83cd189f3f418ae846baff8ecfba5390-2]
Scanning disc for index files...
Found 4 package indexes, 0 source indexes, 0 translation indexes and 1 signatures
Found label 'Ubuntu-Server 16.04.5 LTS _Xenial Xerus_ - Release amd64 (20180731)'
This disc is called: 
'Ubuntu-Server 16.04.5 LTS _Xenial Xerus_ - Release amd64 (20180731)'
Copying package lists...gpgv: Signature made Tue 31 Jul 2018 08:39:26 AM CST using RSA key ID EFE21092
gpgv: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>"
Reading Package Indexes... Done
Writing new source list
Source list entries for this disc are:
deb cdrom:[Ubuntu-Server 16.04.5 LTS _Xenial Xerus_ - Release amd64 (20180731)]/ xenial main restricted
Repeat this process for the rest of the CDs in your set.
root@ubuntu:/# vim /etc/apt/sources.list
# 此时sources.list中多出一行本地源
# deb cdrom:[Ubuntu-Server 16.04.5 LTS _Xenial Xerus_ - Release amd64 (20180731)]/ xenial main restricted

root@ubuntu:/# 
root@ubuntu:/# sudo apt update

root@localhost:~/zlib-1.2.3# ./configure --prefix=/usr/local/zlib

澳门新濠3559 1

澳门新濠3559 2

2. 制作本地源

平时apt-get install安装软件时,下载的deb文件都会存放在/var/cache/apt/archives/下,为了今后重装或给别人用 。

步骤:

# 新建离线源目录
mkdir ~/packs
# 将缓存复制到目录
cp -rv  /var/cache/apt/archives/* ~/packs

    # 拷贝过来发现在packs当中为文件都是root账户的,需要修改
    # 修改所有者
    # sudo chown -R someone.someone * $pack_dir
    # 修改权限
    # sudo chmod ug rw,o r * $pack_dir

# 建立Packages包,里面记录了packs目录下的软件包信息,包括依赖信息
dpkg-scanpackages ~/packs /dev/null |gzip > packs/Packages.gz -r
# 将~/packs复制到目标计算机,或本机的某处
vim /etc/apt/sources.list
# 添加 deb file:/// /home/someone/packs/ 
# 注意: packs后面有一个斜杠,全路径前面还要有空格
# 更新源
sudo apt-get update ---allow-insecure-repositories
sudo apt-get install -f
sudo apt-get xxxx --allow-unauthenticated
# 本地的源是没有签名的,直接更新ubuntu1604下的apt会提示找不到release文件,是一种不安全的源,默认是被禁用的。如果还要安装的话需要加上 --allow-unauthenticated 选项。
# N: Updating from such a repository can't be done securely, and is therefore disabled by default.

Checking for gcc...

好,在此Ruby顺利安装完成。和Python类似,Ruby需要丰富的第3方库方显活力。官网源由于网络原因下载会非常慢,感谢淘宝提供了可靠的国内资源。速度配置上:

gcc5.1_source这个目录需要自己提前新建即可。

B. CentOS

Building static library libz.a version 1.2.3 with gcc.

gem sources -l
gem sources --remove
gem sources -a
gem sources -l

make(大概花掉4个小时)

1. 本地ISO

1. 首先创建挂载点
2. 然后挂载光驱
3. 移除原有源
4. 新建local.repo文件,内容如下:
​```
[name]
name="local repo"
baseurl=file:///media/cdrom/
enabeld=1
gpgcheck=0
​```
5. 对yum进行初始化操作

e.g.

[root@cent7 ~]# mkdir /media/cdrom
[root@cent7 ~]# mount -t iso9660 /dev/cdrom /media/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
[root@cent7 ~]# cd /etc/yum.repos.d/
[root@cent7 yum.repos.d]# pwd
/etc/yum.repos.d
[root@cent7 yum.repos.d]# ls
CentOS-Base.repo  CentOS-Base.repo.bak  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo  epel.repo  epel-testing.repo  mysql-community.repo  mysql-community-source.repo
[root@cent7 yum.repos.d]# mkdir bak
[root@cent7 yum.repos.d]# mv *.repo bak/
[root@cent7 yum.repos.d]# vim local.repo
写入以下内容:
        [name]
        name="local repo"
        baseurl=file:///media/cdrom/
        enabeld=1
        gpgcheck=0

[root@cent7 yum.repos.d]# yum clean all  # 清除缓存
Loaded plugins: fastestmirror
Cleaning repos: name
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@cent7 yum.repos.d]# yum makecache  # 建立新缓存
Loaded plugins: fastestmirror
Determining fastest mirrors
name                                                                                                                                                                                                                                                   | 3.6 kB  00:00:00     
(1/4): name/group_gz                                                                                                                                                                                                                                   | 3.5 kB  00:00:00     
(2/4): name/primary_db                                                                                                                                                                                                                                 | 776 kB  00:00:00     
(3/4): name/other_db                                                                                                                                                                                                                                   | 198 kB  00:00:00     
(4/4): name/filelists_db                                                                                                                                                                                                                               | 298 kB  00:00:00     
Metadata Cache Created
[root@cent7 yum.repos.d]# yum list | wc -l  # 查看可用个数
546
[root@cent7 yum.repos.d]# 

Checking for unistd.h... Yes.

修改仓库源

make install

Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()

澳门新濠3559 3

3.Mac自带的系统里默认把gcc进行软链接clang编译器,而不是真正的gcc,使用以下命令可看到:

Checking for vsnprintf() in stdio.h... Yes.

然后,安装所需的开发库吧`gem install googleplay_dev_scraper`:

ls -al $(dirname $(which gcc)) | grep 'gcc|g |c '

Checking for return value of vsnprintf()... Yes.

澳门新濠3559 4

进入/usr/bin/把旧命令全部删除掉,因为这些命令都是旧版本的命令链接:
            1.切换root账户:sudo su -
            2. rm /usr/bin/gcc
                rm /usr/bin/g
                rm /usr/bin/c
                rm /usr/bin/cpp
                rm /usr/bin/cc

Checking for errno.h... Yes.

安装所需库支持

    3.进入/usr/local/gcc5.1_source/bin

Checking for mmap support... Yes.

在部分CentOS 5机器上安装过程出现错误,执行`rvm reinstall ruby --verify-downloads 1`重装后正常:

     目录下分别查看是否有以下可执行程序:
    /usr/local/gcc5.1_source/bin gcc

 

自动重装

    /usr/local/gcc5.1_source/bin g

root@localhost:~/zlib-1.2.3# make

澳门新濠3559 5

    /usr/local/gcc5.1_source/bin c

root@localhost:~/zlib-1.2.3# make install

RVM目前(v1.22.19)仅支持编译安装,若需要批量部署建议用FPM制作RPM包进行分发,打包 '/usr/local/rvm/ /etc/rvmrc /etc/profile.d/rvm.sh' 即可。RVM作者表示v2.0将支持rpm的生成!

    /usr/local/gcc5.1_source/bin cc 

 

澳门新濠3559 6

澳门新濠3559 7

安装libpng

好,至此。玩得开心!

    4.进入usr/bin目录,添加软链接:

 

Ruby中的遍历指定目录的文件方法 http://www.linuxidc.com/Linux/2015-01/111525.htm

    ln –s /usr/local/gcc5.1_source/bin/gcc gcc

root@localhost:~# tar jxvf libpng-1.2.8.tar.bz2

Ubuntu下搭建Ruby On Rails http://www.linuxidc.com/Linux/2012-06/61981.htm

    ln –s /usr/local/gcc5.1_source/bin/g g

root@localhost:~/libpng-1.2.8# mv ./scripts/makefile.linux ./makefile

实测 Ubuntu 13.10 上搭建 Ruby on Rails http://www.linuxidc.com/Linux/2014-02/96399.htm

    ln –s /usr/local/gcc5.1_source/bin/c c

root@localhost:~/libpng-1.2.8# make

Ruby on Rails 4 Tutorial 中文版 高清完整PDF http://www.linuxidc.com/Linux/2014-04/100253.htm

    ln –s /usr/local/gcc5.1_source/bin/cc cc

root@localhost:~/libpng-1.2.8# make install

Ruby 的详细介绍:请点这里
Ruby 的下载地址:请点这里

 

安装freetype

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-04/116470.htm

4.使用root账户用vi(vim)打开/etc/profile这个配置文件,添加gcc5.1的库文件路径:

root@localhost:~# tar zxvf freetype-2.1.10.tar.gz 

澳门新濠3559 8

  1.切换root账户。
  2.vim /etc/profile
  3.在PATH路径下添加这两句:
  /usr/local/gcc5.1_source/lib

root@localhost:~# cd freetype-2.1.10/

  /usr/local/gcc5.1_source/bin

root@localhost:~/freetype-2.1.10# ./configure --prefix=/usr/local/freetype

我的PATH是这样的:
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/bin:/usr/X11/bin:/a.out/bin:/usr/local/cellar/mariadb/10.0.17/bin/mysql/bin:/usr/local/cellar/mariadb/10.0.17/bin/mysqld/bin:/usr/local/gcc5.1_source/bin/bin:/usr/local/gcc5.1_source/lib/bin:

 

5.然后source /etc/profile.
6.查看并编译.c/.cpp文件,结束。

root@localhost:~/freetype-2.1.10# make

Linux升级GCC 4.8.1清晰简明教程(Ubuntu 12.04 64位版为例)  http://www.linuxidc.com/Linux/2014-04/99583.htm

root@localhost:~/freetype-2.1.10# make install

在CentOS 6.4中编译安装GCC 4.8.1 GDB 7.6.1 Eclipse 在CentOS 6.4中编译安装GCC 4.8.1 GDB 7.6.1 Eclipse

 

Ubuntu下Vim GCC GDB安装及使用 http://www.linuxidc.com/Linux/2013-01/78159.htm

安装Jpeg

Ubuntu下两个GCC版本切换 http://www.linuxidc.com/Linux/2012-10/72284.htm

 

CentOS6.5升级手动安装GCC4.8.2  http://www.linuxidc.com/Linux/2015-01/112595.htm

root@localhost:~# tar zxvf jpegsrc.v6b.tar.gz

GCC 的详细介绍:请点这里
GCC 的下载地址:请点这里

root@localhost:~# cd jpeg-6b/

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-05/116958.htm

root@localhost:~/jpeg-6b# ./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
 
--enable-shared参数用来设置生成共享库 

澳门新濠3559 9

root@localhost:~/jpeg-6b# make 

./libtool --mode=compile gcc -O2  -I. -c ./jcapimin.c

make: ./libtool: Command not found

make: *** [jcapimin.lo] Error 127

 

root@localhost:/etc/apt# ls

apt.conf.d    sources.list~      sources.list.d  trusted.gpg~

preferences.d  sources.listbak    trustdb.gpg    trusted.gpg.d

sources.list  sources.list_bak2  trusted.gpg

root@localhost:/etc/apt# cp sources.list_bak2 sources.list

 

sources.list_bak2为我自己创建的本地源列表

root@localhost:/etc/apt# cat sources.list_bak2 

deb file:///media/cdrom precise main

 

 

root@localhost:/etc/apt# apt-get update

root@localhost:/etc/apt# apt-get install libtool

Reading package lists... Done

Building dependency tree       

Reading state information... Done

The following extra packages will be installed:

  autotools-dev libltdl-dev

Suggested packages:

  libtool-doc autoconf automaken gfortran fortran95-compiler gcj

The following NEW packages will be installed:

  autotools-dev libltdl-dev libtool

0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.

Need to get 0 B/547 kB of archives.

After this operation, 2,561 kB of additional disk space will be used.

Do you want to continue [Y/n]? Y

 

root@localhost:~# cd jpeg-6b/

root@localhost:~/jpeg-6b# make clean

rm -f *.o *.lo libjpeg.a libjpeg.la

rm -f cjpeg djpeg jpegtran rdjpgcom wrjpgcom

rm -f ansi2knr core testout* config.log config.status

rm -f -r knr .libs _libs

root@localhost:~/jpeg-6b# cp /usr/share/libtool/config/config.sub .

root@localhost:~/jpeg-6b# cp /usr/share/libtool/config/config.guess .

root@localhost:~/jpeg-6b# ./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
 
该版本有待更正 无法自动创建安装目录,自己创建一下:

mkdir -p /usr/local/jpeg/include
 mkdir -p /usr/local/jpeg/lib
 mkdir -p /usr/local/jpeg/bin
 mkdir -p /usr/local/jpeg/man/man1

编译安装

root@localhost:~/jpeg-6b# make 

root@localhost:~/jpeg-6b# make install

安装GD

root@localhost:~# tar zxvf gd-2.0.33.tar.gz

root@localhost:~#澳门新濠3559, cd gd-2.0.33/

root@localhost:~/gd-2.0.33# ./configure --with-png --with-jpeg --with-freetype=/usr/local/freetype
 
root@localhost:~/gd-2.0.33# make

root@localhost:~/gd-2.0.33# make install

安装php

注:如若已经安装过php 删除安装目录即可:

root@localhost:~# rm -rf /usr/local/php5

root@localhost:~# tar zxvf php-5.4.4.tar.gz 

root@localhost:~# cd php-5.4.4/

root@localhost:~/php-5.4.4# ./configure --prefix=/usr/local/php5/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql5/ --enable-mbstring --with-gd --enable-gd-native-ttf --with-zlib-dir=/usr/local/zlib --with-freetype-dir=/usr/local/freetype
 
root@localhost:~/php-5.4.4# make 

root@localhost:~/php-5.4.4# make install

root@localhost:~# /usr/local/apache2/bin/apachectl stop

root@localhost:~# /usr/local/apache2/bin/apachectl start

测试

[root@orcl10g ~]# cd /usr/local/apache2/htdocs/

输入指针函数显示php信息

[root@orcl10g htdocs]# vi index.php

写入内容如下

<?

phpinfo();

?>

浏览器查看有无gd参数

澳门新濠3559 10

生产环境实用之LNMP架构的编译安装 SSL加密实现 http://www.linuxidc.com/Linux/2013-05/85099.htm

LNMP 全功能编译安装 for CentOS 6.3笔记 http://www.linuxidc.com/Linux/2013-05/83788.htm

CentOS 6.3 安装LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm

在部署LNMP的时候遇到Nginx启动失败的2个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm

Ubuntu安装Nginx php5-fpm MySQL(LNMP环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm

《细说PHP》高清扫描PDF 光盘源码 全套教学视频 http://www.linuxidc.com/Linux/2014-03/97536.htm

PHP 的详细介绍:请点这里
PHP 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-06/103510.htm

澳门新濠3559 11

编辑:操作系统 本文来源:--enable-【澳门新濠3559】shared参数用来设置生成共

关键词: 澳门新濠3559