New dependency for kdelibs and kdebase: dbusmenu-qt

Alexander Neundorf neundorf at kde.org
Mon May 3 20:54:11 BST 2010


On Monday 03 May 2010, Aurélien Gâteau wrote:
> On 01/05/2010 14:42, Alexander Neundorf wrote:
> > I just installed it:
> >
> > hammer:~/src/packages/libdbusmenu-qt-0.3.2/build$ make install
> > [ 76%] Built target dbusmenu-qt
> > [ 88%] Built target dbusmenuexportertest
> > [100%] Built target dbusmenuimportertest
> > Install the project...
> > -- Install configuration: ""
> > -- Installing: /opt/dbusmenuqt/lib/pkgconfig/dbusmenu-qt.pc
> > -- Installing: /opt/dbusmenuqt/lib/libdbusmenu-qt.so.2.0.2
> > -- Installing: /opt/dbusmenuqt/lib/libdbusmenu-qt.so.2
> > -- Installing: /opt/dbusmenuqt/lib/libdbusmenu-qt.so
> > -- Removed runtime path from
> > "/opt/dbusmenuqt/lib/libdbusmenu-qt.so.2.0.2" -- Installing:
> > /opt/dbusmenuqt/include/dbusmenu-qt/.
> > -- Installing: /opt/dbusmenuqt/include/dbusmenu-qt/./dbusmenu_export.h
> > -- Installing: /opt/dbusmenuqt/include/dbusmenu-qt/./dbusmenuexporter.h
> > -- Installing: /opt/dbusmenuqt/include/dbusmenu-qt/./dbusmenuimporter.h
> > hammer:~/src/packages/libdbusmenu-qt-0.3.2/build$
> >
> >
> > Is is intentional that libdbusmenu-qt.so.2.0.2 is installed with empty
> > RPATH ?
>
> Probably not. What do you suggest to fix this?

It really depends on what you as the maintainer of this package want.

No RPATH means that e.g. Qt has to be found either via the env. var 
LD_LIBRARY_PATH, or it is installed in a location which is searched anyway by 
the linker (loader), so e.g. /usr/lib or a directory configured 
in /etc/ld.so.conf.

Which libraries does libdbusmen-qt link against ?

If it's only Qt, you can either set the install RPATH (i.e. the RPATH of the 
installed library) to the directory where Qt is installed
or you can let cmake automatically add all RPATHs which are used also during 
building for the build RPATH (i.e. the RPATH of the library in the build 
tree).

By default cmake makes the install RPATH empty (that's what you see).

If you want to specifiy the install RPATH explicitely, you do

set_target_properties(<your_target> PROPERTIES INSTALL_RPATH 
<list_of_directories>)

Or, if you want to let cmake handle this, do:
set_target_properties(<your_target> PROPERTIES 
                      INSTALL_RPATH_USE_LINK_PATH TRUE)


HTH
Alex




More information about the kde-core-devel mailing list