[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