在这方面更复杂的问题已经在其他地方提出并得到了回答:这个问题可能太微不足道而无法提出。在集群中,我有一个程序编译并链接到 /usr/local/lib 中头节点上的共享 boost 库,这个 boost 版本比集群发行版中可用的版本更新。该程序在头节点上运行良好,因为我导出了 LD_LIBRARY_PATH。如果我尝试使用扭矩调度程序运行它,则库在计算节点上不可用,从而产生“加载共享库时出错......”。除了将 boost 重建为静态库并以这种方式链接程序之外,是否有一种简单的方法可以使这些库对所有节点都可用?只需在作业脚本中导出路径,即
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
不起作用,因为显然计算节点上不存在路径。这似乎是一个愚蠢的问题,但是让所有计算节点都可以使用头节点上的本地对象的最简单方法是什么?