gcc 9.4 compiler in docker images
-
@oldpaint That's the default for Ubuntu 20.04, the new 24.04 images have gcc 13.
-
@ikoz The current Botan cryptography library is version 3.9 and it requires gcc 11 or newer. So, I can't build it as part of my clickable project. I suppose I can pre-build it on my development box. Or, I can maybe use an older version of Botan that has reached end of life. Or, I can wait for Ubuntu Touch to move to a newer version. Any plans or schedule for that?
-
I see this: "Ubuntu Touch 24.04-1.0 is slated for release on 24 September 2025". Maybe I'll wait.
-
@oldpaint I think it should already be possible to build your app for nobel. But you will probably need to update your clickable docker image first. Of cause you can also wait for nobel being stable.
-
@johndoe Thanks. To update the docker images I think I need to add 'ubuntu-touch-24.04-1.x' to some configuration file under some heading and then run 'clickable update-images' optionally followed by 'clickable clean-images'. I cannot figure out what configuration file to change and under what heading I should add the new click foundation string. Nothing I do seems to update the docker images. So, I am stuck.
-
@oldpaint Please take a look at the .json files in your project. You have probably defined the framework there like "ubuntu-sdk-20.04" (it is possible that it is defined in more than one .json file).
You probably need to replace the number with 24.04 or 24.04-1.0 (I am not sure, because I have not build for 24.04 jet).Edit: The new framework name gets explained here: https://forums.ubports.com/topic/10899/status-update-on-ubuntu-touch-24.04-1.x-march-april-2025
You can also define the framework as a parameter, when running clickable: "clickable CLICKABLE_FRAMEWORK=ubuntu-sdk-20.04 build" (for example).
You will also need a new version of clickable (I think 8.4). The minimum clickable version is usually also defined in a .json file. I hope that maybe helps. -
@oldpaint I think manifest.json, clickable.json and/or clickable.yaml, are the configuration files to look for. At least I get this from the documentation here: https://clickable-ut.dev/en/latest/usage.html
This also seems to be important: "The apparmor policy needs to match the framework. To let Clickable fill it, leave it empty or set it to @APPARMOR_POLICY@."
-
@johndoe I added this line near the top of my project clickable.yaml:
framework: ubuntu-touch-24.04-1.xI added a file [PROJECT_NAME].apparmor to my project directory with this content:
{
"policy_groups": [],
"policy_version": 2404.1
}I thought I would start with the Botan library so I ran the command 'clickable build --libs --verbose' and that provoked a download of the correct docker container for my phone, arm64. I can't seem to provoke a download for the desktop docker container, amd64. I tried 'clickable desktop ...' but no joy.
The commands 'clickable update-images' and 'clickable clean-images' list the images but do nothing else for me. That was confusing for a while.
I think I need to clear the decks and start the project fresh instead of trying to modify the existing one.
-
This post is deleted! -
@oldpaint said in gcc 9.4 compiler in docker images:
I thought I would start with the Botan library so I ran the command 'clickable build --libs --verbose' and that provoked a download of the correct docker container for my phone, arm64. I can't seem to provoke a download for the desktop docker container, amd64. I tried 'clickable desktop ...' but no joy.
You could try 'CLICKABLE_ARCH=amd64 clickable build --libs --verbose' or 'clickable build --arch amd64 --libs --verbose' in order to specify the architecture.
Your architecture should also be defined in your manifest.json file. (The app template should provide a manifest.json file by default. It is maybe under data/. You can read about it here: https://clickable-ut.dev/en/latest/usage.html )
The architecture will probably be whatever architecture is specified when executing clickable (likely arm64 by default).