使用 PostgreSQL v11 安装 Apache AGE 时链接器命令失败

问题描述 投票:0回答:1

我正在尝试为 PostgreSQL v11 安装 Apache AGE,但是在运行命令

make install
时,我一直收到错误消息。以下是我从运行命令得到的消息:

gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -g -glldb -ggdb -Og -g3 -fno-omit-frame-pointer  -I.//src/include -I.//src/include/parser -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal  -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk    -c -o src/backend/catalog/ag_label.o src/backend/catalog/ag_label.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -g -glldb -ggdb -Og -g3 -fno-omit-frame-pointer  -I.//src/include -I.//src/include/parser -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal  -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk    -c -o src/backend/parser/cypher_analyze.o src/backend/parser/cypher_analyze.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -g -glldb -ggdb -Og -g3 -fno-omit-frame-pointer  -I.//src/include -I.//src/include/parser -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal  -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk    -c -o src/backend/parser/cypher_clause.o src/backend/parser/cypher_clause.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -g -glldb -ggdb -Og -g3 -fno-omit-frame-pointer  -I.//src/include -I.//src/include/parser -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal  -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk    -c -o src/backend/parser/cypher_expr.o src/backend/parser/cypher_expr.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -g -glldb -ggdb -Og -g3 -fno-omit-frame-pointer  -I.//src/include -I.//src/include/parser -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal  -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk    -c -o src/backend/utils/adt/agtype.o src/backend/utils/adt/agtype.c
src/backend/utils/adt/agtype.c:2363:9: warning: expression which evaluates to zero treated as a null pointer constant of type 'agtype_value *' (aka 'struct agtype_value *') [-Wnon-literal-null-conversion]
        PG_RETURN_NULL();
        ^~~~~~~~~~~~~~~~
/usr/local/pgsql/include/server/fmgr.h:316:37: note: expanded from macro 'PG_RETURN_NULL'
        do { fcinfo->isnull = true; return (Datum) 0; } while (0)
                                           ^~~~~~~~~
src/backend/utils/adt/agtype.c:5767:30: warning: converting the enum constant to a boolean [-Wint-in-bool-context]
    Assert(itok == WAGT_ELEM || WAGT_END_ARRAY);
                             ^
src/backend/utils/adt/agtype.c:9561:29: warning: converting the enum constant to a boolean [-Wint-in-bool-context]
    Assert(itok == WAGT_KEY || WAGT_END_OBJECT);
                            ^
3 warnings generated.
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -g -glldb -ggdb -Og -g3 -fno-omit-frame-pointer  -I.//src/include -I.//src/include/parser -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal  -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk    -c -o src/backend/utils/graph_generation.o src/backend/utils/graph_generation.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -g -glldb -ggdb -Og -g3 -fno-omit-frame-pointer  -I.//src/include -I.//src/include/parser -I. -I./ -I/usr/local/pgsql/include/server -I/usr/local/pgsql/include/internal  -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk    -c -o src/backend/utils/load/age_load.o src/backend/utils/load/age_load.c
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -g -glldb -ggdb -Og -g3 -fno-omit-frame-pointer  -bundle -multiply_defined suppress -o age.so src/backend/age.o src/backend/catalog/ag_catalog.o src/backend/catalog/ag_graph.o src/backend/catalog/ag_label.o src/backend/catalog/ag_namespace.o src/backend/commands/graph_commands.o src/backend/commands/label_commands.o src/backend/executor/cypher_create.o src/backend/executor/cypher_merge.o src/backend/executor/cypher_set.o src/backend/executor/cypher_utils.o src/backend/nodes/ag_nodes.o src/backend/nodes/cypher_copyfuncs.o src/backend/nodes/cypher_outfuncs.o src/backend/nodes/cypher_readfuncs.o src/backend/optimizer/cypher_createplan.o src/backend/optimizer/cypher_pathnode.o src/backend/optimizer/cypher_paths.o src/backend/parser/ag_scanner.o src/backend/parser/cypher_analyze.o src/backend/parser/cypher_clause.o src/backend/executor/cypher_delete.o src/backend/parser/cypher_expr.o src/backend/parser/cypher_gram.o src/backend/parser/cypher_item.o src/backend/parser/cypher_keywords.o src/backend/parser/cypher_parse_agg.o src/backend/parser/cypher_parse_node.o src/backend/parser/cypher_parser.o src/backend/parser/cypher_transform_entity.o src/backend/utils/adt/age_graphid_ds.o src/backend/utils/adt/agtype.o src/backend/utils/adt/agtype_ext.o src/backend/utils/adt/agtype_gin.o src/backend/utils/adt/agtype_ops.o src/backend/utils/adt/agtype_parser.o src/backend/utils/adt/agtype_util.o src/backend/utils/adt/age_global_graph.o src/backend/utils/adt/age_session_info.o src/backend/utils/adt/age_vle.o src/backend/utils/adt/cypher_funcs.o src/backend/utils/adt/ag_float8_supp.o src/backend/utils/adt/graphid.o src/backend/utils/ag_func.o src/backend/utils/graph_generation.o src/backend/utils/cache/ag_cache.o src/backend/utils/load/ag_load_labels.o src/backend/utils/load/ag_load_edges.o src/backend/utils/load/age_load.o src/backend/utils/load/libcsv.o src/backend/utils/name_validation.o -L/usr/local/pgsql/lib  -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk   -Wl,-dead_strip_dylibs   -bundle_loader /usr/local/pgsql/bin/postgres
Undefined symbols for architecture x86_64:
  "_pg_snprintf", referenced from:
      _get_next_default_alias in cypher_parse_node.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [age.so] Error 1

我从

REL_11_STABLE
分支安装了 PostgreSQL,并尝试从
master
PG11
分支安装 AGE。以下是我用于
configure
命令的标志:

./configure --prefix=/usr/local/pgsql --enable-cassert --enable-debug CFLAGS="-glldb -ggdb -O0 -g3 -fno-omit-frame-pointer"
postgresql apache-age
1个回答
0
投票

这是安装软件时最常见的问题之一。原因是链接器无法找到库或库有问题。

您可以尝试以下方法:

  1. 验证所有依赖项都已安装并更新。
  2. 验证为库提供的路径是否正确且命名没有冲突。
  3. 编译时尝试使用不同的标志。

如果您是 MAC 用户,请单击这里查看堆栈溢出参考这里查看详细的博客文章

© www.soinside.com 2019 - 2024. All rights reserved.