Thread: createuser error
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
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
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
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
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:
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:
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: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.
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 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