imx8mp compile opendds

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx8mp compile opendds

2,886 Views
cuiyunxiao
Contributor I

Hi everyone

I want to compile opendds-3.24 use the cross-compile tools of imx8mp. However, because the header file cannot be found, the compilation fails. 

 If i use bitbake to build OpenDDS-3.24 for my Yocto project, it can compile successfully, and i got the image directory of opendds in xx/work directory. However, when i bitbake opendds to my yocto image, it can not bitbake all the content to my project, does it too large?

How can i solve the problems mentioned above.

Than you

0 Kudos
Reply
9 Replies

2,866 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @cuiyunxiao ,

I hope you are doing well.
I have shared a few steps, Please make sure to follow it properly without any error.

->Create a new task after do_unpack by doing the following

Extract the binary names from the variables (CC, CXX, and AR) and create a local script with the same name
insert shebang into the just created wrapper script
append the whole value of the variable (here $CC) into the wrapper script
make wrapper executable

->Override the configure step

Extract the full path to the target cross-compiler
target_compiler="${S}/`echo ${CXX} | cut -f 1 -d\  `"

and replace the CC variable which points to the bitbake cross-compiler with the host native ones:
export CC=$BUILD_CC

Do the final call to the configure script with the expected cross-compile options
./configure --target=linux-cross --target-compiler=$target_compiler

->Override the compile step

export CC=$BUILD_CC
Finally, just call make within the compile step, that should make it happen!

One can also refer to the below link for reference.
https://github.com/OpenDDS/meta-opendds

I hope it helps!

Thanks & Regards,
Sanket Parekh

0 Kudos
Reply

2,859 Views
cuiyunxiao
Contributor I
thank you
I have refered the link
https://github.com/OpenDDS/meta-opendds
In the opendds.inc file, some steps you mentioned above have been done. However, the files in image directory can not be installed to rootfs, can you gave me some sugestion.
thank you
0 Kudos
Reply

2,832 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @cuiyunxiao 

I hope you are doing well.

I followed the below steps from the provided link and opendds got compiled as well as installed successfully, Please find the steps below and try with the same.

->git clone https://github.com/OpenDDS/meta-opendds.git
->bitbake-layers add-layer meta-opendds
->source ./setup-environment <build_directory>
->add the below line into conf/local.conf file.
IMAGE_INSTALL += "opendds"

->bitbake opendds

I hope it helps!

Thanks & Regards,

Sanket Parekh

0 Kudos
Reply

2,798 Views
cuiyunxiao
Contributor I
Ok, thank you very much !

I do it as you guide, base on the "imx8mp-real-time-edge" yocto project. It can compile successfully, but it report error when it do package.

And another question, does it can run the executable program "opendds_idl", "tao_idl" after install opendds successfully on imx8mp?

If it does not have "opendds_idl" and "tao_idl", how can we verify the opendds, and how to run the "Message" demo of opendds.

thank you very much !!!

Waiting for your response.
0 Kudos
Reply

2,785 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @cuiyunxiao,

I hope you are doing well.

Please share the sequence of the commands you follow along with the dmesg & console logs.

Thanks & Regards,
Sanket Parekh

0 Kudos
Reply

