Thread: pgaccess troubles with crypt

pgaccess troubles with crypt

From
Paulo Ricardo Sikorski
Date:
Hi

    I've seem messages with "crypt not included when compiling libpgtcl!!"
title and I'm having  troubles with pgaccess.
When pgaccess runs it reports the error below and abort execution.

Error in startup script: couldn't load file "libpgtcl.so":
 /usr/local/pgsql/lib/libpgtcl.so: undefined symbol: crypt
    while executing
"load libpgtcl.so"
    (procedure "main" line 6)
    invoked from within
"main $argc $argv"
    (file "/usr/local/pgsql/bin/pgaccess" line 4954)
----------------------------------------------------------

I did the modifications in SHLIB_LINK in libpq's makefile including
-lcrypt. The "gmake all" was sucessfull, and the installation process too.

I'm sending below a section of the make log refferring to libpq.

---------------------------------------------------------
gmake -C libpq all
gmake[2]: Entering directory
`/usr/src/pgsql/postgresql-6.4.2/src/backend/libpq'
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c be-dumpdata.c -o be-dumpdata.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c be-fsstubs.c -o be-fsstubs.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c be-pqexec.c -o be-pqexec.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c pqcomprim.c -o pqcomprim.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c auth.c -o auth.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c hba.c -o hba.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c crypt.c -o crypt.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c pqcomm.c -o pqcomm.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c portal.c -o portal.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c util.c -o util.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c portalbuf.c -o portalbuf.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c pqpacket.c -o pqpacket.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c pqsignal.c -o pqsignal.o
gcc -I../../include -I../../backend   -O2  -Wall -Wmissing-prototypes -I..
 -c password.c -o password.o
ld -r -o SUBSYS.o be-dumpdata.o be-fsstubs.o be-pqexec.o pqcomprim.o auth.o
hba.o crypt.o pqcomm.o portal.o util.o portalbuf.o pqpacket.o pqsignal.o
password.o
gmake[2]: Leaving directory
`/usr/src/pgsql/postgresql-6.4.2/src/backend/libpq'
----------------------------------------------------------------------------
---

I'm using RedHat Linux 5.0 distributed in Brazil by Conectiva
(www.conectiva.com.br)
with kernel 2.0.34, glibc 2.0.7 and gcc 2.7.2.3.

I removed the Postgresql.6.3.x that came with RedHat (via rpm) and got the
postgresql-6.4.2.tar.gz
because  the rpm packages came without  the sources.

The Postgresql is working and i get connection by psql.

The ldd results for /usr/local/pgsql/lib/libpq.so and
/usr/local/pgsql/libpgtcl.so are below:

ldd: warning: you do not have execution permission for `./libpq.so'
    libc.so.6 => /lib/libc.so.6 (0x40012000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x400b6000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)


ldd: warning: you do not have execution permission for `./libpgtcl.so'
    libc.so.6 => /lib/libc.so.6 (0x40015000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)

I thank you in advance for any help !

regards,

Paulo Ricardo Sikorski
paulo.sikorski@mais.sul.com.br

ps: sorry for my bad english!



Re: [INTERFACES] pgaccess troubles with crypt

From
Constantin Teodorescu
Date:
Paulo Ricardo Sikorski wrote:
>
>         I've seem messages with "crypt not included when compiling libpgtcl!!"
> title and I'm having  troubles with pgaccess.
> When pgaccess runs it reports the error below and abort execution.
>
> Error in startup script: couldn't load file "libpgtcl.so":
>  /usr/local/pgsql/lib/libpgtcl.so: undefined symbol: crypt

Old desease ... :-)

> I did the modifications in SHLIB_LINK in libpq's makefile including
> -lcrypt. The "gmake all" was sucessfull, and the installation process too.

This is the sollution but I cannot understand why it didn't worked for
you.
Maybe it's a problem of confusing libraries and using by mistake an old
one.
I understood that you used postgresql 6.3.2 from RedHat 5.0
distribution.
I hope you previously delete *ANY* trace of postgresql-6.3.2 and it's
libraries and it's all files concerning postgres.

> I removed the Postgresql.6.3.x that came with RedHat (via rpm)

and postgresql-clients too (I hope).

> and got the postgresql-6.4.2.tar.gz
> The Postgresql is working and i get connection by psql.
>
> The ldd results for /usr/local/pgsql/lib/libpq.so and
> /usr/local/pgsql/libpgtcl.so are below:
>
> ldd: warning: you do not have execution permission for `./libpq.so'
>         libc.so.6 => /lib/libc.so.6 (0x40012000)
>         libcrypt.so.1 => /lib/libcrypt.so.1 (0x400b6000)
>         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)
>
> ldd: warning: you do not have execution permission for `./libpgtcl.so'
>         libc.so.6 => /lib/libc.so.6 (0x40015000)
>         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)

Very strange !!!!!
I suspect a bad install.
Are they (libpq.so and libpgtcl.so) marked as execution (chmod a+x
libpq.so) ?
Are they owned (as whole /usr/local/pgsql directory) by postgres user ?
Is postmaster running under postgres id ? That means launched by
postgres user ?
Finally, be carefull, postmaster should be launched with -i option in
order to offer connectivity for PgAccess.


--
Constantin Teodorescu
FLEX Consulting Braila, ROMANIA