Broken RPATH/RUNPATH in kdepim/console/kabc2mutt

Maciej Mrozowski reavertm at wp.pl
Fri Apr 10 00:30:57 CEST 2009


Hi

I've just noticed little problem with one executable from kdepim.
kabcclient is intentionally installed in two copies with different names 
(logic is determined by argv[0]), using install ( RENAME )

Looks like cmake install ( RENAME ) command breaks RPATH/RUNPATH for 
executables (as shown in attached build log).
Gentoo scripts appends broken RPATH in such cases, so executable works well, 
still it's a bug and at least worth mentioning.

Just quick proof (source executable) :
chroot / # scanelf -r /usr/kde/live/bin/kabcclient
 TYPE   RPATH FILE
ET_EXEC /usr/kde/live/lib64:/usr/kde/live/lib64:/usr/lib64/qt4 
/usr/kde/live/bin/kabcclient

target executable, after install ( RENAME ) :
chroot / # scanelf -r /usr/kde/live/bin/kabc2mutt
 TYPE   RPATH FILE
ET_EXEC /usr/kde/live/lib64:/usr/lib64/qt4: /usr/kde/live/bin/kabc2mutt

Regarding kdepim, why not just install kabc2mutt as symlink to kabcclient?

cheers
MM
-------------- next part --------------
>>> Install kabcclient-9999 into /var/tmp/portage/kde-base/kabcclient-9999/image/ category kde-base
>>> Working in BUILD_DIR: "/var/tmp/portage/kde-base/kabcclient-9999/work/kabcclient_build"
make -j3 install DESTDIR=/var/tmp/portage/kde-base/kabcclient-9999/image/
[  0%] Built target kabcclient_automoc
[ 42%] Built target converter
[100%] Built target kabcclient
Install the project...
-- Install configuration: "Gentoo"
-- Installing: /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabcclient
-- Set runtime path of "/var/tmp/portage/kde-base/kabcclient-9999/image//usr/kde/live/bin/kabcclient" to "/usr/kde/live/lib64:/usr/kde/live/lib64:/usr/lib64/qt4"
-- Installing: /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
>>> Completed installing kabcclient-9999 into /var/tmp/portage/kde-base/kabcclient-9999/image/

strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment
   usr/kde/live/bin/kabc2mutt
   usr/kde/live/bin/kabcclient
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt

 * QA Notice: The following files contain insecure RUNPATH's
 *  Please file a bug about this at http://bugs.gentoo.org/
 *  with the maintaining herd of the package.
 * /usr/kde/live/lib64:/usr/lib64/qt4:::::::::::::::::::: usr/kde/live/bin/kabc2mutt

Auto fixing rpaths for /usr/kde/live/lib64:/usr/lib64/qt4:::::::::::::::::::: usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt
scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH in /var/tmp/portage/kde-base/kabcclient-9999/image/usr/kde/live/bin/kabc2mutt

>>> Installing kde-base/kabcclient-9999
 * checking 4 files for package collisions
--- /usr/
--- /usr/kde/
--- /usr/kde/live/
--- /usr/kde/live/bin/
>>> /usr/kde/live/bin/kabcclient
>>> /usr/kde/live/bin/kabc2mutt
--- /usr/share/
--- /usr/share/doc/
--- /usr/share/doc/KDE4/
--- /usr/share/doc/KDE4/kabcclient-9999/
>>> /usr/share/doc/KDE4/kabcclient-9999/README.bz2
>>> /usr/share/doc/KDE4/kabcclient-9999/README.Kolab.bz2
>>> Safely unmerging already-installed instance...
No package files given... Grabbing a set.
--- replaced obj /usr/share/doc/KDE4/kabcclient-9999/README.bz2
--- replaced obj /usr/share/doc/KDE4/kabcclient-9999/README.Kolab.bz2
--- replaced dir /usr/share/doc/KDE4/kabcclient-9999
--- replaced dir /usr/share/doc/KDE4
--- replaced dir /usr/share/doc
--- replaced dir /usr/share
--- replaced obj /usr/kde/live/bin/kabcclient
--- replaced obj /usr/kde/live/bin/kabc2mutt
--- replaced dir /usr/kde/live/bin
--- replaced dir /usr/kde/live
--- replaced dir /usr/kde
--- replaced dir /usr
 * Running kbuildsycoca4 to build global database ...                                                                                                                                           [ ok ]
>>> Original instance of package unmerged safely.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20090410/7af98599/attachment.sig 


More information about the Kde-buildsystem mailing list