2015-08-14 44 views
0

问题开始设置LD_LIBRARY_PATH“致命的:无法找到的‘https’远程助手”不想每次当混帐是给下面的错误消息

解决此我不得不先编译libcurl的重新编译混帐。在编译git时,我设置了CPPFLAGS和LDFLAGS来包含libcurl库和头文件的路径。 Git编译成功,我能够删除上述错误信息。

但是,要运行上述命令,我首先需要设置LD_LIBRARY_FLAG来定义自定义libcurl文件夹的路径。有没有办法,我没有必要在执行git命令之前为每个用户设置此标志。

回答

1

有几种选择。

您可以将库放入系统库目录,也可以将库的位置添加到系统目录。

一个更好的选择(更安全,不需要超级用户权限)是告诉链接器在二进制文件中设置一个“rpath”,将目录烧写到可执行文件中,所以你不需要使用LD_LIBRARY_PATH 。您可以通过使用-rpath链接器选项或在链接时设置LD_RUN_PATH环境变量来完成此操作。

另一种选择是简单地避免动态链接到libcurl.so,通过链接到静态libcurl.a存档代替。

+0

奇怪的是,当我将二进制文件复制到另一台服务器上时,没有我的设置ld_library_Path。但在编译的服务器上,我需要设置它。两台服务器都具有相同的配置。 – Raj