我正在尝试安装 pgModeler。但我被困住了。
我的 pgModeler 位于 /opt/pgmodeler-0.5.2/
我拥有所有依赖项:Qt 5.0、Pg 等。
当我使用 ./pgmodeler 运行 pgmodeler 时,出现此错误:
./pgmodeler: error while loading shared libraries: libutils.so.1:
cannot open shared object file: No such file or directory
对我来说,错误很明显。执行中
$ ldd pgmodeler
显示了完整的依赖关系堆栈。但在这部分没有找到一些文件。
libutils.so.1 => not found
libparsers.so.1 => not found
libdbconnect.so.1 => not found
libobjrenderer.so.1 => not found
libpgmodeler.so.1 => not found
libpgmodeler_ui.so.1 => not found
libQt5PrintSupport.so.5 => not found
libQt5Widgets.so.5 => not found
libQt5Gui.so.5 => not found
libQt5Core.so.5 => not found
我有所有这些文件。但我不知道如何设置 pgmodeler 找到它。我在 /etc/profile.d/ 下创建了一个名为 pgmodeler.sh 的文件,就像 pgmodeler.vars 所建议的那样。决不!还是出现问题。
尝试将依赖项的路径添加到 PATH 变量,将文件复制到目录...
出色地。没有什么。 :(
有人可以帮助我吗?如果需要更多信息,我可以随时提供。太感谢了。
答案1
文档已更新,请尝试使用此脚本,适应您的安装路径。
#/bin/bash # 此处指定 pgmodeler 根目录的完整路径 导出 PGMODELER_ROOT="/path/to/pgmodeler" 导出 PGMODELER_CONF_DIR="$PGMODELER_ROOT/conf" 导出 PGMODELER_SCHEMAS_DIR="$PGMODELER_ROOT/schemas" 导出 PGMODELER_LANG_DIR="$PGMODELER_ROOT/lang" 导出 PGMODELER_TMP_DIR="$PGMODELER_ROOT/tmp" 导出 PGMODELER_PLUGINS_DIR="$PGMODELER_ROOT/插件" 导出 PGMODELER_CHANDLER_PATH="$PGMODELER_ROOT/pgmodeler-ch" 导出 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$PGMODELER_ROOT" 导出路径=$PATH:$PGMODELER_ROOT #运行 pgModeler 建模师
这是完整的文章:http://www.pgmodeler.com.br/wiki/doku.php?id=installation
答案2
我的第一个猜测是你在 64 位系统上下载了 32 位版本,反之亦然。你可以在 64 位系统上运行 32 位二进制文件如果你安装了 32 位库,但由于有 64 位 pgModeler,这有点愚蠢。
我假设:
我拥有所有依赖项
您的意思是您通过 ubuntu 而不是您自己安装了它们,在这种情况下链接器可能会出现问题。
这不应该是配置 pgModeler 的问题;如果库安装正确,那么链接器会找到它们,pgModeler 不需要知道它们在哪里。如果它们没有正确安装,让 pgModeler 知道它们在哪里不太可能有帮助。
答案3
你定义了吗PATH=$PATH:$PGMODELER_ROOT
?
如果是这样,请尝试添加:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$PGMODELER_ROOT"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/Qt5.1.0/5.1.0/gcc_64/lib
到/etc/profile
。如果你安装了Qt5。
答案4
我的解决方案:
重命名文件
pgmodeler.vars
$ mv pgmodeler.vars pgmodeler.sh
修改一行文件,
pgmodeler.sh
路径为pgmodeler
# Specify here the full path to the pgmodeler's root directory export PGMODELER_ROOT="/path/to/pgmodeler"
保存文件和源:
source pgmodeler.sh
最后执行:
./pgmodeler