[PyKDE] undefined symbol: __pure_virtual

Aleksey Naumov naumov at acsu.buffalo.edu
Wed Sep 20 18:21:25 BST 2000


Dear PyQt users,

I have a problem installing PyQt-2.0: it compiles ok, but 'make install'
complains about
'undefined symbol: __pure_virtual' in libsip.so.3

I run RedHat-6.2 on a 686 intel system. Everything (Qt-2.2.0, sip-2.0.1,
PyQt-2.0) was compiled
with the same compiler - gcc-2.95.2. There can be no conflict with
previous versions
of sip or PyQt (none were installed on this machine). I've repeated the
whole installation
process (sip, PyQt) from scratch (uncompress, apply patches 1 & 2 to
PyQt, though that shouldn't
matter, configure, make) - but with the same result!

Qt-2.2.0 is installed in /usr/local/qt and all examples are working ok.

I include 2 outputs: (1) from 'make install' of PyQt and (2) 'configure'
and 'make install' output
for sip (because the problem seems to be with libsip)

Any insight would be greatly appreciated!

Thank you

Aleksey


(1) ----------------------------------------------------

[aleksey at Belomorie PyQt-2.0]$ make install
Making install in qt
make[1]: Entering directory `/home/Archive/Zipped/PyQt/PyQt-2.0/qt'
make[2]: Entering directory `/home/Archive/Zipped/PyQt/PyQt-2.0/qt'
/bin/sh ../mkinstalldirs /usr/local/lib/python1.6/site-packages
/bin/sh ../libtool  --mode=install /usr/bin/install -c libqtcmodule.la
/usr/local/lib/python1.6/s
ite-packages/libqtcmodule.la
-2.0.so
(cd /usr/local/lib/python1.6/site-packages && rm -f libqtcmodule.so &&
ln -s libqtcmodule-2.0.so
libqtcmodule.so)
/usr/bin/install -c .libs/libqtcmodule.lai
/usr/local/lib/python1.6/site-packages/libqtcmodule.laPATH="$PATH:/sbin"
ldconfig -n /usr/local/lib/python1.6/site-packages
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib/python1.6/site-packages

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/bin/sh ../mkinstalldirs /usr/local/lib/python1.6/site-packages
 /usr/bin/install -c -m 644 ./qt.py
