备注:如果没有root权限,使用 --prefix 指定安装路径

./configure --prefix=/home/work/tools/pcre-8.xx

======================================================

最近在学习nginx,nginx rewrite依赖于PCRE库,所以需要在linux系统中编译安装PCRE库。具体步骤如下:

1.下载PCRE包

首先去官网下载pcre的安装包

如果通过FTP的方式,下载地址为:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

如果通过http的方式,下载地址为:http://sourceforge.net/projects/pcre/files/pcre/

目前最新的版本为8.32,linux对应的安装包名称为:pcre-8.32.tar.gz。

2.把安装包上传到服务器,然后解压

  1. [root@localhost local]# tar -zxvf pcre-8.32.tar.gz

解压之后在当前目录下生成了一个文件夹:pcre-8.32

  1. drwxr-xr-x 7 1169  1169    4096 Nov 30 18:50 pcre-8.32

3.配置

  1. [root@localhost pcre-8.32]# ./configure

配置完之后控制台会打印出pcre配置的摘要信息

  1. pcre-8.32 configuration summary:
  2. Install prefix .................. : /usr/local
  3. C preprocessor .................. : gcc -E
  4. C compiler ...................... : gcc
  5. C++ preprocessor ................ : g++ -E
  6. C++ compiler .................... : g++
  7. Linker .......................... : /usr/bin/ld
  8. C preprocessor flags ............ :
  9. C compiler flags ................ : -O2 -fvisibility=hidden
  10. C++ compiler flags .............. : -O2 -fvisibility=hidden -fvisibility-inlines-hidden
  11. Linker flags .................... :
  12. Extra libraries ................. :
  13. Build 8 bit pcre library ........ : yes
  14. Build 16 bit pcre library ....... : no
  15. Build 32 bit pcre library ....... : no
  16. Build C++ library ............... : yes
  17. Enable JIT compiling support .... : no
  18. Enable UTF-8/16/32 support ...... : no
  19. Unicode properties .............. : no
  20. Newline char/sequence ........... : lf
  21. \R matches only ANYCRLF ......... : no
  22. EBCDIC coding ................... : no
  23. EBCDIC code for NL .............. : n/a
  24. Rebuild char tables ............. : no
  25. Use stack recursion ............. : yes
  26. POSIX mem threshold ............. : 10
  27. Internal link size .............. : 2
  28. Match limit ..................... : 10000000
  29. Match limit recursion ........... : MATCH_LIMIT
  30. Build shared libs ............... : yes
  31. Build static libs ............... : yes
  32. Use JIT in pcregrep ............. : no
  33. Buffer size for pcregrep ........ : 20480
  34. Link pcregrep with libz ......... : no
  35. Link pcregrep with libbz2 ....... : no
  36. Link pcretest with libedit ...... : no
  37. Link pcretest with libreadline .. : no
  38. Valgrind support ................ : no
  39. Code coverage ................... : no

4.编译

执行make操作:

  1. [root@localhost pcre-8.32]# make

编译完后可以执行make check进行测试(这一步非必须)

  1. Testing pcregrep version 8.32 2012-11-30
  2. Testing pcregrep main features
  3. Skipping pcregrep UTF-8 tests: no UTF-8 support in PCRE library
  4. Testing pcregrep newline settings
  5. PASS: RunGrepTest
  6. ==================
  7. All 5 tests passed
  8. ==================
  9. make[2]: Leaving directory `/usr/local/pcre-8.32'
  10. make[1]: Leaving directory `/usr/local/pcre-8.32'
  11. [root@localhost pcre-8.32]#

上面的make check结果中有一句:

  1. Skipping pcregrep UTF-8 tests: no UTF-8 support in PCRE library

这是因为在前面步骤中执行./configuration配置时没有加上对utf-8的支持

如果要加上对utf-8的支持可以在./configuration时加上参数:

  1. [root@localhost pcre-8.32]# ./configure --enable-utf8

