spacemacs无系统权限找不到libXpm问题

在server上安装的spacemacs,无系统权限,提示找不到libXpm。搜了一下,正常解决办法应该是需要/usr/lib/libXpm.so,但是公司server却放在了/usr/lib64/libXpm.so。没有系统权限不知道该怎么解决,求助。

具体是什么需要xpm,报了什么错,什么时候报的?

spacemacs下面不是有个图形工具条吗,一进去加载的时候就会报这个问题,图形工具条一直无法显示。

能不能截图说明一下?最好把报的错也截图一下

最简单的: 自己编译一份 emacs 链接到正确的位置。

复杂一点的:用 patchelf 或者 chrpath 把链接位置改了,就不用重新安装,但是需要你有修改 emacs 可执行文件的权限。而且不保证能成功 (和 macOS 的 otool 不一样,ELF 不能增加 rpath 的 size),还是要重新编译。

https://directory.fsf.org/wiki/Chrpath

如果 objdump -x `which emacs` | grep RPATH 有內容那可以试 chrpath,没有那只能试 patchelf了。

如果用的 emacs 是系统管理员安装的,找你们的管理员反映,如果他们能重新编译安装或更新 emacs,那最好。如果他们是用的某个 package manager 的打包有问题,教他们试下用 chrpath 打个䃼丁。

多谢回复。我现在就是自己编译的emacs 27.1不过我不知道怎么更改链接到正确的lib。 lib和lib64应该也是不能通用的吧?emacs可以在linux下编译成64位版本吗?或者应该怎么链接到正确位置呢?

你这是在本地编译,然后在上传到server安装的吧,并且两者发行版不太一样的吧,实在不行就在server编译, 然后编译的时候–without-x,反正server上也不需要图形界面。

不是,我是在server上的个人用户目录编译的,直接修改了configure里面的安装目录。我倒是可以试试without-x

试验了-without-x可以,就是界面变丑了…

不知道你具体是什么发行版,比较现代的应该 lib 里面已经是 64 位了。再怎么说 configure 的时候也有选项可以改,定位到 lib64 就行了

是不是LD_LIBRARY_PATH没设置好

我下载的最新的27.1。请问应该怎么configure成64位呢?

这个方法试了一下,应该可以,直接改configure加上也行 as_dummy="/usr/lib:/usr/lib64:/lib:/usr/local/lib:$LD_LIBRARY_PATH"