Centos 之 非root情况下ncurses安装问题

最近使用主机发现,没有root权限,然后想用zsh,发现没有root权限也是安装不了,但是安装zsh又需要ncurses,但是网上都是一些yum之类的命令,但是yum只能root用哇,苦于无奈,只能安装在自己的目录下使用了。具体过程如下。

系统版本:

$ lsb_release -a

LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.3.1611 (Core)
Release:        7.3.1611
Codename:       Core

源码包下载

http://ftp.gnu.org/pub/gnu/ncurses/
这里可以找到需要的版本

正常安装

./configure --prefix=$HOME

会遇到一个问题,如下

/usr/bin/ld: /usr/lib/libncurses.a(lib_addch.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a 
shared object; recompile with -fPIC /usr/lib/libncurses.a: could not read symbols: Bad value 
collect2: ld returned 1 exit status 
make[1]: *** [http://www.cnblogs.com/.ext/x86_64-linux/curses.so] Error 1 
make[1]: Leaving directory `/home/deploy/tmp/ruby- 
enterprise-1.8.6-20081215/source/ext/curses' 
make: *** [all] Error 1


从错误中可以定位到可能是ncurses这个静态链接库的问题,从网上找了很久,解决方法如下在安装ncurses时如下方法安装:

$./configure --prefix=$HOME --with-shared --without-debug --enable-widec
$make && make install

 

comments powered by Disqus