[yocto] Recursions problem with pre-built versioned libraries and oe_soinstall
ChenQi
Qi.Chen at windriver.com
Fri Jun 28 02:47:25 PDT 2019
Hi John,
When you have problems regarding yocto, please send email to this
mailing list.
Regards,
Chen Qi
On 06/28/2019 12:53 AM, John McCabe wrote:
> Hi,
>
> (Sorry for the long post, but....)
>
> I'm new to Yocto etc and I'm struggling with configuring a recipe to
> install some library files that I've built. The libraries in question
> are part of OpenDDS, which I've cross-compiled for a Zynq-7000 target.
> At this point I don't want to include the build of the libraries in
> the Yocto (actually PetaLinux) configuration as it takes hours to
> build, so I just want to add the shared libraries that are needed into
> the image. However I haven't managed to get this to work in hours, if
> not days, of trying. Despite multiple attempts at an opendds.bb file,
> I continue to get issues with:
>
> ===
> Exception: OSError: [Errno 40] too much recursions while resolving
> '<project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds/usr/lib/libTAO_PI_Server.so.2.2a_p15';
> loop in
> '<project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds/usr/lib/libTAO_PI_Server.so.2.2a_p15'
> ===
>
> Essentially there are a set of binaries and a set of shared libraries
> that I want to go into the image. If you look at the current version
> of the opendds.bb file I'm using, below, you should see a list of the
> files in question.
>
> ===
> #
> # This file is the OpenDDS libraries recipe.
> #
>
> SUMMARY = "OpenDDS Libraries"
> SECTION = "PETALINUX/apps"
> LICENSE = "MIT"
> LIC_FILES_CHKSUM =
> "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
>
> SRC_URI = "file://DCPSInfoRepo \
> file://tao_cosnaming \
> file://tao_imr \
> file://tao_imr_activator \
> file://tao_imr_locator \
> file://tao_nsadd \
> file://tao_nsdel \
> file://tao_nslist \
> file://libACE.so.6.2a_p15 \
> file://libACEXML.so.6.2a_p15 \
> file://libACEXML_Parser.so.6.2a_p15 \
> file://libOpenDDS_Dcps.so.3.13.2 \
> file://libOpenDDS_FACE.so.3.13.2 \
> file://libOpenDDS_Federator.so.3.13.2 \
> file://libOpenDDS_InfoRepoDiscovery.so.3.13.2 \
> file://libOpenDDS_InfoRepoLib.so.3.13.2 \
> file://libOpenDDS_InfoRepoServ.so.3.13.2 \
> file://libOpenDDS_Model.so.3.13.2 \
> file://libOpenDDS_Multicast.so.3.13.2 \
> file://libOpenDDS_Rtps.so.3.13.2 \
> file://libOpenDDS_Rtps_Udp.so.3.13.2 \
> file://libOpenDDS_Shmem.so.3.13.2 \
> file://libOpenDDS_Tcp.so.3.13.2 \
> file://libOpenDDS_Udp.so.3.13.2 \
> file://libOpenDDS_monitor.so.3.13.2 \
> file://libTAO.so.2.2a_p15 \
> file://libTAO_AnyTypeCode.so.2.2a_p15 \
> file://libTAO_Async_IORTable.so.2.2a_p15 \
> file://libTAO_Async_ImR_Client_IDL.so.2.2a_p15 \
> file://libTAO_BiDirGIOP.so.2.2a_p15 \
> file://libTAO_CSD_Framework.so.2.2a_p15 \
> file://libTAO_CSD_ThreadPool.so.2.2a_p15 \
> file://libTAO_CodecFactory.so.2.2a_p15 \
> file://libTAO_Codeset.so.2.2a_p15 \
> file://libTAO_CosNaming.so.2.2a_p15 \
> file://libTAO_CosNaming_Serv.so.2.2a_p15 \
> file://libTAO_CosNaming_Skel.so.2.2a_p15 \
> file://libTAO_DynamicInterface.so.2.2a_p15 \
> file://libTAO_FTORB_Utils.so.2.2a_p15 \
> file://libTAO_FT_ClientORB.so.2.2a_p15 \
> file://libTAO_FT_ServerORB.so.2.2a_p15 \
> file://libTAO_IDL_FE.so.2.2a_p15 \
> file://libTAO_IORManip.so.2.2a_p15 \
> file://libTAO_IORTable.so.2.2a_p15 \
> file://libTAO_ImR_Activator.so.2.2a_p15 \
> file://libTAO_ImR_Activator_IDL.so.2.2a_p15 \
> file://libTAO_ImR_Client.so.2.2a_p15 \
> file://libTAO_ImR_Locator.so.2.2a_p15 \
> file://libTAO_ImR_Locator_IDL.so.2.2a_p15 \
> file://libTAO_Messaging.so.2.2a_p15 \
> file://libTAO_PI.so.2.2a_p15 \
> file://libTAO_PI_Server.so.2.2a_p15 \
> file://libTAO_PortableGroup.so.2.2a_p15 \
> file://libTAO_PortableServer.so.2.2a_p15 \
> file://libTAO_Strategies.so.2.2a_p15 \
> file://libTAO_Svc_Utils.so.2.2a_p15 \
> file://libTAO_Valuetype.so.2.2a_p15 \
> "
>
> S = "${WORKDIR}"
>
> do_install() {
> install -d ${D}${bindir}
> install -d ${D}${libdir}
> install -m 0755 DCPSInfoRepo ${D}${bindir}
> install -m 0755 tao_cosnaming ${D}${bindir}
> install -m 0755 tao_imr ${D}${bindir}
> install -m 0755 tao_imr_activator ${D}${bindir}
> install -m 0755 tao_imr_locator ${D}${bindir}
> install -m 0755 tao_nsadd ${D}${bindir}
> install -m 0755 tao_nsdel ${D}${bindir}
> install -m 0755 tao_nslist ${D}${bindir}
> oe_soinstall libACE.so.6.2a_p15 ${D}${libdir}
> oe_soinstall libACEXML.so.6.2a_p15 ${D}${libdir}
> oe_soinstall libACEXML_Parser.so.6.2a_p15 ${D}${libdir}
> oe_soinstall libOpenDDS_Dcps.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_FACE.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_Federator.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_InfoRepoDiscovery.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_InfoRepoLib.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_InfoRepoServ.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_Model.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_Multicast.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_Rtps.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_Rtps_Udp.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_Shmem.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_Tcp.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_Udp.so.3.13.2 ${D}${libdir}
> oe_soinstall libOpenDDS_monitor.so.3.13.2 ${D}${libdir}
> oe_soinstall libTAO.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_AnyTypeCode.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_Async_IORTable.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_Async_ImR_Client_IDL.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_BiDirGIOP.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_CSD_Framework.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_CSD_ThreadPool.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_CodecFactory.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_Codeset.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_CosNaming.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_CosNaming_Serv.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_CosNaming_Skel.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_DynamicInterface.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_FTORB_Utils.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_FT_ClientORB.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_FT_ServerORB.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_IDL_FE.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_IORManip.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_IORTable.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_ImR_Activator.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_ImR_Activator_IDL.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_ImR_Client.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_ImR_Locator.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_ImR_Locator_IDL.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_Messaging.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_PI.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_PI_Server.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_PortableGroup.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_PortableServer.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_Strategies.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_Svc_Utils.so.2.2a_p15 ${D}${libdir}
> oe_soinstall libTAO_Valuetype.so.2.2a_p15 ${D}${libdir}
> }
>
> # Don't bother trying to build the debug package, at least for now!
> INHIBIT_PACKAGE_STRIP = "1"
> INHIBIT_SYSROOT_STRIP = "1"
> INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
>
> # Inhibit warnings about files being stripped
> INSANE_SKIP_${PN} = "ldflags"
> INSANE_SKIP_${PN} = "already-stripped"
>
> # No .h files to be packaged, so only list .so stuff
> FILES_${PN} = "${bindir}/* ${libdir}/*.so.*"
> FILES_${PN}-dev = "${bindir}/* ${libdir}/*.so"
> ===
>
> The files were all built in another folder but I've copied them into
> the project-spec/meta-user/recipes-apps/opendds/files folder so that
> they can be picked up ok. I uses the normal install to do the
> binaries, and oe_soinstall to work with the versioned shared
> libraries, as described in various places.
>
> I added a print statement into package.bbclass at line 1233 (see
> below) to try to get a bit more information into the log file about
> the point where it's breaking). The log then shows this below (I
> presume that the stderr output being in the middle of that lot is just
> some sequencing effect):
>
> ===
> DEBUG: Executing python function package_fixsymlinks
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_Svc_Utils.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_FT_ClientORB.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_CSD_Framework.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_Rtps_Udp.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_Rtps.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_Async_ImR_Client_IDL.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_DynamicInterface.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_AnyTypeCode.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_Tcp.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_ImR_Activator_IDL.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_InfoRepoDiscovery.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_InfoRepoLib.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libACEXML.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_Valuetype.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_BiDirGIOP.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_Messaging.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_IORManip.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_CosNaming_Serv.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_PortableServer.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_ImR_Activator.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_Async_IORTable.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_IDL_FE.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libACEXML_Parser.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_monitor.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_Multicast.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_PI_Server.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_Strategies.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_Federator.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_Shmem.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_Model.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_PI.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_CodecFactory.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_FT_ServerORB.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_ImR_Locator.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libACE.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_CosNaming.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_Dcps.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_IORTable.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_CosNaming_Skel.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_ImR_Locator_IDL.so,
> pkg: opendds-devERROR: Error executing a python function in
> exec_python_func() autogenerated:
>
> The stack trace of python calls that resulted in this
> exception/failure was:
> File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
> 0001:
> *** 0002:package_fixsymlinks(d)
> 0003:
> File:
> '/opt/pkg/petalinux/components/yocto/source/arm/layers/core/meta/classes/package.bbclass',
> lineno: 1236, function: package_fixsymlinks
> 1232: for path in pkgfiles[pkg]:
> 1233: print('path: %s, pkg: %s' % (path, pkg))
> 1234: rpath = path[len(inst_root):]
> 1235: pkg_files[pkg].append(rpath)
> *** 1236: rtarget = cpath.realpath(path, inst_root, True, assume_dir =
> True)
> 1237: if not cpath.lexists(rtarget):
> 1238:
> dangling_links[pkg].append(os.path.normpath(rtarget[len(inst_root):]))
> 1239:
> 1240: newrdepends = {}
> File:
> '/opt/pkg/petalinux/components/yocto/source/arm/layers/core/meta/lib/oe/cachedpath.py',
> lineno: 229, function: realpath
> 0225: # be printed a backtrace with 100s of OSError exceptions
> 0226: # else
> 0227: raise OSError(errno.ELOOP,
> 0228: "too much recursions while resolving '%s'; loop in '%s'" %
> *** 0229: (file, e.strerror))
> 0230:
> 0231: raise
> 0232:
> 0233: return file
> Exception: OSError: [Errno 40] too much recursions while resolving
> '<project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds/usr/lib/libTAO_PI_Server.so.2.2a_p15';
> loop in
> '<project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds/usr/lib/libTAO_PI_Server.so.2.2a_p15'
>
> DEBUG: Python function package_fixsymlinks finished
> DEBUG: Python function do_package finished
> ERROR: Function failed: package_fixsymlinks
>
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_InfoRepoServ.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_CSD_ThreadPool.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_FTORB_Utils.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_PortableGroup.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_ImR_Client.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_FACE.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libTAO_Codeset.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/lib/libOpenDDS_Udp.so,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/bin/tao_imr_locator,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/bin/tao_cosnaming,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/bin/tao_nsdel,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/bin/tao_nsadd,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/bin/tao_nslist,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/bin/tao_imr_activator,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/bin/DCPSInfoRepo,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds-dev/usr/bin/tao_imr,
> pkg: opendds-dev
> path:
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/packages-split/opendds/usr/lib/libTAO_PI_Server.so.2.2a_p15,
> pkg: opendds
> ===
>
> In addition, I get a batch of the following messages coming out:
>
> ===
> 1: opendds-1.0-r0 do_package - 0s (pid 23258)
> link recursion too deep, not expanding path
> '<project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/package/usr/lib/libTAO_Svc_Utils.so.2.2a_p15'.
> link recursion too deep, not expanding path
> '<project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/package/usr/lib/libTAO_PI_Server.so.2.2a_p15'.
> link recursion too deep, not expanding path
> '<project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/opendds/1.0-r0/package/usr/lib/libTAO_PI.so.2.2a_p15'.
> ===
>
> And, when I go into the lib folder and list the contents, I see:
>
> ===
> :
> lrwxrwxrwx 1 jmccabe jmccabe 28 Jun 27 17:38 libTAO_PI_Server.so ->
> libTAO_PI_Server.so.2.2a_p15
> lrwxrwxrwx 1 jmccabe jmccabe 28 Jun 27 17:38
> libTAO_PI_Server.so.2.2a_p15 -> libTAO_PI_Server.so.2.2a_p15
> :
> ===
>
> With (on Ubuntu), all the filenames in red with a grey (or black?)
> background, i.e. broken links.
>
> I have a couple of questions about all this:
>
> 1) The oe_soinstall function (see here -
> https://git.yoctoproject.org/cgit.cgi/poky/plain/meta/classes/utils.bbclass)
> includes a line that installs (using "install") the xxx.so.x.y file,
> which causes a copy of the file from ${WORKDIR} to go into the
> <project-base>/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi.opendds/1.0-r0/image/usr/lib
> directory. It then generates sonamelink and solink from the library
> details and creates symbolic links that point back to the copies of
> the library files in ${WORKDIR}. In doing that, the copy of the file
> that was placed there by the install line is overwritten with the
> symbolic link; is that normal? (I presume it must be otherwise no one
> would be getting oe_soinstall to work!).
>
> 2) Is there anything in the shared library filenames' version part
> that could be causing something to get confused? I've seen mention of
> zzz.so.a.b.c etc where a, b and c are normally numeric, which is
> different to the version information in the DDS files, but...
>
> 3) I can understand why there could be a recursion issue detected, but
> it's not met who's putting those weird links into the package/usr/lib
> folder. Is there something in the .bb file that I need to change to
> make that work properly?
>
> 4) Can anyone see whether I'm just simply doing something wrong and
> clarify what I need to do to put it right?
>
> Any help will be very, very gratefully appreciated. As I said, I'm new
> to Yocto and have spent hours looking for help/example of the use of
> oe_soinstall. Each time round the loop of updating my .bb file and
> building it takes quite a long time so...
>
> Many thanks,
> John
>
> John McCabe
> Principal Software Engineer
> Kirintec Ltd
>
>
>
>
> +44 (0) 1989 568350
>
>
>
>
> *JMcCabe at kirintec.com* <mailto:JMcCabe at kirintec.com>
>
>
>
> *www.kirintec.com* <http://www.kirintec.com/>
>
> Follow us:
> <https://en-gb.facebook.com/Kirintec/>
>
>
> <https://uk.linkedin.com/company/kirintec>
>
>
> <https://twitter.com/KirintecLtd>
>
>
>
>
>
> <https://www.kirintec.com/>
> Receipt of this e-mail is subject to conditions, view our
> email disclaimer. Kirintec Limited of Ross-on-Wye HR9 5PB
> is registered in England and Wales with the company number 6699502.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190628/b68db71d/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 10433 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190628/b68db71d/attachment-0007.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 341 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190628/b68db71d/attachment-0008.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 370 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190628/b68db71d/attachment-0009.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 490 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190628/b68db71d/attachment-0010.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 641 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190628/b68db71d/attachment-0011.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 642 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190628/b68db71d/attachment-0012.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 675 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190628/b68db71d/attachment-0013.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 85123 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190628/b68db71d/attachment-0001.jpe>
More information about the yocto
mailing list