Обсуждение: plTcl test failed
Got the latest Tcl/Tk 8.0.4 from scriptics, compiled it and installed it with great success. RedHat 5.2 i386, Pentium machine, kernel 2.0.36 All my tcl/tk applications are working fine but : After compiling and installing pltcl packacge, trying to run the tests got the error : QUERY: insert into T_pkey1 values (1, 'key1-1', 'test key'); ERROR: Load of file /usr/local/pgsql/lib/pltcl.so failed: /lib/libtcl8.0.so: undefined symbol: stat Is there any other library that have to be manually added when compiling pltcl, same way as crypt was ? Or the error comes from tcl library ? -- Constantin Teodorescu FLEX Consulting Braila, ROMANIA
> Got the latest Tcl/Tk 8.0.4 from scriptics, compiled it and installed it > with great success. > RedHat 5.2 i386, Pentium machine, kernel 2.0.36 > > All my tcl/tk applications are working fine but : > > After compiling and installing pltcl packacge, trying to run the tests > got the error : > > QUERY: insert into T_pkey1 values (1, 'key1-1', 'test key'); > ERROR: Load of file /usr/local/pgsql/lib/pltcl.so failed: > /lib/libtcl8.0.so: undefined symbol: stat Looks like something from the standard C library. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
Bruce Momjian wrote: > > > After compiling and installing pltcl packacge, trying to run the tests > > got the error : > > > > QUERY: insert into T_pkey1 values (1, 'key1-1', 'test key'); > > ERROR: Load of file /usr/local/pgsql/lib/pltcl.so failed: > > /lib/libtcl8.0.so: undefined symbol: stat > > Looks like something from the standard C library. I succeeded in compiling it but, as usual :-) , adding manually the path to libpq, a -lc and a -lcrypt when linking. Now pltcl works and even passed the included tests. Hope that 6.4.1 would have less problems finding the needed libraries. -- Constantin Teodorescu FLEX Consulting Braila, ROMANIA
Constantin Teodorescu <teo@flex.ro> writes: > I succeeded in compiling it but, as usual :-) , adding manually the > path to libpq, a -lc and a -lcrypt when linking. > Now pltcl works and even passed the included tests. > Hope that 6.4.1 would have less problems finding the needed libraries. I hope so too. But we won't find out unless someone who is seeing this problem (I'm not, because libcrypt isn't a separate shlib on my machine) pulls down the current sources and tests to see if the fix that's in there actually works. Preferably before 6.4.1 goes out the door. Hint hint... regards, tom lane PS: grabbing either the development sources or REL6_4 branch from the CVS server should do for testing this fix. PPS: Are we close enough to 6.4.1 that it'd make sense to put up a snapshot on the FTP server?
Tom Lane wrote: > > > Hope that 6.4.1 would have less problems finding the needed libraries. > > I hope so too. But we won't find out unless someone who is seeing this > problem (I'm not, because libcrypt isn't a separate shlib on my machine) > pulls down the current sources and tests to see if the fix that's in > there actually works. Preferably before 6.4.1 goes out the door. I can test it the current version on my RedHat 5.2. > PS: grabbing either the development sources or REL6_4 branch from the > CVS server should do for testing this fix. Please, specify what .tar.gz and from where should I download in order to test it ? The file postgresql.snapshot.tar.gz (5324902 bytes) from 9 Dec 8:01 would be fine ? -- Constantin Teodorescu FLEX Consulting Braila, ROMANIA
Constantin Teodorescu <teo@flex.ro> writes: > Please, specify what .tar.gz and from where should I download in order > to test it ? > The file postgresql.snapshot.tar.gz (5324902 bytes) from 9 Dec 8:01 > would be fine ? I didn't know we were still generating daily snaps. Probably that file would work, although I imagine it's the development branch and not the REL6_4 branch. Perhaps we should be generating snapshots of the REL6_4 branch? regards, tom lane
Tom Lane wrote: > > Constantin Teodorescu <teo@flex.ro> writes: > > I succeeded in compiling it but, as usual :-) , adding manually the > > path to libpq, a -lc when linking. > > Now pltcl works and even passed the included tests. > > > Hope that 6.4.1 would have less problems finding the needed libraries. > > I hope so too. But we won't find out unless someone who is seeing this > problem (I'm not, because libcrypt isn't a separate shlib on my machine) > pulls down the current sources and tests to see if the fix that's in > there actually works. Preferably before 6.4.1 goes out the door. Got postgresql.snapshot.tar.gz (5324902 bytes) from 9 Dec 8:01 I have removed any trace of PostgreSQL 6.4 from my system (directories, libraries). Compiled on my RedHat 5.2 i386 Pentium machine, kernel 2.0.36 with ./configure --with-tcl I has compiled ok but the same errors occured : * for libpgtcl I have to add manually -lcrypt to SHLIBS in Makefile * for pltcl I have to add manually -lc This time, the .so libraries checked with ldd show correct dynamic links to libraries. No more static links. Good news : one of the errors that I have reported (cannot create tables with name containing spaces having an default sequence auto-increment field) was solved. Bad news : another error regarding view names containing spaces, still persist. I am apologising for reporting it again, but maybe someone will find the bug. ------------------------------------------------------------------------ test=>create table students (id int4, name text); CREATE test=> create view "my view" as select * from students; CREATE test=> select * from "my view"; ERROR: nodeRead: Bad type 0 Best regards, -- Constantin Teodorescu FLEX Consulting Braila, ROMANIA
Constantin Teodorescu <teo@flex.ro> writes: > Compiled on my RedHat 5.2 i386 Pentium machine, kernel 2.0.36 with > ./configure --with-tcl > I has compiled ok but the same errors occured : > * for libpgtcl I have to add manually -lcrypt to SHLIBS in Makefile > * for pltcl I have to add manually -lc OK, the pltcl problem is easily fixed --- closer inspection of Tcl's makefiles shows that we weren't using the results read from tclConfig.sh properly. The other problem turns out to be even nastier than I feared. It seems that on some Unix platforms (evidently including teo's Linux version), the link command that builds a shared library *must* mention any other shared libraries that that lib depends on. On other Unix platforms, not only is it not necessary to mention shared-lib dependencies, but it may actually Not Work. I find this information in the configure.in file for Tcl, which is probably a fairly reliable source since Tcl/Tk has the same problem we do of one shlib depending on another. (Curiously, Tcl believes that on Linux dependent shlibs should *not* be mentioned. This leads me to think that there is something unusual or broken about teo's system. I don't know what, though.) At this point I have no way to know whether adding -lcrypt to the link command for libpgtcl.so would break things on more systems than it fixes ... and so I am not about to just check in that change. We could try making it system-dependent, using the info in Tcl's configure file as a guide, but that doesn't strike me as something I want to try to stick in just a few days before 6.4.1 release either. The more I learn about this stuff, the more I think that we should get out of the business of writing our own shlib build/install rules and let libtool do the work instead. regards, tom lane