配置完后再重新make

make完后再次执行make check结果如下:

  1. Testing pcregrep version 8.32 2012-11-30
  2. Testing pcregrep main features
  3. Testing pcregrep UTF-8 features
  4. Testing pcregrep newline settings
  5. PASS: RunGrepTest
  6. ==================
  7. All 5 tests passed
  8. ==================
  9. make[2]: Leaving directory `/usr/local/pcre-8.32'
  10. make[1]: Leaving directory `/usr/local/pcre-8.32'
  11. [root@localhost pcre-8.32]#

5.安装

执行make install操作:

  1. [root@localhost pcre-8.32]# make install

make install结束后pcre编译安装流程就结束了。

Linux下编译安装PCRE库的更多相关文章

  1. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

  2. linux下编译安装nginx

    1.首先下载稳定版nginx1.10.2 使用wget命令下载 wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.然后解压 tar -zxvf  ...

  3. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  4. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...

  5. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

  6. Linux下编译安装qemu和libvirt【转】

    转自:http://www.cnblogs.com/findumars/p/5679742.html 目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 ...

  7. (转)Linux下编译安装log4cxx

    Linux下编译安装log4cxx 一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. log4cxx ...

  8. linux安装软件的几种方法----linux下编译安装软件的一般步骤

    linux安装软件的几种方法: 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...

  9. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

随机推荐

  1. cocos2d-x lua绑定解析

    花了几天时间看了下cocos2d-x lua绑定那块,总算是基本搞明白了,下面分三部分解析lua绑定: 一.lua绑定主要用到的底层函数 lua绑定其本质就是有一个公用的lua_Stack来进行C和L ...

  2. [hadoop] 一些基础概念

    一.云的概念 1.云计算的概念 随时 随地 使用任何设备 获得任何服务 2.趋势 )资料开始回归集中处理(存储大量资料) 随时存取 降低遗失风险 减少传输成本 促进团队协作 )网页变为预设开发平台(网 ...

  3. 浅谈 js字符串 trim 方法之正则篇

    关于 trim 其实没啥好说的,无非就是去除首位空格,对于现代浏览器来说只是简单的正则 /^\s+|\s+$/ 就可以搞定了.而且支持中文空格   等等.什么 \s 支持 中文空格?是的. 打开 Re ...

  4. 项目二(业务GO)——跨域上传图片(请求接口)

    之前,就听过“跨域上传”图片的问题,只是疏于研究,也就一再搁置,直至今天再次遇见这个不能避免的“坑”,才不得不思考一下,怎么“跨域上传”图片或者文件? 问题来源: 何为“跨域”? ——就是给你一个接口 ...

  5. Positive-definite matrix

    In linear algebra, a symmetric n × n real matrix M is said to be positive definite if zTMz is positi ...

  6. hdu 4635 Strongly connected

    http://acm.hdu.edu.cn/showproblem.php?pid=4635 我们把缩点后的新图(实际编码中可以不建新图 只是为了概念上好理解)中的每一个点都赋一个值 表示是由多少个点 ...

  7. Hadoop 2.2.0学习笔记20131209

    1.下载java 7并安装 [root@server- ~]# rpm -ivh jdk-7u40-linux-x64.rpm Preparing... ####################### ...

  8. uboot 链接地址与运行地址的区别

    对于ARM架构的CPU,上电后PC寄存器是指向0地址处的,从这个地址开始运行程序,那么运行了启动代码后会把程序搬移到内存中去运行,这样就是产生程序会在运行时有个两地址,而由源码编译为可执行文件时只会指 ...

  9. SQL Server2012关于表内事项出现次数降序排列(存储过程)

    USE [growup] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[S_GetRanking ...

  10. MySQL数据库忘记root密码解决办法

    MySQL数据库忘记root密码解决办法 1.在运行输入services.msc打开服务窗体,找到MYSQL服务.右键停止将其关闭.如图: