CentOS 之 非root情况下ncurses安装问题
最近使用主机发现,没有root权限,然后想用zsh,发现没有root权限也是安装不了,但是安装zsh又需要ncurses,但是网上都是一些yum之类的命令,但是yum只能root用哇,苦于无奈,只能安装在自己的目录下使用了。具体过程如下。
系统版本:
1 | $ 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/
这里可以找到需要的版本
正常安装
1 | ./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时如下方法安装:
1 | $./configure --prefix=$HOME --with-shared --without-debug --enable-widec |