skip to Main Content

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?.

2

Answers


  1. 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 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.

    Login or Signup to reply.
  2. The safest way to fix it is to unistall postgres using make uninstall and make clean and also deleting the files in the path usr/local/pgsql-13, then proceed to install postgres and the extension again and make sure the branches are the correct/compatible versions

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search