cancel
Showing results for 
Search instead for 
Did you mean: 

Developing a ctrlX App without App Build Environment

Developing a ctrlX App without App Build Environment

EchoHarm0ny
New Poster

I am facing the challenge of developing a ctrlX app without using the app build environment. The app's purpose is to operate a hardware component.

During development, I need to have access to this hardware. I cannot reach the hardware within the app build environment, which is why I am currently developing on an Ubuntu 22.04 computer.

Can anyone provide tips? Is it reasonable to develop an app without the app build environment? What should I consider when working outside of the app build environment?

Thank you in advance!

5 REPLIES 5

Sgilk
Contributor

Hi @EchoHarm0ny ,

You can absolutely develop on an Ubuntu system. You can simply download the SDK from the Github and install directly. The main considerations will be making sure the SDK dependencies are installed properly, as this is more automated in the app build environment. Follow the directions on the Github README and you should be okay. There is some more information specific to native Ubuntu machines here. It should be the same setup as for a VirtualBox Virtual Ubuntu machine. Give it a shot and reply to this thread with specific problems/questions.

I did want to note that is is possible to pass hardware into the virtualized app build environment as well, but the process is tricky. See this thread. I'd definitely recommend sticking with the hard Ubuntu system if you have access to one.

Hi @Sgilk ,

thank you for your response. I think i managed to install the ctrlX Automation SDK on my ubuntu machine by following these steps:

  • Downloading the repository as a zip file and unzipped it
  • Installed the required packages (install-required-packages.sh)
  • Installed snapcraft (install-snapcraft.sh)
  • Cloned and installed the ctrlX AUTOMATION SDK (clone-install-sdk.sh)
    • I think this step is bit duplicated, since i already downloaded the SDK as a zip archive. I think this script does more than just cloning the repository

I can build the Cpp-sample snaps on my machine now. 😀

But only if i call the build-snap-amd64.sh script with sudo and i need to define where it can find snapcraft:

sudo env "PATH=$PATH" ./build-snap-amd64.sh

Error without sudo:

./build-snap-amd64.sh


build_snap.png

Error if i don´t define where to find snapcraft:

sudo ./build-snap-amd64.sh


snap_location_sudo_build_snap.png

Am i missing something or is it really necessary to use sudo to build the snaps?

I want to also add a view hints what didn´t work:
In the VirtualBox setup page in chapter "Setup Standard Packages" there is the information to install packages manually according to the user-data-img file. i searched in all user-data-img files for these packages but i couldn´t find any (packages: - zip - unzip).
https://boschrexroth.github.io/ctrlx-automation-sdk/setup_windows_virtualbox_ubuntu.html

On this page Important Installation Scripts  is a script listed named install-sdk.sh. I can´t find this script in the repository
https://boschrexroth.github.io/ctrlx-automation-sdk/install-scripts.html

nickH
Community Moderator
Community Moderator

Hi @EchoHarm0ny 

the building of snaps should be possible without the need to execute it with sudo. I'm not sure whats the difference to your setup. Did you run the scripts (e.g. "install-snapcraft.sh") with sudo or without? 

Thanks for reporting the issues regarding the documentation! The packages you may need can be found here in the cloud-config file: https://github.com/boschrexroth/ctrlx-automation-sdk/blob/main/scripts/environment/cloud-config#L23

Clone and install should be enogh. We will try to fix these issues regarding the documentation. 

Best regards, 

Nick

Hi Nick,

thank you. I didn´t use sudo while executing the scripts:
These are the steps i did:

chmod a+x *.sh
./install-required-packages.sh
./install-snapcraft.sh
./clone-install-sdk.sh

I figuered out that i can build these two cpp-samples without sudo privileges:

  • hello.world
  • diagnostics.logbook

all the other cpp samples require: sudo ./build-snap-amd64.sh

nickH
Community Moderator
Community Moderator

Hi @EchoHarm0ny 

I found a issue in the clone-install-sdk.sh. The paths in this script are wrong, there is no "release" folder. Could you try to execute these comands again without "/release" in the path? 

Wrong path in clone-install-sdk.shWrong path in clone-install-sdk.sh

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist