redhat 上安装libuv库

0.系统版本[rtmp@localhost bin]$ more /etc/redhat-release

Red Hat Enterprise Linux Server release 7.4 (Maipo)

1. 将在开发机上生成的bin文件整个打包过到redhat服务器执行启动程序

[xxx@localhost bin]$ ./start.sh

./XXX: error while loading shared libraries: libuv.so.1: cannot open shared object file: No such file or directory


1.1在官网上下载最新的版本下来(网址如下 wget 为redhat 直接下载地址):

http://docs.libuv.org/en/v1.x/

wget https://dist.libuv.org/dist/v1.20.2/libuv-v1.20.2.tar.gz

切换root解压后执行

[root@localhost libuv-v1.20.2]# ./autogen.sh

./autogen.sh: line 28: automake: command not found

./autogen.sh: line 33: test: : integer expression expected

./autogen.sh: line 34: test: : integer expression expected

+ libtoolize --copy

./autogen.sh: line 43: libtoolize: command not found

 提醒找不到automakelibtoolize命令,通过一下命令执行安装(redhat用yum,Ubuntuapt-get):

# yum -y install automake

# yum -y install libtool

如果提示错误:make: *** No targets specified and no makefile found. Stop.

则运行:yum -y install ncurses-devel

 最后常规编译:

# ./configure --prefix=/usr/local/libuv

# make

# make install

 生成的libuv.so和libuv.a文件放置在/usr/local/libuv下

 本文以上部分参考:http://aigo.iteye.com/blog/2218675

-----------------^_^割割更健康^_^----------------------

2.库安装好后,再次执行程序

[rtmp@localhost bin]$ ./start.sh

./ipc-relay: error while loading shared libraries: libuv.so.1: cannot open shared object file: No such file or directory

以下部分参考:https://www.cnblogs.com/lisuyun/p/7080401.html

 链接器ld默认的目录是/lib/usr/lib,如果放在其他路径也可以,需要让ld知道库文件在哪里。

方法1

编辑/etc/ld.so.conf文件,在新的一行中加入库文件所在目录;

运行ldconfig ld.so.conf,以更新/etc/ld.so.cache文件;

方法2

/etc/ld.so.conf.d/目录下新建任何以.conf为后缀的文件,在该文件中加入库文件所在的目录;

运行ldconfig + conf文件名,以更新/etc/ld.so.cache文件

 我的解决办法是:/etc/ld.so.conf.d/目录下新建了一个xxx.conf文件加入库的安装路径:/usr/local/libuv/lib

 然后执行 ldconfig xxx.conf  更新/etc/ld.so.cache文件

第二种办法,对于原系统的改动最小。因为/etc/ld.so.conf文件的内容是include /etc/ld.so.conf.d/*.conf所以,在/etc/ld.so.conf.d/目录下加入的任何以.conf为后缀的文件都能被识别到。

 ld.so.cache的更新是递增式的,就像PATH系统环境变量一样,不是从头重新建立,而是向上累加。

除非重新开机,才是从零开始建立ld.so.cache文件。

搞定收工。

---再次向两位博主致谢,因为有你们,笨鸟才能飞的更远







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值