Raspbian 从源构建 ncurses 和 vim

Raspbian building ncurses and vim from source

我没有互联网连接,至少几周内不会。我必须下载 Raspbian 的最小版本,默认情况下不包含 vim。如果我的 Pi 无法访问互联网,我将无法使用包管理器。

我从 https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.0.tar.gz 下载了 ncurses 6.0 并将其安装到 /opt/ncurses。为了构建它,我必须在 运行 配置之前 export CPPFLAGS="-P"

接下来我从 ftp://ftp.vim.org/pub/vim/unix/vim-8.0.tar.bz2 抓取了 vim 8.0。当我尝试使用参数 with-tlib=ncurses 运行 ./configure 时,它失败并显示消息:

checking --with-tlib argument... ncurses
checking for linking with ncurses library... configure: error: FAILED

查看 /opt/ncurses/lib 我注意到开发库不存在。

pi@raspberrypi:/opt/ncurses/lib $ ls -l
total 7300
-rw-r--r-- 1 root root   92482 Nov 29 06:09 libform.a
-rw-r--r-- 1 root root 1138744 Nov 29 06:09 libform_g.a
-rw-r--r-- 1 root root   49122 Nov 29 06:09 libmenu.a
-rw-r--r-- 1 root root  653288 Nov 29 06:09 libmenu_g.a
-rw-r--r-- 1 root root  464600 Nov 29 06:09 libncurses.a
-rw-r--r-- 1 root root  135894 Nov 29 06:09 libncurses++.a
-rw-r--r-- 1 root root 4080812 Nov 29 06:09 libncurses_g.a
-rw-r--r-- 1 root root  498190 Nov 29 06:09 libncurses++_g.a
-rw-r--r-- 1 root root   20190 Nov 29 06:09 libpanel.a
-rw-r--r-- 1 root root  320340 Nov 29 06:09 libpanel_g.a
lrwxrwxrwx 1 root root      17 Nov 29 06:09 terminfo -> ../share/terminfo

将其与 libncurses5-dev (https://packages.ubuntu.com/trusty/arm64/libncurses5-dev/filelist) 中的内容进行比较,我可以在此处看到共享库。

我之前从未手动执行过此操作,所以老实说,我什至不确定我是否走在正确的道路上。我应该从构建中获取共享库还是需要单独获取它们?

最初我在配置 ncurses 时忘记了标志 --with-shared。因为我还将 ncurses 安装到 /opt/ncurses,所以我需要先 export LDPATH=-L/opt/ncurses/lib 然后配置 vim。

我从 Cannot link ncurses while compiling vim 那里得到了 LDPATH 的提示。