ConnectCard imx28 python3

SYNOPSIS: A device based on the ConnectCard iMX28 requires updates to installed images created via Digi Embedded Yocto to include Python3 support.

Based on a literature review, the Digi support for this platform via the ConnectCard imx28 JumpStart board (i.e. ccardimx28js) appears to stopped in its DEY 1.6.11 release.

Working with that constraint, I have attempted to include python3 in the Yocto build by adding the following to my local.conf configuration file for DEY 1.6.11.

IMAGE_INSTALL_append = " python3"

I see the python 3.3.3 recipes being built, and these recipes appear to succeed. However, the final step to package them into the root file system fails.

Specifically, the log for the do_rootfs task shows the following errors. Is there a way to provide python3 support for ccardimx28js via DEY 1.6.11 (or any more modern DEY that may support this platform that I missed)?

  1 DEBUG: Executing python function rootfs_process_ignore
  2 DEBUG: Python function rootfs_process_ignore finished
  3 DEBUG: Executing python function rootfs_runtime_mapping
  4 DEBUG: Python function rootfs_runtime_mapping finished
  5 DEBUG: Executing python function do_rootfs
  6 NOTE: configuring RPM platform settings
  7 NOTE: configuring RPM system provides
  8 NOTE: configuring RPM DB settings
  9 NOTE: configuring Smart settings
 10 NOTE: Note: adding Smart channel ccardimx28js (65)
 11 NOTE: Note: adding Smart channel armv5te (60)
 12 NOTE: Note: adding Smart channel all (55)
 13 NOTE: adding Smart RPM DB channel
 14 NOTE: Note: configuring RPM cross-install scriptlet_wrapper
 15 NOTE: ###### Generate rootfs #######
 16 NOTE: Executing '/home/x/workspace/ccardimx28js/tmp/sysroots/x86_64-linux/usr/bin/createrepo --update -q /home/x/workspace/ccardimx28js/tmp/deploy/rpm/all' ...
 17 NOTE: Executing '/home/x/workspace/ccardimx28js/tmp/sysroots/x86_64-linux/usr/bin/createrepo --update -q /home/x/workspace/ccardimx28js/tmp/deploy/rpm/ccardimx28js' ...

 19 NOTE: Installing the following packages: packagegroup-core-ssh-dropbear packagegroup-dey-network run-postinsts smartpm packagegroup-dey-audio curl rpm packagegroup-dey-core python3
 20 ERROR: python3 not found in the base feeds (ccardimx28js armv5te-mx28 armv5te armv5e armv5t armv5 armv4t armv4 arm noarch any all).

Are you sure that python3 is not there already by default?
This error normally means that the generated package is empty.

please take a look at this thread:

does it help?

Thanks for the response.

I had seen that thread in my research before posting the question, but I have not scrutinized the bitbake recipes yet to see if customizations/workarounds suggested help in the DEY 1.6.11 setup for ccardimx28js.

I am reasonably confident that python3 is not installed in the rootfs by default. (I do not have the target embedded ccardimx28js board currently to verify, but will soon.)

With that caveat, I have inspected the dey manifest file for the default images (that successfully build) and it has nothing related to python3; the only python functionality in the manifest are all related to python 2.7.

As a follow-up, it looks like if I do the following, the rootfs will build with Python 3.3 …

IMAGE_INSTALL_append = " libpython3"

This results in the Python 3.3m (py-malloc support variant) appearing in the manifest …

libpython3.3m1.0 armv5te 3.3.3

And I can possibly add other constituent parts too, viz.

IMAGE_INSTALL_append = " python3-modules libpython3"

to get a large collection of packages showing up in the manifest (more than I can use for space reasons, but at least it seems like a starting point to customize things).

With these data points, I suppose that syntax which works for “modern” implementations of Yocto which support

IMAGE_INSTALL_append = " python3"

behave much differently than the recipes in DEY 1.6.11, which is the last version available for the ccardimx28js (unfortunately)

Let me know if any of this is an incorrect mental model of what is going on, and thanks again.