Thread: createuser error

createuser error

From
Dan Thompson
Date:
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

Re: createuser error

From
Tom Lane
Date:
Dan Thompson <dthompson@wv-cis.net> writes:
> I'm using version 7.4 on Red Hat Enterprise Linux 3.
> I get this error:
> 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

Re: createuser error

From
Dan Thompson
Date:
On Sun, 2004-06-06 at 11:54, Tom Lane wrote:
Dan Thompson <dthompson@wv-cis.net> writes:
> I'm using version 7.4 on Red Hat Enterprise Linux 3.
> I get this error:
> 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

Re: createuser error

From
Dan Thompson
Date:
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


On Sun, 2004-06-06 at 11:54, Tom Lane wrote:
Dan Thompson <dthompson@wv-cis.net> writes:
> I'm using version 7.4 on Red Hat Enterprise Linux 3.
> I get this error:
> 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