Discussion:
createuser error
(too old to reply)
Dan Thompson
2004-06-06 11:54:54 UTC
Permalink
Hi, I'm new to databases.

I'm using version 7.4 on Red Hat Enterprise Linux 3. I'm trying to
install sql-ledger featured in a recent article in Linux Journal.
Postgres is running, and I haved initialized the database. The next step
seems to be creating the program user. My instructions say to :

# su postgres
$ createuser -d sql-ledger

I get this error:

createuser: relocation error: createuser: undefined symbol: get_progname

I don't really know where to go from here.

Thanks,
Dan Thompson
Tom Lane
2004-06-06 15:54:44 UTC
Permalink
Post by Dan Thompson
I'm using version 7.4 on Red Hat Enterprise Linux 3.
createuser: relocation error: createuser: undefined symbol: get_progname
This is a fairly common symptom of a library version conflict.
get_progname() was added to libpq.so as of (IIRC) PG 7.4. What you've
evidently got is a 7.4 createuser that is trying to use a 7.3-or-older
libpq.so.

RHEL3 shipped with PG 7.3-something, so the presence of the older
library isn't surprising. Where did you install the newer one?
You probably need to fool with ldconfig to get the dynamic linker
to find the newer library instead of the older. Or simply replace
the older library with the newer one in /usr/lib.

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html
Dan Thompson
2004-06-09 00:57:13 UTC
Permalink
Post by Tom Lane
Post by Dan Thompson
I'm using version 7.4 on Red Hat Enterprise Linux 3.
createuser: relocation error: createuser: undefined symbol: get_progname
This is a fairly common symptom of a library version conflict.
get_progname() was added to libpq.so as of (IIRC) PG 7.4. What you've
evidently got is a 7.4 createuser that is trying to use a 7.3-or-older
libpq.so.
RHEL3 shipped with PG 7.3-something, so the presence of the older
library isn't surprising. Where did you install the newer one?
You probably need to fool with ldconfig to get the dynamic linker
to find the newer library instead of the older. Or simply replace
the older library with the newer one in /usr/lib.
regards, tom lane
Dan Thompson
2004-06-09 01:53:45 UTC
Permalink
Tom, or anyone,

I removed and then reinstalled. I was wrong about the version. It IS
7.3.x. I cannot start the server now, though. it says:

postgresql failed. The error was:
An old version of the database format was found.\nYou need to
upgrade the data format before using PostgreSQL.\nSee (Your
System's documentation directory)/postgresql-7.3/README.rpm-dist
for more information.

I don't have any data yet, so if I just need to delete a file? I can. I
just don't know which one.
I installed using apt for rpm, thinking that everything would be done
correctly. :-

Sorry about the bad posts. Long day. :-)

Thanks,

Dan
Post by Tom Lane
Post by Dan Thompson
I'm using version 7.4 on Red Hat Enterprise Linux 3.
createuser: relocation error: createuser: undefined symbol: get_progname
This is a fairly common symptom of a library version conflict.
get_progname() was added to libpq.so as of (IIRC) PG 7.4. What you've
evidently got is a 7.4 createuser that is trying to use a 7.3-or-older
libpq.so.
RHEL3 shipped with PG 7.3-something, so the presence of the older
library isn't surprising. Where did you install the newer one?
You probably need to fool with ldconfig to get the dynamic linker
to find the newer library instead of the older. Or simply replace
the older library with the newer one in /usr/lib.
regards, tom lane
Loading...