关注小众语言、AI技术,记录、分享技术点滴!

0%

首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装
1.安装依赖包

1
yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel ncurses-devel perl

2.下载最新版的nginx

1
2
wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar -zxvf nginx-1.10.2.tar.gz

3.编译与安装

1
2
3
./configure --prefix=/usr/local/nginx
make
make install

4.查看nginx的安装目录

1
whereis nginx

5.启动

1
/usr/local/nginx

安装完成

编译安装 php-fpm
1.下载php7

1
2
3
wget -O php7.tar.gz http://cn2.php.net/get/php-7.0.13.tar.gz/from/this/mirror
tar -zxvf php7.tar.gz
cd php-7.0.13

2.安装依赖包

1
yum install gcc gcc-c++ libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

3.编译配置(如果出现错误,基本都是上一步的依赖文件没有安装所致)
可以从这一步起参考PHP官方安装说明:http://php.net/manual/zh/install.unix.nginx.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache

4.正式安装

1
make && make install

5.配置环境变量

1
2
3
cat >> /etc/profile<<EOF
export PATH=$PATH:/usr/local/php/bin
EOF

6.导入环境变量

1
source /etc/profile

7.配置php-fpm

1
2
3
4
5
cp php.ini-production /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm

8.启动php-fpm

1
/etc/init.d/php-fpm start

安装完成

ps:
有2种方式可以找到之前的编译参数:
1.在源码 /lamp/php-5.4.11/中找到 config.nice,这个就是之前的编译参数
2.去掉enable-gd-jis-conv编译参数,引起imagettftext()中文乱码问题
3.在php.ini配置文件中找到Configure相关的配置 :

1
/usr/local/php/bin/php -i |grep 'Configure'

