Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何链接到终端中缺少的动态库?_Macos_Terminal_Postgis - Fatal编程技术网

Macos 如何链接到终端中缺少的动态库?

Macos 如何链接到终端中缺少的动态库?,macos,terminal,postgis,Macos,Terminal,Postgis,我有点紧张,因为我在第一次尝试就把任何事情做好的经验很少,所以我会把终端里的任何事情弄得一团糟。这就是我问的原因 我正在尝试使用新安装的OSX Mavericks运行shp2pgsql。我已经用PostGIS 2.1安装了Postgres 9.3 v2.1.0-2 我得到的错误是: dyld: Library not loaded: @loader_path/../lib/libintl.8.dylib Referenced from: /Library/PostgreSQL/9.3/bin

我有点紧张,因为我在第一次尝试就把任何事情做好的经验很少,所以我会把终端里的任何事情弄得一团糟。这就是我问的原因

我正在尝试使用新安装的OSX Mavericks运行shp2pgsql。我已经用PostGIS 2.1安装了Postgres 9.3 v2.1.0-2

我得到的错误是:

dyld: Library not loaded: @loader_path/../lib/libintl.8.dylib
  Referenced from: /Library/PostgreSQL/9.3/bin/shp2pgsql
  Reason: image not found
Trace/BPT trap: 5
我看过 建议
brew安装gettext
。这已在以下位置安装了
libintl.8.dylib

/usr/local/Cellar/gettext/0.18.3.1/lib/libintl.8.dylib
我找到了一些关于如何创建符号(?)链接的资源,但我不确定这是否是合适的解决方案,甚至不确定在这种特定情况下如何实现,因为
shp2pgsql
引用了:

@loader\u path/。/lib/libintl.8.dylib

谢谢大家!


-Nicholas

您必须重新编译
shp2pgsql
程序。升级系统和库时,现在必须将程序重新编译到这些新库。

加载程序是
/Library/PostgreSQL/9.3/bin/shp2pgsql
。这使得dyld的
@loader\u路径的概念等于
/Library/PostgreSQL/9.3/bin
。将其替换到库引用中会将
@loader\u path/./lib/libintl.8.dylib
转换为
/library/PostgreSQL/9.3/bin/./lib/libintl.8.dylib
。简化它,我们得到
/Library/PostgreSQL/9.3/lib/libintl.8.dylib
。这就是Postgres显然希望它的
libintl
库所在的位置

如果它不在那里,这表明Postgres的安装已经中断。你必须和提供它的人谈谈


您可以通过设置dyld环境变量来解决这个问题。例如,在调用Postgres之前,您可以尝试导出DYLD\u LIBRARY\u PATH=/usr/local/lib
。然而,这将导致Postgres使用不同于其链接所针对的库,这并不保证有效。

当然,它是gettext库的一部分。假设您的系统上有不同的版本-libintl.dylib可能是指向实际版本库的符号链接。虽然我见过很多人在新的Mavericks上有各种各样的PG问题,但我不能就OSX提供建议。我先安装了Mavericks,然后安装了postgres和postgis。我试着重新安装postgis。。。但这并没有解决问题。我不知道如何重新编译。哦,你使用的不是通过自制安装的PostgreSQL,而是一个独立的。嗨,肯!非常感谢您对路径的回答。。。我最终将libintl.8.dylib文件复制到shp2pgsql期望的路径。现在工作。非常感谢。osx 10.9上postgres和postgis的企业数据库安装程序还存在一些其他问题。。。你认为我应该报告他们吗?是的,你可能应该向那些为Mac OS X捆绑PostreSQL的人报告。