undefined symbol: is_dummy_rel
AdmiralUA opened this issue · 6 comments
День добрый.
Пытаюсь поставить pg_pathman на сервер, использую инструкцию из вашего README.md. Склонил, сделал make, добавил в postgresql.conf. Но при попытке запуска postgres выдает ошибку
FATAL: could not load library "/usr/lib/postgresql/11/lib/pg_pathman.so": /usr/lib/postgresql/11/lib/pg_pathman.so: undefined symbol: is_dummy_rel
Прошу проинструктировать, что делать в этой ситуации. Спасибо.
PostgreSQL 11.2 (Debian 11.2-1.pgdg90+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit
I have the same problem on my Ubuntu 14.04. PostgreSQL 11 didn't start with pg_pathman:
$ sudo service postgresql start 11
* Starting PostgreSQL 11 database server * Error: /usr/lib/postgresql/11/bin/pg_ctl /usr/lib/postgresql/11/bin/pg_ctl start -D /var/lib/postgresql/11/main -l /var/log/postgresql/postgresql-11-main.log -s -o -c config_file="/etc/postgresql/11/main/postgresql.conf" exited with status 1:
2019-07-22 13:53:18 +03 FATAL: could not load library "/usr/lib/postgresql/11/lib/pg_pathman.so": /usr/lib/postgresql/11/lib/pg_pathman.so: undefined symbol: is_dummy_rel
2019-07-22 13:53:18 +03 LOG: database system is shut down
pg_ctl: could not start server
Examine the log output.
pg_pathman version :
~/devel/pg_pathman (b75fbe7) $ git status
HEAD detached at 1.5.8
Environment info:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
$ uname -a
Linux aromanov 3.13.0-153-generic #203-Ubuntu SMP Thu Jun 14 08:52:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ psql
=> SELECT version();
...
PostgreSQL 11.2 (Ubuntu 11.2-1.pgdg14.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4, 64-bit │
I solved my problem! :)
I had on my system PostgreSQL 11.2 (postgresql-11 package) and development filed for PostgreSQL 11.3 (postgresql-server-dev-11 package):
$ pg_config | grep VERSION
VERSION = PostgreSQL 11.3 (Ubuntu 11.3-1.pgdg14.04+1)
$ psql
=> SELECT version();
...
PostgreSQL 11.2 (Ubuntu 11.2-1.pgdg14.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4, 64-bit
I upgraded of postgresql-11 package(sudo apt-get install postgresql-11), rebuild pg_pathman and it works!
@AdmiralUA , check version of postgresql-11 and postgresql-server-dev-11, maybe you have the same issue.
Thanks, I'll check it later.
So, you check it?
Yeah, Postgres 11 at some point removed is_dummy_rel and added it back in 11.3. So just do minor upgrade and you'll be fine.
select version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 10.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
(1 row)
ERROR: could not load library "/usr/pgsql-10/lib/pg_pathman.so": /usr/pgsql-10/lib/pg_pathman.so: undefined symbol: is_dummy_rel