2,757 Views
cuiyunxiao
Contributor I
Ok, thanks
the dmesg & console logs show as below
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_CodecFactory.so.2.5.19: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/Messaging/libTAO_Messaging.so.2.5.19)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libACE.so.6.5.19: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/ACE_wrappers/ace/XML_Utils/libACE_XML_Utils.so.6.5.19)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libOpenDDS_Dcps.so.3.24.1: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/DCPS/transport/rtps_udp/libOpenDDS_Rtps_Udp.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_Valuetype.so.2.5.19: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/DCPS/transport/shmem/libOpenDDS_Shmem.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO.so.2.5.19: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/PI/libTAO_PI.so.2.5.19)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_AnyTypeCode.so.2.5.19: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/ACE_wrappers/TAO/orbsvcs/orbsvcs/libTAO_Svc_Utils.so.2.5.19)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libOpenDDS_InfoRepoLib.so.3.24.1: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/InfoRepo/libOpenDDS_InfoRepoServ.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_BiDirGIOP.so.2.5.19: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/InfoRepo/libOpenDDS_InfoRepoServ.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_Valuetype.so.2.5.19: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/FACE/libOpenDDS_FACE.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO.so.2.5.19: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/tools/dcpsinfo_dump/dcpsinfo_dump)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libACE.so.6.5.19: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/DCPS/transport/rtps_udp/libOpenDDS_Rtps_Udp.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO.so.2.5.19: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/DCPS/transport/shmem/libOpenDDS_Shmem.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_AnyTypeCode.so.2.5.19: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/PI/libTAO_PI.so.2.5.19)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libOpenDDS_Dcps.so.3.24.1: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/DCPS/security/libOpenDDS_Security.so.3.24.1)
WARNING: opendds-3.24-r0 do_package_qa: QA Issue: opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/TAO_IDL/.debug/libTAO_IDL_FE.so.2.5.19
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/orbsvcs/orbsvcs/.debug/libTAO_Svc_Utils.so.2.5.19
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/Messaging/.debug/libTAO_Messaging.so.2.5.19
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/CSD_Framework/.debug/libTAO_CSD_Framework.so.2.5.19
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/ImR_Client/.debug/libTAO_ImR_Client.so.2.5.19
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/IORTable/.debug/libTAO_IORTable.so.2.5.19

Thanks & Regards
xiao
0 Kudos
Reply

2,739 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @cuiyunxiao,

I hope you are doing well.

Please follow the below sequence with the fresh setup without any further changes.

->git clone https://github.com/OpenDDS/meta-opendds.git
->bitbake-layers add-layer meta-opendds
->source ./setup-environment <build_directory>
-> Add the below line into conf/local.conf file.
IMAGE_INSTALL += "opendds"

->bitbake opendds

->Please make sure here if the opendds is being used in a recipe or not by running the below command
bitbake -e opendds

"how to run the "Message" demo of opendds."
->Please take reference from the below-given link.
https://kickstartembedded.com/2022/01/21/yocto-part-6-understanding-and-creating-your-first-custom-r...

I hope this helps!

Thanks & Regards,
Sanket Parekh

0 Kudos
Reply

2,754 Views
cuiyunxiao
Contributor I
Ok, thank you

The sequence of the commands i follow like below.

->git clone https://github.com/OpenDDS/meta-opendds.git
->cp -r meta-opendds ~/yocto-real-time-edge/sources/meta-openembedded
->bitbake-layers add-layer ~/yocto-real-time-edge/sources/meta-openembedded/meta-opendds
->vi ~/yocto-real-time-edge/sources/meta-openembedded/meta-opendds/conf/layer.conf
add below line into layer.conf
ACE_TAO_OPTION = "--doc-group3"
->vi ~/yocto-real-time-edge/sources/meta-real-time-edge/recipes-nxp/images/nxp-image-real-time-edge.bb
add below line into nxp-image-real-time-edge.bb
IMAGE_INSTALL:append = "opendds"
->cd ~/yocto-real-time-edge
->source setup-environment build-imx-real-time-edge
->bitbake opendds

