当我没有 sudo 访问权限时,我应该如何编译依赖于其开发包(标头等)未预先安装在系统上的库的程序?
在这种特殊情况下,我有 Ubuntu 12.04,但我希望有一个更通用的解决方案,因为对我来说奇怪的是,我只需要管理员权限来安装开发包以便我可以编译。
答案1
在 Debian 派生系统上,您可以使用提供的sources.list 获取源代码(即使作为非 root 用户)。listapt-get source
有一些 deb-src 条目。否则,它会陷入使用标准工具从项目源存储库下载的困境。
一旦你获得了该来源,那么:
./configure --prefix=/home/me/mysoftware
make
make install
适用于大多数使用自动工具或类似工具的源发行版。
完成后,您需要在配置文件中设置 LD_LIBRARY_PATH 和 PATH 环境变量。
当您配置依赖于以这种方式安装的软件的其他内容时,您需要设置 PKG_CONFIG_PATH、CFLAGS、CXXFLAGS、LDFLAGS 并可能使用其他配置参数来“帮助”配置找到您的特殊安装路径。
当然,为具有 root 权限的人开具支持票可能会更容易。