after succesfully deploying a c++ app to the ctrlX, I wanted to write a python app. My current setup is
Windows 10 - Oracle virtualBox - ubuntu18.
In the samples it is already written that the crosscompilation is not possible for python and that the
python app can either be developped on a machine with the suitable target architecture or a virtual machine that
emulates the hardware.
What is the recommended way?
Can I develop a python snap using ubuntu20 on a raspi (64bit)?
Or are we restricted to ubuntu18 at the moment?
Solved! Go to Solution.
You can develop on core20 and say target system is core18.
Further more from the release RM20.11 end of November on only core20 will be supported on the ctrlX CORE. And there will be a new development environment based on QEMU. So stay tuned for the SDK for ctrlX AUTOMATION.
If you are willing to make your code public, you can build snaps for ctrlX CORE and ctrlX COREvirtual using Canonical's auto-build server: https://snapcraft.io/build
Once configured, each update that you push to your GitHub repository will automatically trigger a rebuild of your project. Snaps can be downloaded (for a limited time after the build date) from snapcraft's dashboard: https://dashboard.snapcraft.io/stores/snaps/
One tip: Be sure to specify the build architecture in your yaml file. Otherwise the build server will trigger builds on all supported platforms.
I tried the proposed solution.
Setup Raspi 4 - ubuntu21 - desktop
usr/lib/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/libstdc++.so.6)
I finally installed a 18.04 version in lxc and compiled my snap there. For me it seems that the core18 option does not work well if the libraries of the "host" systems are newer. Since the (cross) compilation is done with the host's gcc, the newer libs are linked...
This only affects the c/c++ part of my snap.
However, I think it is still worth sharing
Thanks for the quick reply,
at the moment it is more proof of concept stuff that I'm trying. I do not want to publish these snaps.
Probably, your build systems works flawless, however, setting up the build for c++ and python on my local
machine is a pain in the ass 🙂
Would be very helpful, if you could provide a preconfigured VM or sth. comparable.
To setup and share preconfigured VMs is quite hard/bad in legal sight of view. But from the version 1.12 of the SDK for ctrlX AUTOMATION on we provide an instruction how to use an QEMU based development environment that can emulate amd and also arm processor architectures. See github.com/boschrexroth/ctrlx-automation-sdk for further information.