Skip to content

undefined symbol: make_result #81

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
darthunix opened this issue Mar 24, 2017 · 10 comments
Closed

undefined symbol: make_result #81

darthunix opened this issue Mar 24, 2017 · 10 comments

Comments

@darthunix
Copy link

darthunix commented Mar 24, 2017

Hello,

after loading pg_pathman in postgresql.conf
shared_preload_libraries = 'pg_pathman, pg_stat_statements'
and restarting postgresql service it fails to start and outputs an error
FATAL: could not load library "/usr/lib/postgresql/9.6/lib/pg_pathman.so": /usr/lib/postgresql/9.6/lib/pg_pathman.so: undefined symbol: make_result

Checked om master and 1.3 branches

System and software:

Linux quota 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
GNU Make 3.81
PostgreSQL 9.6.2
@funbringer
Copy link
Collaborator

Hi @darthunix,

Sorry, but I couldn't reproduce your issue. Do you have 9.5 installed by default?

@funbringer
Copy link
Collaborator

Looks like you've built .so for PostgreSQL 9.5. For instance, if I do something like this:

make USE_PGXS=1 PG_CONFIG=~/pg_95/bin/pg_config # build for 9.5
make USE_PGXS=1 PG_CONFIG=~/pg_962/bin/pg_config install # install into 9.6.2

I get the same result:

FATAL:  could not load library "/home/dmitry/pg_962/lib/postgresql/pg_pathman.so": /home/dmitry/pg_962/lib/postgresql/pg_pathman.so: undefined symbol: make_result
LOG:  database system is shut down

@darthunix
Copy link
Author

Yes, absolutely correct. I had 9.5 + postgresql-server-dev-9.5 and 9.6 on my sandbox. I ran make install and found that the building path was for 9.5. As I didn't need 9.5 I've removed it, installed postgresql-server-dev-9.6 and built pg_pathman for it. And after adding pg_pathman to postgresql.conf I've got this error

@funbringer
Copy link
Collaborator

Is everything OK now?

@darthunix
Copy link
Author

I still fail to use pg_pathman exactly on that sandbox. On all other postgresql servers with pure 9.6 everything is ok. But on the one where I've tried to build first on 9.5 and after on 9.6 the problem is still reproducing. It is not a big deal for me right now. I've just reported you about a problem that can be interesting for you

@darthunix
Copy link
Author

I'll try to clean all *. so files on monday and report you about results. Sorry for my previous answer it is late right now and I didn't understand you))

@funbringer
Copy link
Collaborator

funbringer commented Mar 24, 2017

I still fail to use pg_pathman exactly on that sandbox.

You have to set the PG_CONFIG variable, otherwise pg_pathman will be incompatible with your sandboxed PostgreSQL.

The pg_pathman.so library built for PostgreSQL 9.6 differs from the one that's built for 9.5. Public API of PostgreSQL constantly changes, thus we have to provide various version-specific code fragments in order to support both 9.5 and 9.6.

@funbringer
Copy link
Collaborator

I've just reported you about a problem that can be interesting for you

Good, but you must understand that this problem is not caused by pg_pathman :)

Sorry for my previous answer it is late right now and I didn't understand you))

That's OK, I'll wait for your feedback.

@funbringer
Copy link
Collaborator

@darthunix, did you solve your issue?

@darthunix
Copy link
Author

sorry for not writing feedback - I had vacations. yes, everything ok. I just had to clean the building directory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants