Re: "Undefined functions" pg_dlopen and pg_dlerror when compiling PG7.2.3 under Linux 2.0.? - Mailing list pgsql-novice

From Tom Lane
Subject Re: "Undefined functions" pg_dlopen and pg_dlerror when compiling PG7.2.3 under Linux 2.0.?
Date
Msg-id 18480.1034621994@sss.pgh.pa.us
Whole thread Raw
In response to "Undefined functions" pg_dlopen and pg_dlerror when compiling PG7.2.3 under Linux 2.0.?  ("Brendan LeFebvre" <brendanl@iname.com>)
Responses Re: "Undefined functions" pg_dlopen and pg_dlerror when compiling PG7.2.3 under Linux 2.0.?  ("Brendan LeFebvre" <brendanl@iname.com>)
List pgsql-novice
"Brendan LeFebvre" <brendanl@iname.com> writes:
> I am trying to build postgres 7.2.3 on the shared box provided by our
> hosting service. The box is running a 2.0.x linux kernel, and the provided
> make is GNU 3.74, gcc is 2.7.2.1.

> Compilation dies thusly:

> utils/SUBSYS.o: In function `load_external_function':
> utils/SUBSYS.o(.text+0x3a79d): undefined reference to `pg_dlopen'
> utils/SUBSYS.o(.text+0x3a7ac): undefined reference to `pg_dlerror'

Hmm.  It looks to me like someone messed up the support for dynamic
loading on pre-HAVE_DLOPEN Linuxen.  Would you confirm that configure
did not define HAVE_DLOPEN in your src/include/pg_config.h file?

If you want to try to fix it yourself, the files to look at are
src/backend/port/dynloader/linux.h
src/backend/port/dynloader/linux.c
It looks to me like the "#ifdef NOT_USED" in the latter ought to be
"#ifndef HAVE_DLOPEN" instead.  But I'm unsure about the linux.h
file; surely it should have extern declarations for the functions
in linux.c?

            regards, tom lane

pgsql-novice by date:

Previous
From: "Brendan LeFebvre"
Date:
Subject: "Undefined functions" pg_dlopen and pg_dlerror when compiling PG7.2.3 under Linux 2.0.?
Next
From: "Brendan LeFebvre"
Date:
Subject: Re: "Undefined functions" pg_dlopen and pg_dlerror when compiling PG7.2.3 under Linux 2.0.?