php7出了!性能提升一倍!
不过兼容性好像还不太好,我在php7下安装memcached扩展遇到了问题,记录一下。

  1. 首先需要安装libmemcached支持:
    官网在此,找到最新版的下载链接 https://launchpad.net/libmemcached,使用wget下载tar.gz压缩包,解压缩,进入目录,依次执行(prefix后为安装目录):
    1
    2
    3
    ./configure --prefix=/usr/local/libmemcached  
    make
    make install
  2. 安装memcached
    php使用memcache的扩展有两个,一个memcache,一个memcached,前者比较老,推荐使用第二个,我们这里以第二个为例:
    在github上找到适用于php7的分支(https://github.com/php-memcached-dev/php-memcached/tree/php7),同样使用wget下载zip压缩包,解压缩,进入目录,依次执行下列命令(其中php-config和libmemcached目录根据具体情况设定,可以使用whereis或者find来查找):
    1
    2
    3
    4
    /usr/local/php/bin/phpize  
    ./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcached-sasl
    make
    make install
    安装成功

Advanced Audio Coding (AAC) 是 MP3 的后继格式,它被定义於 MPEG-4 part 3 (ISO/IEC 14496-3)。它通常使用在 MP4 容器内;对于音乐习惯上使用 .m4a 副档名。第二常见使用是在 MKV (Matroska) 档内,因为它比 MP4 支援更多以文字为基础的软字幕 (例如 ass, ssa…)。本文中的范例将使用 MP4 与 M4A 副档名。

FFmpeg 可以支援 4 个 AAC-LC 编码器 (aac, libfaac, libfdk_aac, libvo_aacenc) 与两个 AAC-HE 编码器 (libaacplus, libfdk_aac)。libaacplus, libfaac, libfdk_aac 的授权不与 GPL 相容,所以当 GPU 授权源代码也包含在内时 GPU 不允许包含源代码授权依据这些授权的二进位档的发布。因此这些编码器被指定为 “non-free”,且你不能下载内建它们的 ffmpeg。这可以透过自行编译 ffmpeg 来解决。

对于 AAC-LC 品质而言,其答案可能是:
libfdk_aac > libfaac > Native FFmpeg AAC encoder (aac) > libvo_aacenc
https://trac.ffmpeg.org/wiki/Encode/HighQualityAudio#AudioencodersFFmpegcanuse

libfdk_aac

The Fraunhofer FDK AAC 编解码程式库。这是目前 ffmpeg 所能提供的最高品质 AAC 编码器。需要 ffmpeg 组态 (configuration) 中含有 –enable-libfdk-aac (如果也使用 –enable-gpl 则还需要 –enable-nonfree)。

详细资料: Fraunhofer FDK AAC - Hydrogenaud

Constant Bit Rate (CBR, 常数位元速率) 模式

指定一个目标位元速率。它可以让你精準控制输出档案大小 (= 位元率 * 时间长度),且它与 HE-AAC profile 相容。由经验得知,双声道推荐 位元率 >= 128kbps,6 声道则推荐位元率 >= 384kbps (由 双声道位元率 * 声道数 / 2)。使用 -b 选项来控制输出位元速率。

范例:

转换一个音讯档为 AAC 并以 M4A (MP4) 容器来封装:

1
ffmpeg -i input.wav -c:a libfdk_aac -b:a 128k output.m4a

转换一个影片的 5.1 生到音讯为 AAC,并复制其视讯串流:

1
ffmpeg -i input.mp4 -c:v copy -c:a libfdk_aac -b:a 384k output.mp4

Variable Bit Rate (VBR, 可变位元速率) 模式

指定一个目标品质,而不是特定的位元速率。设定值范围为 1-5,较高的值会得到较高的位元率与品质。使用 -vbr 选项来设定 VBR 等级。

范例:

转换一个音讯档为 AAC 并以 M4A (MP4) 容器来封装:

1
ffmpeg -i input.wav -c:a libfdk_aac -vbr 3 output.m4a

转换一个影片的 5.1 生到音讯为 AAC,并复制其视讯串流:

1
ffmpeg -i input.mp4 -c:v copy -c:a libfdk_aac -vbr 3 output.mp4

High-Efficiency AAC

简称 AAC-HE 又名为 aacPlus,这是一对专门针对低位元速率的 AAC profiles (version 1 与 version 2),AAC-HE v1。对于双声道而言 (如下图所示),AAC-HE v1 适用于 96kbps 以下,而 AAC-HE v2 适用于 48kbps 以下。但大多数播放设备不支援播放任何版本的 AAC-HE 而只能播放 AAC-LC。

mobile01-0aaa64dadec533c578cc87c6c1054e16

x 轴为音质; y 轴为位元率

注意: AAC-HE v2 只能处理双声道。如果需要降混 (down-mix) 至 单声道,则使用 AAC-HE v1。

如果需要指定 Profile 则使用 -profile 选项。

Profiles:
aac_low
MPEG-4 AAC LC (default)
aac_he
MPEG-4 HE-AAC (SBR)
aac_he_v2
MPEG-4 HE-AAC v2 (SBR+PS)
aac_ld
MPEG-4 AAC LD
aac_eld
MPEG-4 AAC ELD

例如:

1
ffmpeg -i input.wav -ac 2 -c:a libfdk_aac -profile:a aac_he -vbr 3 output.m4a

Native FFmpeg AAC encoder
原生 (Native) FFmpeg AAC 编码器是已包含在 ffmpeg 内,而且它不像本文中其它 AAC 编码器那样需要一个外部程式库。注意这将不会让你得到如同 libfdk_aac 一样的良好结果。这被认为是实验性的编码器,所以需要 “-strict experimental” 或 “-strict -2 is”。

指定位元率

使用 -b 选项来指定输出位元率为 240kbps:

1
ffmpeg -i input.wav -strict experimental -c:a aac -b:a 240k output.m4a

指定品质

使用 -q 选项来指定输出品质等级为 6:

1
ffmpeg -i input.wav -strict experimental -c:a aac -q:a 6 output.m4a

设定值有效范围为 0.1-10。比较高的设定值会得到较高的输出品质与位元率大小。
此 VBR 是实验性的并且有可能得到比 CBR 更差的结果。

libvo_aacenc

VisualOn AAC 编码程式库。需要 ffmpeg 组态 (configuration) 中含有 –enable-libvo-aacenc。它有非 non-free 的优点,但它是一个更差的编码器比起 libfdk_aac 甚至 原生的 FFmpeg AAC 编码器,根据 FFmpeg AACの音质评価。此编码器最多只支援 2 声道,并只有 CBR 模式,而且不支援 VBR 输出。

CBR 128Kbps:

1
ffmpeg -i input.wav -ac 2 -c:a libvo_aacenc -b:a 128k output.m4a

附:

HE-AAC, HE-AAC v2
品质 高品质
比特率 HE-AAC:32至48kbit/s 单声道
HE-AAC v2:16至24kbit/s 单声道
高品质音频
采样率 24至96kHz
声道 单声道、立体声、多声道(如5.1、7.1)
应用 DVB(数 字视频广播)、ISDB(综合业务数字广播)、ARIB、ATSC-M/H、DAB+(数字音频广播)、DRM+(数字版权管理)、DRM、DVB- H(手持式数字视频广播)、DMB(数字多媒体广播)、MediaFLO、3GPP、XM广播、移动电话、音频和视频下载服务

AAC-LC
品质 达到统计学标准的清晰度
比特率 最高每通道256kbit/s
采样率 8至96kHz
声道 单声道、立体声、多声道(如5.1、7.1)
应用 苹果 iPod、 iTunes、QuickTime、 日本ISDB(综合业务数字广播)、 AV 接收器、汽车收音机、移动音乐播放器、移动电话

对FFmpeg的X264质量预设测量性能,要知道哪个选项是最适合我的目的将MPEG2 TS到苹果电视的MP4。因素需要考虑是:
1)转换的速度
2)文件的大小
3)视频的质量
最重要的因素就是转换的速度,如果时间转换比录制短。同时对于文件的大小也是越小越好。

测试方法

1
2
3
4
5
6
for i in ultrafast superfast veryfast faster fast medium slow slower veryslow placebo
do ffmpeg -i sample.ts -vcodec libx264 \
-preset $i -profile:v baseline -level 3.0 -s 1280x720 \
-acodec libfaac -ab 160k \
-y $i.mp4
done

sample.ts是一个60秒的全高清(1440×1080),MPEG2视频

测试结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
preset used for conversion
Conversion speed (fps - frames per second) . The bigger the faster.
Size of the output video file (in bytes)

ultrafast
29.6
81,046,858

superfast
27.9
58,180,478

veryfast
20.6
43,968,615

faster
13.0
32,981,783

fast
9.1
35,461,071

medium
8.0
35,119,322

slow
5.6
33,367,247

slower
2.1
33,698,347

veryslow
1.3
29,697,663

placebo
0.6
29,395,288

ffmpeg-presets-comparison-results

到LUA官网下载安装包

1
2
3
4
5
$ wget http://www.lua.org/ftp/lua-5.1.5.tar.gz
$ tar zxvf lua-5.1.5.tar.gz
$ cd lua-5.1.5/
$ yum install -y readline-devel ncurses-devel
$ make linux

如下提示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cd src && make linux  
make[1]: Entering directory '/usr/local/src/lua-5.1.5/src'
make all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
make[2]: Entering directory '/usr/local/src/lua-5.1.5/src'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/local/src/lua-5.1.5/src'
make[1]: Leaving directory '/usr/local/src/lua-5.1.5/src'


$ make install

cd src && mkdir -p /usr/local/bin /usr/local/include /usr/local/lib /usr/local/man/man1 /usr/local/share/lua/5.1 /usr/local/lib/lua/5.1
cd src && install -p -m 0755 lua luac /usr/local/bin
cd src && install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp /usr/local/include
cd src && install -p -m 0644 liblua.a /usr/local/lib
cd doc && install -p -m 0644 lua.1 luac.1 /usr/local/man/man1

$ whereis lua
lua: /usr/bin/lua /usr/lib64/lua /usr/local/bin/lua /usr/local/lib/lua /usr/share/lua /usr/share/man/man1/lua.1.gz

$ /usr/local/bin/lua
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio

安装完成。

mongorover模块是mongodb官方提供的lua语言的驱动,官网API文档:http://api.mongodb.org/lua/0.1/index.html

通过luarocks方式安装lua模块

一、安装luarocks工具

1
2
3
4
5
$ wget http://luarocks.org/releases/luarocks-2.2.2.tar.gz
$ tar zxpf luarocks-2.2.2.tar.gz
$ cd luarocks-2.2.2
$ ./configure
$ make bootstrap

二、安装mongorover模块

1
$ luarocks install mongorover

安装时,报以下错误信息

