背景:我使用了一台多人公用的服务器,管理员为了大家的环境不互相影响,给每人一个普通用户的权限。所以安装软件的话无权使用 apt-get install
这种方式,只能用源码编译安装。
问题:我在安装 git 的过程中报错,执行 make
命令后,报错
LINK git-daemon
/usr/bin/ld: cannot find -lz
collect2: error: ld returned 1 exit status
Makefile:2516: recipe for target 'git-daemon' failed
make: *** [git-daemon] Error 1
git 是从 github 上下载的 2.30 release 源码。在这之前我还编译安装了 zlib、openssl、autotools 等依赖库。
补充:
- 网上搜索到的答案多指向 zlib 依赖未安装,要
apt-get install zlib-dev
解决,显然我是无法如此操作的。 - 另外,如果我在
/
目录下执行ld -lz
会报错
ld: cannot open output file a.out: Permission denied
- 而在
~/
目录下执行,报错:
ld: cannot find -lz
我对 linux 和 c++ 没有系统的研究和学习,大多是在日常使用的一些经验,所以请大佬们能指点迷津,帮忙解决或分析下问题,不胜感激!先给各位拜年了!
解释清楚这些繁杂的编译参数太费事了。
闲来无事,就顺手帮你静态编译了一下,反正git的依赖也不重,编译也不是难事,利用musl的静态链接无kernel版本依赖的特点进行静态编译,无任何额外依赖,直接就可以运行,你可以试试(我不喜欢百度网盘,不喜欢慢速,也不喜欢让对方也登录,所以就用了奶牛快传):
您有一份文件待查收!即刻点击链接获取文件:https://cowtransfer.com/s/2d9... 或进入 cowtransfer.com 获取,在首页输入取件码:482762(24小时内有效)
文件信息:
如果你还不放心,也可以考虑使用linuxbrew: https://docs.brew.sh/Homebrew... Mac环境下的homebrew的Linux移植版本,不需要root权限,对于本地环境无root权限使用这个搭建开发环境是再合适不过了。国内镜像站还都有镜像,就不赘述了,自己照着镜像站的说明配置brew的镜像就行了