Hi Chen, I'm a little confused by your message.
You've replied to my email to the Yocto mailing list, regarding a problem I'm having with Yocto, by suggesting I email this list if I have a problem with Yocto. Unless I'm missing something, that doesn't make a lot of sense. Can you please clarify? Thanks John (PS - changed my subscription email address as my company's Outlook forces a load of random nonsense in the sig!). > On 28 June 2019 at 10:47 ChenQi <qi.c...@windriver.com> wrote: > > > 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"](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: > > 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 -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto