I'm working with postgres 13 (REL_13_STABLE branch) from source code, and I'm using Apache AGE version 1.3.0 for that from (release/PG13/1.3.0 branch) from apachea/age source code which should be compatible with the version of postgres I'm using, but when I try to CREATE EXTENSION age;
I get the following error:
postgres=# CREATE EXTENSION age;
ERROR: could not load library "/usr/local/pgsql-13/lib/age.so": /usr/local/pgsql-13/lib/age.so: undefined symbol: hash_any_extended
though I checked /usr/local/pgsql-13/lib/
and age.so
turned to be stored there, therefore the error mostly for stating that I'm using incompatible versions of Postgresql and Apache AGE, even though I'm using branches supporting PG13 which should be compatible. So if this is the case what is the cause for the problem and how to solve?.
It is possible that some other version of Apache AGE or Postgres still has files in your system. To ensure that Postgres 13 is being used, you can run the command psql -c "SELECT version();"
in your terminal.
To address this issue, try running the following commands from your Apache AGE source code folder:
sudo make PG_CONFIG=/usr/local/pgsql-13/bin/pg_config clean
sudo make PG_CONFIG=/usr/local/pgsql-13/bin/pg_config
sudo make PG_CONFIG=/usr/local/pgsql-13/bin/pg_config install
If the error persists after running the commands to clean and rebuild Apache AGE, you could consider uninstalling both PostgreSQL and Apache AGE and then reinstalling them with other compatible versions.
Note: you can use the branch PG13
instead of release/PG13/1.3.0
branch.