the dmesg and console logs show as below:
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_PortableServer.so.3.1.0: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/ImR_Client/libTAO_ImR_Client.so.3.1.0)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libOpenDDS_InfoRepoLib.so.3.24.1: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/InfoRepo/libOpenDDS_Federator.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_Valuetype.so.3.1.0: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/libOpenDDS_Dcps.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO.so.3.1.0: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/DCPS/transport/rtps_udp/libOpenDDS_Rtps_Udp.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_BiDirGIOP.so.3.1.0: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/DCPS/InfoRepoDiscovery/libOpenDDS_InfoRepoDiscovery.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_Valuetype.so.3.1.0: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/InfoRepo/DCPSInfoRepo)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_AnyTypeCode.so.3.1.0: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/CodecFactory/libTAO_CodecFactory.so.3.1.0)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libOpenDDS_Dcps.so.3.24.1: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/DCPS/transport/rtps_udp/libOpenDDS_Rtps_Udp.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libACE.so.7.1.0: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/DCPS/transport/rtps_udp/libOpenDDS_Rtps_Udp.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_AnyTypeCode.so.3.1.0: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/PI/libTAO_PI.so.3.1.0)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_CodecFactory.so.3.1.0: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/DCPS/InfoRepoDiscovery/libOpenDDS_InfoRepoDiscovery.so.3.24.1)
ERROR: opendds-3.24-r0 do_package: opendds-dev: Multiple shlib providers for libTAO_Valuetype.so.3.1.0: opendds, opendds-dev (used by files: /home/cxf/yocto-real-time-edge/build-imx-real-time-edge/tmp/work/armv8a-poky-linux/opendds/3.24-r0/packages-split/opendds-dev/usr/share/DDS_ROOT/dds/DCPS/transport/shmem/libOpenDDS_Shmem.so.3.24.1)
WARNING: opendds-3.24-r0 do_package_qa: QA Issue: opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/TAO_IDL/.debug/libTAO_IDL_FE.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/orbsvcs/orbsvcs/.debug/libTAO_Svc_Utils.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/Messaging/.debug/libTAO_Messaging.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/CSD_Framework/.debug/libTAO_CSD_Framework.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/ImR_Client/.debug/libTAO_ImR_Client.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/IORTable/.debug/libTAO_IORTable.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/IORTable/.debug/libTAO_Async_IORTable.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/.debug/libTAO.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/CodecFactory/.debug/libTAO_CodecFactory.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/AnyTypeCode/.debug/libTAO_AnyTypeCode.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/PortableServer/.debug/libTAO_PortableServer.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/Valuetype/.debug/libTAO_Valuetype.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/IORManipulation/.debug/libTAO_IORManip.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/Codeset/.debug/libTAO_Codeset.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/PI/.debug/libTAO_PI.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/BiDir_GIOP/.debug/libTAO_BiDirGIOP.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/DynamicInterface/.debug/libTAO_DynamicInterface.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/TAO/tao/CSD_ThreadPool/.debug/libTAO_CSD_ThreadPool.so.3.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/ace/.debug/libACE.so.7.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/ACE_wrappers/ace/XML_Utils/.debug/libACE_XML_Utils.so.7.1.0
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/tools/modeling/codegen/model/.debug/libOpenDDS_Model.so.3.24.1
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/dds/monitor/.debug/libOpenDDS_monitor.so.3.24.1
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/dds/FACE/.debug/libOpenDDS_FACE.so.3.24.1
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/dds/.debug/libOpenDDS_Dcps.so.3.24.1
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/dds/InfoRepo/.debug/libOpenDDS_InfoRepoLib.so.3.24.1
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/dds/InfoRepo/.debug/libOpenDDS_InfoRepoServ.so.3.24.1
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/dds/InfoRepo/.debug/libOpenDDS_Federator.so.3.24.1
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/dds/DCPS/RTPS/.debug/libOpenDDS_Rtps.so.3.24.1
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/dds/DCPS/security/.debug/libOpenDDS_Security.so.3.24.1
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/dds/DCPS/transport/multicast/.debug/libOpenDDS_Multicast.so.3.24.1
opendds-dbg: found library in wrong location: /usr/share/DDS_ROOT/dds/DCPS/transport/udp/.debug/libOpenDDS_Udp.so.3.24.1
0 Kudos
Reply

1,261 Views
cebel
Contributor II

Hi @cuiyunxiao,

I had a similar problem and reached the solution as below.

Maybe this solution will also work for you.

Solution: https://community.nxp.com/t5/i-MX-Processors/i-MX8DXL-OpenDDS-do-package-error/m-p/1957334

Best regards.

0 Kudos
Reply