/usr/local/lib/python1.6/site-packages/qt.py
make  install-data-hook
make[3]: Entering directory `/home/Archive/Zipped/PyQt/PyQt-2.0/qt'
(cd /tmp;
PYTHONPATH=/usr/local/lib/python1.6/site-packages:/usr/local/lib/python1.6/site-packages
python -c "import qt")
Traceback (most recent call last):
  File "<string>", line 1, in ?
  File "/usr/local/lib/python1.6/site-packages/qt.py", line 16, in ?
    import libqtc
ImportError: /usr/local/lib/libsip.so.3: undefined symbol:
__pure_virtual
make[3]: *** [install-data-hook] Error 1
make[3]: Leaving directory `/home/Archive/Zipped/PyQt/PyQt-2.0/qt'
make[2]: *** [install-data-am] Error 2
make[2]: Leaving directory `/home/Archive/Zipped/PyQt/PyQt-2.0/qt'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/Archive/Zipped/PyQt/PyQt-2.0/qt'
make: *** [install-recursive] Error 1
[aleksey at Belomorie PyQt-2.0]


(2) -----------------------------------------------------------

[aleksey at Belomorie sip-2.0.1]$ ./configure
creating cache ./config.cache
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking for a BSD compatible install... /usr/bin/install -c
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for c++... c++
checking whether the C++ compiler (c++  ) works... yes
checking whether the C++ compiler (c++  ) is a cross-compiler... no
checking whether we are using GNU C++... yes
checking whether c++ accepts -g... yes
checking for bison... bison -y
checking how to run the C preprocessor... gcc -E
checking for flex... flex
checking for flex... (cached) flex
checking for yywrap in -lfl... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... yes
checking host system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking for ranlib... ranlib
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
updating cache ./config.cache
loading cache ./config.cache within ltconfig
checking whether ln -s works... (cached) yes
checking for ranlib... (cached) ranlib
checking for strip... strip
checking for objdir... .libs
checking for object suffix... o
checking for executable suffix... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions ... yes
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the linker (/usr/bin/ld) supports shared libraries...
yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for /usr/bin/ld option to reload object files... -r
checking dynamic linker characteristics... Linux ld.so
checking command to parse /usr/bin/nm -B output... ok
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
creating libtool
updating cache ./config.cache
loading cache ./config.cache
checking for the Qt meta object compiler... /usr/local/qt/bin/moc
checking for the Qt include files... /usr/local/qt/include
checking for the Qt library files... /usr/local/qt/lib
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for -fno-exceptions... yes
checking for Python include files... /usr/local/include/python1.6
updating cache ./config.cache
creating ./config.status
creating Makefile
creating sip/Makefile
creating siplib/Makefile
creating sip.spec
creating config.h
[aleksey at Belomorie sip-2.0.1]$

.....

[aleksey at Belomorie sip-2.0.1]$ make install
Making install in sip
make[1]: Entering directory `/home/Archive/Zipped/PyQt/sip-2.0.1/sip'
make[2]: Entering directory `/home/Archive/Zipped/PyQt/sip-2.0.1/sip'
/bin/sh ../mkinstalldirs /usr/local/bin
 /bin/sh ../libtool  --mode=install /usr/bin/install -c  sip
/usr/local/bin/sip
/usr/bin/install -c sip /usr/local/bin/sip
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/Archive/Zipped/PyQt/sip-2.0.1/sip'
make[1]: Leaving directory `/home/Archive/Zipped/PyQt/sip-2.0.1/sip'
Making install in siplib
make[1]: Entering directory `/home/Archive/Zipped/PyQt/sip-2.0.1/siplib'

make[2]: Entering directory `/home/Archive/Zipped/PyQt/sip-2.0.1/siplib'

/bin/sh ../mkinstalldirs /usr/local/lib
/bin/sh ../libtool  --mode=install /usr/bin/install -c libsip.la
/usr/local/lib/libsip.la
/usr/bin/install -c .libs/libsip.so.3.0.0 /usr/local/lib/libsip.so.3.0.0

(cd /usr/local/lib && rm -f libsip.so.3 && ln -s libsip.so.3.0.0
libsip.so.3)
(cd /usr/local/lib && rm -f libsip.so && ln -s libsip.so.3.0.0
libsip.so)
/usr/bin/install -c .libs/libsip.lai /usr/local/lib/libsip.la
/usr/bin/install -c .libs/libsip.a /usr/local/lib/libsip.a
ranlib /usr/local/lib/libsip.a
chmod 644 /usr/local/lib/libsip.a
PATH="$PATH:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/bin/sh ../mkinstalldirs /usr/local/include/sip
 /usr/bin/install -c -m 644 sip.h /usr/local/include/sip/sip.h
 /usr/bin/install -c -m 644 sipQt.h /usr/local/include/sip/sipQt.h
make[2]: Leaving directory `/home/Archive/Zipped/PyQt/sip-2.0.1/siplib'
make[1]: Leaving directory `/home/Archive/Zipped/PyQt/sip-2.0.1/siplib'
make[1]: Entering directory `/home/Archive/Zipped/PyQt/sip-2.0.1'
make[2]: Entering directory `/home/Archive/Zipped/PyQt/sip-2.0.1'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/Archive/Zipped/PyQt/sip-2.0.1'
make[1]: Leaving directory `/home/Archive/Zipped/PyQt/sip-2.0.1'
[aleksey at Belomorie sip-2.0.1]$






More information about the PyQt mailing list