[Scribus] Problem loading plugins: Undefined symbol

Martin Tournoij carpetsmoker
Thu Aug 23 06:54:52 CEST 2007


Scribus builds and runs without problems, but plugins don't load, a similair
problem has been posted to this mail list:
http://www.nabble.com/scribus133x-t3979646.html
Which seems to be caused by something else though (Which I why I'm starting a
new thread instead of replying)

The problem does not occur with scribus 1.3.3.4 (I'm trying to build 1.3.3.9),
I didn't test all the versions inbetween those, scribus takes several hours to
build (My system isn't very fast)
I only have one version installed, no leftovers from previous version, changing
prefix to /var/test doesn't help either.
The problem occurs with both the GNU autoconf and CMake build systems.

Below is a heapload of various information, better to much than to little...

Thank you,
Martin Tournoij

[~]# scribus
Cannot find plugin: /usr/pkg/lib/scribus/plugins//libsvgimplugin.so: Undefined symbol "_ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap"
Cannot find plugin: /usr/pkg/lib/scribus/plugins//libsvgexplugin.so: Undefined symbol "_ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap"
Cannot find plugin: /usr/pkg/lib/scribus/plugins//libscriptplugin.so: Undefined symbol "_ZTI10PrefsPanel"
Cannot find plugin: /usr/pkg/lib/scribus/plugins//libscribusshortwords.so: Undefined symbol "_ZN14ScActionPlugin3runEP9QIODevice"
Cannot find plugin: /usr/pkg/lib/scribus/plugins//libscribusexportpixmap.so: Undefined symbol "_ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap"
Cannot find plugin: /usr/pkg/lib/scribus/plugins//libsaveastemplateplugin.so: Undefined symbol "_ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap"
Cannot find plugin: /usr/pkg/lib/scribus/plugins//liboodrawimp.so: Undefined symbol "_ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap"
Cannot find plugin: /usr/pkg/lib/scribus/plugins//liboldscribusformat.so: Undefined symbol "_ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap"
Cannot find plugin: /usr/pkg/lib/scribus/plugins//libnewfromtemplateplugin.so: Undefined symbol "_ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap"
Cannot find plugin: /usr/pkg/lib/scribus/plugins//libimportps.so: Undefined symbol "_ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap"
Cannot find plugin: /usr/pkg/lib/scribus/plugins//libfontpreview.so: Undefined symbol "_ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap"
Cannot find plugin: /usr/pkg/lib/scribus/plugins//libcolorwheel.so: Undefined symbol "_ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap"
Cannot find plugin: /usr/pkg/lib/scribus/plugins//libbarcodegenerator.so: Undefined symbol "_ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap"

uname -a:
FreeBSD phong.rwxrwxrwx.net 6.2-STABLE FreeBSD 6.2-STABLE #0: Sat Jul 14 00:40:17 UTC 2007     carpetsmoker at phong.rwxrwxrwx.net:/usr/obj/usr/src/sys/PHONG  i386

CMake invoked as:
cd ${WRKSRC} &&\
	cmake . \
	-DCMAKE_INSTALL_PREFIX:PATH="/usr/pkg" \
	-DCPATH="/usr/pkg/include" \
	-DLIBRARY_PATH="/usr/pkg/lib" \
	-DCMAKE_CXX_FLAGS="-O2 -fno-strict-aliasing -pipe" \
	-DFREETYPE_INCLUDE_DIR_FTHEADER="/usr/pkg/include/freetype2" \
	-DCMAKE_VERBOSE_MAKEFILE="ON" \
	-DPLUGINDIR="/usr/pkg/lib/scribus/plugins" 

Additional modification were needed to get scribus to compile, ${WRKSRC}
refers to scribus source directory:
FreeBSD mandir is different from GNU/Linux mandir, CMake doesn't seem to have an option for this:
sed 's|share/man|man|' ${WRKSRC}/CMakeLists.txt

If CMAKE_CXX_COMPILER is a non-absolute pathname (ie. c++ instead of
/usr/bin/c++) then the build system will try and execute the compiler relative
to ${WRKSRC} (ie. /usr/home/carpetsmoker/scribus/c++)
The same applies to rpath, this also seems to be relative to ${WRKSRC} by
default.
Is this a CMake or scribus bug? Or am I doing something horribly wrong?
Note that this sed script is run AFTER the cmake configure script.
/usr/home/carpetsmoker/scribus/g++) sed -e 's|-lz|-lz -pthread|; \
	s|${WRKSRC}/${CXX}|'`${WHICH} ${CXX}`'|; \
	s|-rpath,${WRKSRC}/lib/scribus/plugins|-rpath,/usr/pkg/lib/scribus/plugins|;' \
		`find ${WRKSRC} -name build.make -or -name link.txt`

[~]# ls -l /usr/pkg/lib/scribus/plugins/
total 2186
drwxr-xr-x  2 root  wheel     512 Aug 23 06:05 gettext/
-rwxr-xr-x  1 root  wheel  156042 Aug 23 06:05 libbarcodegenerator.so*
-rwxr-xr-x  1 root  wheel  168033 Aug 23 06:05 libcolorwheel.so*
-rwxr-xr-x  1 root  wheel   90962 Aug 23 06:05 libfontpreview.so*
-rwxr-xr-x  1 root  wheel  138474 Aug 23 06:05 libimportps.so*
-rwxr-xr-x  1 root  wheel  129572 Aug 23 06:05 libnewfromtemplateplugin.so*
-rwxr-xr-x  1 root  wheel   33260 Aug 23 06:05 liboldscribusformat.so*
-rwxr-xr-x  1 root  wheel  195393 Aug 23 06:05 liboodrawimp.so*
-rwxr-xr-x  1 root  wheel  104440 Aug 23 06:05 libsaveastemplateplugin.so*
-rwxr-xr-x  1 root  wheel   86694 Aug 23 06:05 libscribusexportpixmap.so*
-rwxr-xr-x  1 root  wheel  114941 Aug 23 06:05 libscribusshortwords.so*
-rwxr-xr-x  1 root  wheel  552409 Aug 23 06:05 libscriptplugin.so*
-rwxr-xr-x  1 root  wheel  151558 Aug 23 06:05 libsvgexplugin.so*
-rwxr-xr-x  1 root  wheel  247770 Aug 23 06:05 libsvgimplugin.so*

[~]# ldd /usr/pkg/lib/scribus/plugins/libbarcodegenerator.so
/usr/pkg/lib/scribus/plugins/libbarcodegenerator.so:
        libart_lgpl_2.so.5 => /usr/X11R6/lib/libart_lgpl_2.so.5 (0x28190000)
        libqt-mt.so.3 => /usr/X11R6/lib/libqt-mt.so.3 (0x281a4000)
        libcups.so.2 => /usr/X11R6/lib/libcups.so.2 (0x2882c000)
        libfreetype.so.9 => /usr/X11R6/lib/libfreetype.so.9 (0x28858000)
        libfontconfig.so.1 => /usr/X11R6/lib/libfontconfig.so.1 (0x288bc000)
        liblcms.so.1 => /usr/X11R6/lib/liblcms.so.1 (0x288e4000)
        libxml2.so.5 => /usr/X11R6/lib/libxml2.so.5 (0x28912000)
        libpython2.5.so => /usr/X11R6/lib/libpython2.5.so (0x28a1f000)
        libtiff.so.4 => /usr/X11R6/lib/libtiff.so.4 (0x28b29000)
        libjpeg.so.9 => /usr/X11R6/lib/libjpeg.so.9 (0x28b77000)
        libz.so.3 => /lib/libz.so.3 (0x28b95000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x28ba6000)
        libm.so.4 => /lib/libm.so.4 (0x28c71000)
        libmng.so.1 => /usr/pkg/lib/libmng.so.1 (0x28c87000)
        libpng.so.5 => /usr/pkg/lib/libpng.so.5 (0x28cd5000)
        libXi.so.6 => /usr/pkg/lib/libXi.so.6 (0x28cf7000)
        libXrender.so.1 => /usr/pkg/lib/libXrender.so.1 (0x28cff000)
        libXrandr.so.2 => /usr/pkg/lib/libXrandr.so.2 (0x28d07000)
        libXcursor.so.1 => /usr/pkg/lib/libXcursor.so.1 (0x28d0d000)
        libXinerama.so.1 => /usr/pkg/lib/libXinerama.so.1 (0x28d16000)
        libXft.so.2 => /usr/pkg/lib/libXft.so.2 (0x28d19000)
        libXext.so.6 => /usr/pkg/lib/libXext.so.6 (0x28d29000)
        libX11.so.6 => /usr/pkg/lib/libX11.so.6 (0x28d36000)
        libSM.so.6 => /usr/pkg/lib/libSM.so.6 (0x28e1b000)
        libICE.so.6 => /usr/pkg/lib/libICE.so.6 (0x28e22000)
        libgnutls.so.13 => /usr/pkg/lib/libgnutls.so.13 (0x28e38000)
        libgcrypt.so.13 => /usr/pkg/lib/libgcrypt.so.13 (0x28ea7000)
        libgpg-error.so.0 => /usr/pkg/lib/libgpg-error.so.0 (0x28ef2000)
        libcrypt.so.3 => /lib/libcrypt.so.3 (0x28ef6000)
        libexpat.so.6 => /usr/pkg/lib/libexpat.so.6 (0x28f0e000)
        libiconv.so.3 => /usr/pkg/lib/libiconv.so.3 (0x28f2c000)
        libutil.so.5 => /lib/libutil.so.5 (0x2901b000)
        libXfixes.so.3 => /usr/pkg/lib/libXfixes.so.3 (0x29027000)
        libXau.so.6 => /usr/pkg/lib/libXau.so.6 (0x2902c000)
        libXdmcp.so.6 => /usr/pkg/lib/libXdmcp.so.6 (0x2902f000)
        librpcsvc.so.3 => /usr/lib/librpcsvc.so.3 (0x29034000)

[~]# nm /usr/local/bin/scribus | grep newPrefsPanelWidget
(standard input):084d86a8 T _ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap

[~]# nm /usr/local/lib/scribus/plugins/libbarcodegenerator.so  | grep newPrefsPanelWidget
(standard input):         U _ZN8ScPlugin19newPrefsPanelWidgetEP7QWidgetRP10PrefsPanelR7QStringR7QPixmap



More information about the scribus mailing list