什么是获取由
为了更好地理解问题,我将在下面提供具体细节。请注意,尽管有这些细节,这是一个通用的编程问题,适用于其他情况。
有一个名为LuaRocks的程序。它是Lua编程语言的包管理器(类似于Ruby gems或Python eggs)。LuaRocks软件包称为“rocks”。
作为方便功能,LuaRocks允许rock作者指定外部依赖项列表,其格式为C头文件和/或动态库文件列表。(在Linux上为.so)如果指定的文件不存在,则无法安装rock。
目前,在Linux上,默认情况下,LuaRocks通过在两个硬编码路径
我认为这是不正确的行为,并且在Ubuntu和其他Debian发行版的最近更改中破坏了它(broken)。
更新:路径并非硬编码,但可以在配置文件中进行用户配置。尽管如此,在我看来,这不是最佳解决方案。
相反地(据我所理解),LuaRocks应该在由
(现在请重新阅读上面的问题;-))
/etc/ld.so.conf
配置的路径列表以及包含在其中的文件的最便携和健壮的方法?手动解析文件似乎不是一个好主意——格式可能会在未来版本中更改。
为了更好地理解问题,我将在下面提供具体细节。请注意,尽管有这些细节,这是一个通用的编程问题,适用于其他情况。
有一个名为LuaRocks的程序。它是Lua编程语言的包管理器(类似于Ruby gems或Python eggs)。LuaRocks软件包称为“rocks”。
作为方便功能,LuaRocks允许rock作者指定外部依赖项列表,其格式为C头文件和/或动态库文件列表。(在Linux上为.so)如果指定的文件不存在,则无法安装rock。
目前,在Linux上,默认情况下,LuaRocks通过在两个硬编码路径
/usr/lib
和/usr/local/lib
中搜索文件来检查.so文件是否存在。我认为这是不正确的行为,并且在Ubuntu和其他Debian发行版的最近更改中破坏了它(broken)。
更新:路径并非硬编码,但可以在配置文件中进行用户配置。尽管如此,在我看来,这不是最佳解决方案。
相反地(据我所理解),LuaRocks应该在由
/etc/ld.so.conf
指定的路径中查找文件,并包括从其中包含的文件。(现在请重新阅读上面的问题;-))