我已经安装了gdal版本1.11.2,但是我有未定义符号的问题。针对此提出的解决方案由gerrit:
给出export LD_PRELOAD=/usr/local/lib/libgdal.so.1
但是,这只有在我从命令行调用python脚本时才有效。如果我从subprocess.Popen
调用脚本,这显然不起作用。
有没有办法永久定义LD_PRELOAD
?
答案 0 :(得分:1)
如果要为每个用户全局拥有导出,可以将导出保存在/ etc / environment中
或者您可以像这样使用env参数:
subprocess.Popen(command, env={'LD_PRELOAD': '/usr/local/lib/libgdal.so.1'})
答案 1 :(得分:1)
最佳解决方案IMHO是在OS级别解决问题。如果您希望只有平台的某些用户可以访问gdal
,则每个用户都应添加一行
export LD_PRELOAD=/usr/local/lib/libgdal.so.1
在他自己的.profile
文件中(假设它们都使用bash或兼容的shell)
或者,如果所有用户都应该能够使用gdal
,那么该行应该添加到系统/etc/profile
文件中。