Thread: pgaccess troubles with crypt
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!
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