-2

I am trying to build apache age using the source code with the following commands:

sudo make clean PG_CONFIG=$HOME/pg-install/bin/pg_config 

sudo make PG_CONFIG=$HOME/pg-install/bin/pg_config 

sudo make install PG_CONFIG=$HOME/pg-install/bin/pg_config 

this gives the following error:

(base) humzakhawar@Humzas-MacBook-Pro age % sudo make clean PG_CONFIG=$HOME/pg-install/bin/pg_config

sudo make PG_CONFIG=$HOME/pg-install/bin/pg_config

sudo make install PG_CONFIG=$HOME/pg-install/bin/pg_config

rm -f age.so   libage.a  libage.pc
rm -f 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 src/backend/age.bc src/backend/catalog/ag_catalog.bc src/backend/catalog/ag_graph.bc src/backend/catalog/ag_label.bc src/backend/catalog/ag_namespace.bc src/backend/commands/graph_commands.bc src/backend/commands/label_commands.bc src/backend/executor/cypher_create.bc src/backend/executor/cypher_merge.bc src/backend/executor/cypher_set.bc src/backend/executor/cypher_utils.bc src/backend/nodes/ag_nodes.bc src/backend/nodes/cypher_copyfuncs.bc src/backend/nodes/cypher_outfuncs.bc src/backend/nodes/cypher_readfuncs.bc src/backend/optimizer/cypher_createplan.bc src/backend/optimizer/cypher_pathnode.bc src/backend/optimizer/cypher_paths.bc src/backend/parser/ag_scanner.bc src/backend/parser/cypher_analyze.bc src/backend/parser/cypher_clause.bc src/backend/executor/cypher_delete.bc src/backend/parser/cypher_expr.bc src/backend/parser/cypher_gram.bc src/backend/parser/cypher_item.bc src/backend/parser/cypher_keywords.bc src/backend/parser/cypher_parse_agg.bc src/backend/parser/cypher_parse_node.bc src/backend/parser/cypher_parser.bc src/backend/parser/cypher_transform_entity.bc src/backend/utils/adt/age_graphid_ds.bc src/backend/utils/adt/agtype.bc src/backend/utils/adt/agtype_ext.bc src/backend/utils/adt/agtype_gin.bc src/backend/utils/adt/agtype_ops.bc src/backend/utils/adt/agtype_parser.bc src/backend/utils/adt/agtype_util.bc src/backend/utils/adt/age_global_graph.bc src/backend/utils/adt/age_session_info.bc src/backend/utils/adt/age_vle.bc src/backend/utils/adt/cypher_funcs.bc src/backend/utils/adt/ag_float8_supp.bc src/backend/utils/adt/graphid.bc src/backend/utils/ag_func.bc src/backend/utils/graph_generation.bc src/backend/utils/cache/ag_cache.bc src/backend/utils/load/ag_load_labels.bc src/backend/utils/load/ag_load_edges.bc src/backend/utils/load/age_load.bc src/backend/utils/load/libcsv.bc src/backend/utils/name_validation.bc
rm -rf .//regress/instance/ .//regress/log/ .//regress/results/ .//regress/regression.* src/backend/parser/cypher_gram.c src/include/parser/cypher_gram_def.h
rm -rf results/ regression.diffs regression.out tmp_check/ tmp_check_iso/ log/ output_iso/
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 -g -glldb -ggdb -Og -g3 -fno-omit-frame-pointer  -I.//src/include -I.//src/include/parser -I. -I./ -I/Users/humzakhawar/pg-install/include/postgresql/server -I/Users/humzakhawar/pg-install/include/postgresql/internal  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk    -c -o src/backend/age.o src/backend/age.c
clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk' [-Wmissing-sysroot]
In file included from src/backend/age.c:20:
In file included from /Users/humzakhawar/pg-install/include/postgresql/server/postgres.h:46:
/Users/humzakhawar/pg-install/include/postgresql/server/c.h:59:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^~~~~~~~~
1 error generated.
make: *** [src/backend/age.o] Error 1
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 -g -glldb -ggdb -Og -g3 -fno-omit-frame-pointer  -I.//src/include -I.//src/include/parser -I. -I./ -I/Users/humzakhawar/pg-install/include/postgresql/server -I/Users/humzakhawar/pg-install/include/postgresql/internal  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk    -c -o src/backend/age.o src/backend/age.c
clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk' [-Wmissing-sysroot]
In file included from src/backend/age.c:20:
In file included from /Users/humzakhawar/pg-install/include/postgresql/server/postgres.h:46:
/Users/humzakhawar/pg-install/include/postgresql/server/c.h:59:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^~~~~~~~~
1 error generated.

I browsed around for problem solutions and i tried updating xcode as well. All softwares are up to date.

i checked the clang version using clang --version and it gave following output:

Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin22.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

4 Answers4

1

I installed AGE on a Mac and I ran into some errors such as this. Firstly, I'd advise against using the sudo commands. What I mean is don't use sudo make install, just use make install

Secondly, I think you definitely need a fresh install. Try deleting your current files of PostgreSQL as well as AGE. Thirdly, I believe the path you're providing is incorrect therefore sudo make cannot function properly.

Make sure you're using PostgreSQL version 11 or 12. And have the dependencies required installed

You can install the dependencies using Homebrew.

brew install [package-name]

The packages are:

  • readline openssl zlib flex bison

For further instructions you can refer to this blog post or to the official video tutorial on AGE's website.

Shanzay
  • 19
  • 3
0

You should use the PG_CONFIG command a bit differently.

Try this:

sudo make PG_CONFIG=~/'path'/bin/pg_config install

and checkout this tutorial

https://www.youtube.com/watch?v=0-qMwpDh0CA

This worked for me and explains the installation process right from downloading PostgreSQL.

And try installation process from the beginning, from your errors it seems that compilation issues are occurring because system cannot find the required files in the right place.

TylerH
  • 20,799
  • 66
  • 75
  • 101
0

you can try running the command without sudo and see if that works. Delete your current PostgreSQL and AGE files before attempting the installation again. Make sure you have the dependencies installed to run APACHE AGE.

Marcos Silva
  • 115
  • 5
-1

Avoid using sudo with the make commands to prevent any possible issues related to permissions. Instead, use regular make commands. Also make sure you have a fresh installation and all dependencies are properly resolved.

  • Should we use sudo with make or not? Can you pick one? https://stackoverflow.com/questions/76221435/error-could-not-load-library-usr-local-pgsql-13-lib-age-so-usr-local-pgsql/76796230#76796230 – TylerH Aug 01 '23 at 13:41
  • 1
    This answer also doesn't seem to contribute anything novel--multiple other answers here already suggest using make without sudo. – TylerH Aug 01 '23 at 13:42