Error: Could not find expected file libbson-1.0/bson.h, or libbson-1.0/bson.h for LIBMONGOC – you may have to install LIBMONGOC in your system and/or pass LIBMONGOC_DIR or LIBMONGOC_INCDIR to the luarocks command. Example: luarocks install mongorover LIBMONGOC_DIR=/usr/local

三、安装bson库

官方安装参照:http://api.mongodb.org/libbson/current/installing.html

1
2
3
4
5
6
7
$ wget https://github.com/mongodb/libbson/releases/download/1.1.10/libbson-1.1.10.tar.gz
$ tar -xzf libbson-1.1.10.tar.gz
$ cd libbson-1.1.10/
$ ./configure
$ make
$ make install
$ ln -s /usr/include/libbson-1.0/ /usr/local/libbson-1.0

再执行,安装mongorover模块,又报以下错误

Error: Could not find expected file libmongoc-1.0/mongoc.h, or libmongoc-1.0/mongoc.h for LIBMONGOC – you may have to install LIBMONGOC in your system and/or pass LIBMONGOC_DIR or LIBMONGOC_INCDIR to the luarocks command. Example: luarocks install mongorover LIBMONGOC_DIR=/usr/local

四、安装libmongoc库

官方安装参照:http://api.mongodb.org/c/current/installing.html

1
2
3
4
5
6
7
$ wget https://github.com/mongodb/mongo-c-driver/releases/download/1.1.10/mongo-c-driver-1.1.10.tar.gz
$ tar -xzf mongo-c-driver-1.1.10.tar.gz
$ cd mongo-c-driver-1.1.10/
$ ./configure
$ make
$ make install
$ ln -s /usr/include/libmongoc-1.0/ /usr/local/libmongoc-1.0

再执行,安装mongorover模块,安装成功

zeromq是个类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节,让你的网络编程更为简单。ZMQ用于node与node间的通信,node可以是主机或者是进程。

安装

ZeroMQ:http://download.zeromq.org/zeromq-4.1.3.tar.gz

1
2
3
4
5
6
7
8
9
10
$ tar -xvzf zeromq-4.1.3.tar.gz
$ cd zeromq-4.1.3
$ ./configure
$ make
$ make install

./configure

checking for sodium... no
configure: error: Package requirements (libsodium) were not met

ibsodium 是一个流行、易于使用的软件库。主要用于加密、解密、签名和生成密码哈希等等。这是一个可移植的、跨编译器支持、可安装的,基于 NaCl 开发,提供一个兼容 API。它的目标是为所有构建更高级别的加密工具提供所需要的核心操作。

安装

libsodium:https://github.com/jedisct1/libsodium/releases/download/1.0.3/libsodium-1.0.3.tar.gz

1
2
3
4
5
$ tar -xvzf libsodium-1.0.3.tar.gz
$ cd libsodium-1.0.3
$ ./configure
$ make
$ make install

设置环境变量

1
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

最后ldconfig一下,更新一下动态链接库。

1
$ ldconfig

再次安装ZeroMQ,安装成功。

同时需要将

1
2
$ yum remove zeromq
$ yum remove zeromq-devel

安装成功后,可安装nodejs或python等的zmq模块来验证一下刚安装的版本。

nvm 默认是从 http://nodejs.org/dist/ 下载的, 国外服务器, 必然很慢, 好在 nvm 以及支持从镜像服务器下载包, 于是我们可以方便地从七牛的 node dist 镜像下载

1
NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist nvm install 0.11.11

于是你就会看到一段非常快速进度条:

1
2
3

######################################################################## 100.0%
Now using node v0.11.11

如果你不想每次都输入环境变量 NVM_NODEJS_ORG_MIRROR, 那么我建议你加入到 .bashrc 文件中:

1
2
3
4
source

export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist
source path/to/nvm/nvm.sh

然后你可以继续非常方便地安装各个版本的 node 了, 你可以查看一下你当前已经安装的版本:

1
2
3
4
5
6
nvm ls
nvm
v0.8.26
v0.10.26
v0.11.11
-> v0.11.12

nrm 快速切换 NPM 源

安装

1
npm install -g nrm

使用

列出可选的源

