[yocto] Understanding "dev package contains non-symlink"
Andre McCurdy
armccurdy at gmail.com
Fri Jul 6 13:52:44 PDT 2018
On Fri, Jul 6, 2018 at 1:28 PM, Giordon Stark <kratsg at gmail.com> wrote:
> Hi,
>
> Been struggling to understand the differences here. This is what the
> directory looks like
>
> kratsg at dc:/local/d4/gstark/poky/build$ ls
> tmp/work/aarch64-poky-linux/xrootd/4.8.3-r0/packages-split/xrootd/usr/lib/
> total 4.3M
> drwxr-xr-x 2 kratsg atlas 4.0K Jun 28 16:13 .
> drwxr-xr-x 5 kratsg atlas 4.0K Jun 28 16:13 ..
> lrwxrwxrwx 1 kratsg atlas 19 Jun 28 16:13 libXrdAppUtils.so ->
> libXrdAppUtils.so.1
> lrwxrwxrwx 1 kratsg atlas 23 Jun 28 16:13 libXrdAppUtils.so.1 ->
> libXrdAppUtils.so.1.0.0
> -rwxr-xr-x 2 kratsg atlas 44K Jun 28 16:13 libXrdAppUtils.so.1.0.0
> -rwxr-xr-x 2 kratsg atlas 15K Jun 28 16:13 libXrdBlacklistDecision-4.so
> -rwxr-xr-x 2 kratsg atlas 59K Jun 28 16:13 libXrdBwm-4.so
> -rwxr-xr-x 2 kratsg atlas 11K Jun 28 16:13 libXrdCksCalczcrc32-4.so
> lrwxrwxrwx 1 kratsg atlas 13 Jun 28 16:13 libXrdCl.so -> libXrdCl.so.2
> -rwxr-xr-x 2 kratsg atlas 27K Jun 28 16:13 libXrdClProxyPlugin-4.so
> lrwxrwxrwx 1 kratsg atlas 17 Jun 28 16:13 libXrdClient.so ->
> libXrdClient.so.2
> lrwxrwxrwx 1 kratsg atlas 21 Jun 28 16:13 libXrdClient.so.2 ->
> libXrdClient.so.2.0.0
> -rwxr-xr-x 2 kratsg atlas 554K Jun 28 16:13 libXrdClient.so.2.0.0
> lrwxrwxrwx 1 kratsg atlas 17 Jun 28 16:13 libXrdCl.so.2 ->
> libXrdCl.so.2.0.0
> -rwxr-xr-x 2 kratsg atlas 937K Jun 28 16:13 libXrdCl.so.2.0.0
> lrwxrwxrwx 1 kratsg atlas 17 Jun 28 16:13 libXrdCrypto.so ->
> libXrdCrypto.so.1
> lrwxrwxrwx 1 kratsg atlas 21 Jun 28 16:13 libXrdCryptoLite.so ->
> libXrdCryptoLite.so.1
> lrwxrwxrwx 1 kratsg atlas 25 Jun 28 16:13 libXrdCryptoLite.so.1 ->
> libXrdCryptoLite.so.1.0.0
> -rwxr-xr-x 2 kratsg atlas 5.9K Jun 28 16:13 libXrdCryptoLite.so.1.0.0
> lrwxrwxrwx 1 kratsg atlas 21 Jun 28 16:13 libXrdCrypto.so.1 ->
> libXrdCrypto.so.1.0.0
> -rwxr-xr-x 2 kratsg atlas 95K Jun 28 16:13 libXrdCrypto.so.1.0.0
> lrwxrwxrwx 1 kratsg atlas 14 Jun 28 16:13 libXrdFfs.so -> libXrdFfs.so.2
> lrwxrwxrwx 1 kratsg atlas 18 Jun 28 16:13 libXrdFfs.so.2 ->
> libXrdFfs.so.2.0.0
> -rwxr-xr-x 2 kratsg atlas 47K Jun 28 16:13 libXrdFfs.so.2.0.0
> -rwxr-xr-x 2 kratsg atlas 156K Jun 28 16:13 libXrdFileCache-4.so
> -rwxr-xr-x 2 kratsg atlas 15K Jun 28 16:13 libXrdN2No2p-4.so
> -rwxr-xr-x 2 kratsg atlas 11K Jun 28 16:13 libXrdOssSIgpfsT-4.so
> lrwxrwxrwx 1 kratsg atlas 16 Jun 28 16:13 libXrdPosix.so ->
> libXrdPosix.so.2
> lrwxrwxrwx 1 kratsg atlas 23 Jun 28 16:13 libXrdPosixPreload.so ->
> libXrdPosixPreload.so.1
> lrwxrwxrwx 1 kratsg atlas 27 Jun 28 16:13 libXrdPosixPreload.so.1 ->
> libXrdPosixPreload.so.1.0.0
> -rwxr-xr-x 2 kratsg atlas 67K Jun 28 16:13 libXrdPosixPreload.so.1.0.0
> lrwxrwxrwx 1 kratsg atlas 20 Jun 28 16:13 libXrdPosix.so.2 ->
> libXrdPosix.so.2.0.0
> -rwxr-xr-x 2 kratsg atlas 128K Jun 28 16:13 libXrdPosix.so.2.0.0
> -rwxr-xr-x 2 kratsg atlas 56K Jun 28 16:13 libXrdPss-4.so
> -rwxr-xr-x 2 kratsg atlas 19K Jun 28 16:13 libXrdSecProt-4.so
> -rwxr-xr-x 2 kratsg atlas 112K Jun 28 16:13 libXrdSecpwd-4.so
> -rwxr-xr-x 2 kratsg atlas 35K Jun 28 16:13 libXrdSecsss-4.so
> -rwxr-xr-x 2 kratsg atlas 15K Jun 28 16:13 libXrdSecunix-4.so
> -rwxr-xr-x 2 kratsg atlas 52K Jun 28 16:13 libXrdSec-4.so
> lrwxrwxrwx 1 kratsg atlas 17 Jun 28 16:13 libXrdServer.so ->
> libXrdServer.so.2
> lrwxrwxrwx 1 kratsg atlas 21 Jun 28 16:13 libXrdServer.so.2 ->
> libXrdServer.so.2.0.0
> -rwxr-xr-x 2 kratsg atlas 764K Jun 28 16:13 libXrdServer.so.2.0.0
> lrwxrwxrwx 1 kratsg atlas 17 Jun 28 16:13 libXrdSsiLib.so ->
> libXrdSsiLib.so.1
> lrwxrwxrwx 1 kratsg atlas 21 Jun 28 16:13 libXrdSsiLib.so.1 ->
> libXrdSsiLib.so.1.0.0
> -rwxr-xr-x 2 kratsg atlas 108K Jun 28 16:13 libXrdSsiLib.so.1.0.0
> -rwxr-xr-x 2 kratsg atlas 15K Jun 28 16:13 libXrdSsiLog-4.so
> lrwxrwxrwx 1 kratsg atlas 19 Jun 28 16:13 libXrdSsiShMap.so ->
> libXrdSsiShMap.so.1
> lrwxrwxrwx 1 kratsg atlas 23 Jun 28 16:13 libXrdSsiShMap.so.1 ->
> libXrdSsiShMap.so.1.0.0
> -rwxr-xr-x 2 kratsg atlas 31K Jun 28 16:13 libXrdSsiShMap.so.1.0.0
> -rwxr-xr-x 2 kratsg atlas 100K Jun 28 16:13 libXrdSsi-4.so
> -rwxr-xr-x 2 kratsg atlas 47K Jun 28 16:13 libXrdThrottle-4.so
> lrwxrwxrwx 1 kratsg atlas 16 Jun 28 16:13 libXrdUtils.so ->
> libXrdUtils.so.2
> lrwxrwxrwx 1 kratsg atlas 20 Jun 28 16:13 libXrdUtils.so.2 ->
> libXrdUtils.so.2.0.0
> -rwxr-xr-x 2 kratsg atlas 589K Jun 28 16:13 libXrdUtils.so.2.0.0
> lrwxrwxrwx 1 kratsg atlas 14 Jun 28 16:13 libXrdXml.so -> libXrdXml.so.2
> lrwxrwxrwx 1 kratsg atlas 18 Jun 28 16:13 libXrdXml.so.2 ->
> libXrdXml.so.2.0.0
> -rwxr-xr-x 2 kratsg atlas 88K Jun 28 16:13 libXrdXml.so.2.0.0
> -rwxr-xr-x 2 kratsg atlas 11K Jun 28 16:13 libXrdXrootd-4.so
>
>
> According to the docs, there is a CMAKE_INSTALL_PREFIX I can configure:
>
> * CMAKE_INSTALL_PREFIX - indicates where the XRootD files should be
> installed,
> (default: /usr)
>
> and this might let me set the install prefix to something custom, move those
> files into the package, and the plug-ins elsewhere.. But I'm not sure if
> this is the right way to go... e.g.
>
> EXTRA_OEMAKE = "-DCMAKE_INSTALL_PREFIX=/opt/xrootd" or something.
That's probably just going to install everything in a different
location. What you ideally want is to install the shared libraries
(e.g. libXrdAppUtils.so*, etc) where they are now in /usr/lib and the
plug-ins (e.g. lib*-4.so) somewhere else. That will potentially
require patching the cmake files etc and probably the sources as well
(to change the directory from which plug-ins are loaded).
You could perhaps get away with moving the plug-ins from a
do_install_append() (ie let cmake install proceed as it does now and
then move them afterwards) but then you'd still need to potentially
patch the sources so that the plug-ins are found in their new
location.
If you're not interested in that amount of work (and submitting the
fixes upstream, etc) then, as already suggested, you can alternatively
just force all .so files into the main run-time package and ignore the
"dev-so" QA test. That would be an acceptable workaround.
More information about the yocto
mailing list