While loading the python servermanager module from paraview I get the following error on my amd64 machines. The x86 machines are working fine! USE-flags, kernel versions and installed packages are identical. I've tested it with vtk-5.0.3 and vtk-5.0.4 Python 2.4.4 (#1, Mar 4 2008, 19:37:25) [GCC 4.1.2 (Gentoo 4.1.2 p1.0.2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.path.insert(0 ,"/usr/lib64/paraview-3.2") >>> from paraview import servermanager Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib64/paraview-3.2/paraview/__init__.py", line 40, in ? from libvtkPVServerCommonPython import * ImportError: /usr/lib64/paraview-3.2/libvtkPVServerCommonPythonD.so: undefined symbol: PyVTKClass_vtkXMLParserNew >>> Reproducible: Always
Reopen with emerge --info output; thanks.
emerge --info: Portage 2.1.4.4 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.21-gentoo-r4 x86_64) ================================================================= System uname: 2.6.21-gentoo-r4 x86_64 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz Timestamp of tree: Sun, 09 Mar 2008 18:00:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p17-r1 dev-java/java-config: 1.3.7, 2.1.4 dev-lang/python: 2.4.4-r9 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=nocona -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="buildpkg ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="de_DE.utf8" LC_ALL="de_DE.utf8" LINGUAS="de" MAKEOPTS="-j3" PKGDIR="/usr/local/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" USE="X a52 aac acl aiglx alsa amd64 asf automount avi berkdb blas bzip2 cairo cdr cli cracklib crypt cups dbus divx divx4linux doc dri dv dvd dvdr dvdread encode fam fame ffmpeg firefox fortran gcj gd gdbm gif gmedia gpm gstreamer hal hdf5 iconv ipv6 isdnlog java jpeg kde kerberos latex ldap ldapsam mad midi mmx mp3 mp4 mpeg mudflap ncurses new-login nfs nls nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3 qt4 quicktime readline reflection replytolist samba sasl sbcl sdl session source spell spl sse sse2 ssl subtitles svg tcl tcltk tcpd threads tiff tk truetype unicode vorbis wmp x264 xcomposite xinerama xml xorg xscreensaver xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa i810" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Hi Oliver, Thanks for the note and I can reproduce your error, but I am not quite sure what the problem is. First off, the vtk version has nothing to do with it, since paraview (unfortunately) builds its own vtk. The missing symbol should be in libvtkIOPythonD.so which doesn't seem to get built by paraview on amd64. Could you please check if you have this library in /usr/lib/paraview (not the one in /usr/lib built by vtk) on your x86 machine? Thanks, Markus
Hello Markus, unfortunately the libvtkIOPythonD.so exists also only in the /usr/lib directory at the x86 machine. There is no additional one in /usr/lib/paraview-3.2. ciao, Oliver
Ok, this one is nasty! It looks like some of the paraview shared libs link against the vtk libs in /usr/lib64/ rather than the paraview ones in /usr/lib64/paraview. Unfortunately, the vtk libs have their symbols distributed differently (for some odd reason) leading to symbols not being found. That said, removing vtk from your system should fix this even though this is admittedly not the best of all solutions ;) I have to look into forcing paraview to link against the correct libs but this may be fairly tricky. Can you give this a try? Thanks, Markus
Hello Markus, thank you for that hint! I can confirm that on the amd64 machine, some paraview shared libraries are linking against the vtk shared libraries in /usr/lib64/, whereas on the x86 machine all paraview shared libraries seems to link correctly against the paraview vtk shared libraries in /usr/lib/paraview-3.2. If I uninstall vtk, then I can import the python module. This is not a very pretty workaround but it is one. Thanks for your work! Oliver
Hi Oliver, Thanks much for giving this a shot. One solution could be to install the vtk libs into their own vtk sub-directory in /usr/lib. I'll have to think about the best solution out of this mess. I just wish it would be possible to compile paraview against vtk in the first place. cheers, Markus
If I set the LD_LIBRARY_PATH to: export LD_LIBRARY_PATH=/usr/lib64/paraview-3.3:$LD_LIBRARY_PATH before I start the paraview servermanager in python, I can have installed vtk and paraview at the same time on the same machine and paraview seems to be run fine.
This problem is resolved for me without any workaround and at least with paraview-3.4.0/3.6.1 and vtk-5.4.2. So I will close this bug, as paraview-3.2.1 is also no longer in the tree.