pgModeler 安装 - 依赖项错误

pgModeler 安装 - 依赖项错误

我正在尝试安装 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

我的解决方案:

  1. 重命名文件pgmodeler.vars

    $ mv pgmodeler.vars pgmodeler.sh 
    
  2. 修改一行文件,pgmodeler.sh路径为pgmodeler

    # Specify here the full path to the pgmodeler's root directory
    export PGMODELER_ROOT="/path/to/pgmodeler"
    
  3. 保存文件和源:

    source pgmodeler.sh 
    
  4. 最后执行:

    ./pgmodeler  
    

相关内容