Обсуждение: Link error from libpq++ on RedHat 6.0 and Postgres 6.5.1
Hallo, I received the following error when compiling C++ code (using -lpq++ -lpq -lcrypt) with Postgres 6.5.1 (last RPM files) on Red Hat 6.0 (glibc 2) :/usr/lib/libpq++.so: undefined reference to `clone__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b1i03Rep'
/usr/lib/libpq++.so: undefined reference to `__dl__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b1i03RepPv'
/usr/lib/libpq++.so: undefined reference to `__eh_pc' collect2: ld returned 1 exit status
As suggested by Thomas Lockhart, I have downloaded the last RPM source format from ftp.postgresql.org
and try to rebuild the package (from root user) with:
rpm --rebuild postgresql.6.5.1-2.src.rpm
or with:
rpm -ivv postgresql.6.5.1-2.src.rpm
cd /usr/src/redhat/SPECS
rpm -ba postgresql.6.5.1.spec
The build process completed well, but where is the new binary RPM package ?
(The default location is /usr/src/redhat/RPMS/i386, but is empty !!)
PS. Attachment are the postgres "spec" file and part of the "rpm -ba" result file.
Some helps ?
Thanks in advance.
Claudio Cicognani
braintech@btstore.com
Вложения
> I received the following error when compiling C++ code (using -lpq++ > -lpq -lcrypt) with Postgres > 6.5.1 (last RPM files) on Red Hat 6.0 (glibc 2) : > /usr/lib/libpq++.so: undefined reference to > ... > /usr/lib/libpq++.so: undefined reference to `__eh_pc' collect2: ld > returned 1 exit status > As suggested by Thomas Lockhart, I have downloaded the last RPM > source format from ftp.postgresql.org > and try to rebuild the package (from root user) with: > rpm --rebuild postgresql.6.5.1-2.src.rpm > or with: > rpm -ivv postgresql.6.5.1-2.src.rpm > cd /usr/src/redhat/SPECS > rpm -ba postgresql.6.5.1.spec > The build process completed well, but where is the new binary RPM > package ? > (The default location is /usr/src/redhat/RPMS/i386, but is empty !!) > PS. Attachment are the postgres "spec" file and part of the "rpm > -ba" result file. I did not find the result file in your attachments. Attached is a snippet from the end of my "rpm --rebuild", and it shows things being written to where you expect. Things do *not* get written if there were errors in the build, and you might be running into that. Sometimes those errors are hard to see, since rpm continues through that phase of the build. Look for things like "File missing"... You might try instead using the RedHat beta rpms from ftp://rawhide.redhat.com/rawhide/i386/RedHat/RPMS which are based on Lamar Owen's recent spec files. Good luck. - Thomas Finding provides... Finding requires... ldd: warning: you do not have execution permission for `/var/tmp/pgsql-root/usr/lib/libpgtcl.so.2.0' Provides: libpgtcl.so.2.0 Prereqs: /sbin/ldconfig Requires: tcl tk ld-linux.so.2 libX11.so.6 libc.so.6 libcrypt.so.1 libdl.so.2 libhistory.so.3 libm.so.6 libncurses.so.4 libnsl.so.1 libpgtcl.so.2.0 libpq.so.2.0 libreadline.so.3 libtcl8.0.so libtermcap.so.2 libtk8.0.so /bin/sh Wrote: /usr/src/redhat/RPMS/i386/postgresql-6.5.1-2.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/postgresql-server-6.5.1-2.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/postgresql-devel-6.5.1-2.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/postgresql-jdbc-6.5.1-2.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/postgresql-odbc-6.5.1-2.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/postgresql-perl-6.5.1-2.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/postgresql-python-6.5.1-2.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/postgresql-tcl-6.5.1-2.i386.rpm Executing: %clean + umask 022 + cd /usr/src/redhat/BUILD + cd postgresql-6.5.1 + rm -rf /var/tmp/pgsql-root + rm -f perlfiles.list + rm -rf howto + exit 0 Executing: --clean + umask 022 + cd /usr/src/redhat/BUILD + rm -rf postgresql-6.5.1 + exit 0 -- Thomas Lockhart lockhart@alumni.caltech.edu South Pasadena, California