[kde-solaris] arts fails to build on OpenSolaris
Stefan Teleman
steleman at nyc.rr.com
Sun Mar 5 17:42:07 CET 2006
On Sunday 05 March 2006 08:14, you wrote:
> It fixed the problem described above, however it now fails in the
> following stage:
>
> Making all in soundserver
> gmake[2]: Entering directory
> `/opt/pkg.obj/audio/arts/work.e450-lan/arts-1.5.1/s oundserver'
> Undefined first referenced
> symbol in file
> Arts::EnumDef Arts::Object_skel::_queryEnum(const std::string &)
> .libs/kmedia2.o (symbol belongs to implicit dependency
> /opt/pkg.obj/audio/arts/work.e450-lan/a
> rts-1.5.1/mcop/.libs/libmcop.so.1)
>
> Maybe libmcop.so.1 is not included during link stages in the
> Makefile? Any idea how to fix this?
You are right, libmcop.so.1 was not included at link stage. The easy
way to fix this is to add $(top_builddir)/mcop/libmcop.la to the
soundserver_LDADD directive in the Makefile (since KDE uses the
autotools to compile and link, you have to give libtool the *.la
wrapper for linking). Do not include a relative path
(like ../mcop/libmcop.la), because the linker might write the
dependency as a relative path as well (like ../../libmcop.so.1),
which will result in "file not found" errors at run time when it
resolves the library dependencies.
The harder way to fix this is to fix it is in Makefile.am, but that
will regenerate the Makefiles, and you would have to deal with
autoconf macros, which are a major pain. :-)
The bad news: this happens quite often when building KDE (3.4.x or
3.5.x).
The good news: for KDE4, the build system will change, most likely it
will be cmake which is much friendlier.
--Stefan
--
Stefan Teleman 'Nobody Expects the Spanish Inquisition'
steleman at nyc.rr.com -Monty Python
More information about the kde-solaris
mailing list