1
2
3
4
5
6
7
8
nrm ls
* npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
taobao - http://registry.npm.taobao.org/
eu ----- http://registry.npmjs.eu/
au ----- http://registry.npmjs.org.au/
sl ----- http://npm.strongloop.com/
nj ----- https://registry.nodejitsu.com/

带*的是当前使用的源,上面的输出表明当前源是官方源。

切换

切换到taobao

1
nrm use taobao

增加源

你可以增加定制的源,特别适用于添加企业内部的私有源。 私有源可以使用cnpmjs架设 。

1
nrm add  <registry> <url> [home]

删除源

1
nrm del <registry>

测试速度

你还可以通过 nrm test 测试相应源的响应时间。

例如,测试官方源的响应时间:

1
2
nrm test npm
npm ---- 1328ms

测试所有源的响应时间:

1
2
3
4
5
6
7
8
nrm test
npm ---- 891ms
cnpm --- 1213ms
* taobao - 460ms
eu ----- 3859ms
au ----- 1073ms
sl ----- 4150ms
nj ----- 8008ms

注意,为了取得较准确的结果,可以考虑多次测试取平均值。

许可

nrm 为开源软件,使用 MIT 许可。

项目主页

github.com/Pana/nrm

ngx_lua_module 是一个nginx http模块,它把 lua 解析器内嵌到 nginx,用来解析并执行lua 语言编写的网页后台脚本。

特性:
支持Windows和Linux平台。
支持高并发高性能。
HTML网页中内嵌LUA脚本代码,类似于PHP。
支持非阻塞的数据库操作,目前只支持MYSQL。
支持异步的文件IO操作。
支持非阻塞的SOCKET IO操作。

方式一:使用集成包安装

下载 ngx_openresty,该集成包中有:Nginx,Lua或Luajit,ngx_lua,以及一些有用的Nginx第三方模块。

1
2
3
4
wget https://github.com/openresty/ngx_openresty  
./configure --with-luajit
make
make install

方式二:Ngx_lua可以手动编译进Nginx(或Tengine)

假定nginx的安装路径为:/usr/local/nginx

所需要的模块如下:
luajit2 https://github.com/openresty/luajit2
ngx_devel_kit https://github.com/simpl/ngx_devel_kit
echo-nginx-module https://github.com/agentzh/echo-nginx-module
lua-nginx-module https://github.com/chaoslawful/lua-nginx-module

安装步骤:

1、安装openresty提供的luajit2

1
2
3
4
5
wget -O luajit2.zip https://codeload.github.com/openresty/luajit2/zip/v2.1-agentzh  
unzip luajit2.zip
cd luajit2
make
make install

下面配置 luajit的环境变量(Nginx编译时需要)

1
2
export LUAJIT_LIB=/usr/local/lib  
export LUAJIT_INC=/usr/local/include/luajit-2.1

2、安装 ngx_devel_kit (NDK) 模块

1
2
wget -O ngx_devel_kit.zip https://codeload.github.com/simplresty/ngx_devel_kit/zip/master  
unzip ngx_devel_kit.zip -d /usr/local

3、安装 lua-nginx-module 模块

1
2
wget -O lua-nginx-module.zip https://codeload.github.com/openresty/lua-nginx-module/zip/master  
unzip lua-nginx-module.zip -d /usr/local

4、重新编译Nginx,需要注意编译顺序

1
2
3
4
5
6
7
./configure --prefix=/usr/local/nginx   
--with-ld-opt=-Wl,-rpath,$LUAJIT_LIB
--add-module=/usr/local/ngx_devel_kit
--add-module=/usr/local/echo-nginx-module
--add-module=/usr/local/lua-nginx-module
make -j2
make install

注意:重新编译 Nginx 二进制,Nginx 需要 quit 再启动。而普通配置更新则 reload 即可。

quit

1
kill -HUP cat /usr/local/nginx/logs/nginx.pid

reload

1
/usr/local/nginx/sbin/nginx -s reload

模块编译完成!

在编译安装 Nginx 的第三方模块时,碰到一个错误:

1
2
/usr/local/nginx/sbin/ngxin -s reload  
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

解决办法。
在 Nginx 编译时,需要指定 RPATH,加入下面选项即可

1
./configure --with-ld-opt="-Wl,-rpath,$LUAJIT_LIB"

或者

1
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH