Nightly builds not on 18.04 like the release version

I switched to a machine with CUDA for some dev work and the OS is Kubuntu 18.04.6 and I thought I'd get the ide 2.x up and work on a project but none of the nightly ide 2.x builds will run. But the 2.1.0 release run fine( appImage and zip ).

Hi @Dougl. The Arduino IDE developers are tracking this regression here:

If you have a GitHub account, you can subscribe to that issue to get notifications of any new developments related to this subject.

We are planning to restore backwards compatibility of the nightly builds with older Linux versions, but the regression was caused by GitHub shutting down the infrastructure we were previously using to produce the 18.04-compatible builds so we are forced to find some new solution for producing these builds since the old system is simply not available to us anymore.

For now, you can use the release builds (which we are producing manually at quite some difficulty in order to provide backwards compatibility) or else update your Linux installation.

1 Like

This is probably why the release zip file doesn't have an arduino named root. ie manually made and goofed.

So Microsoft can control what release platforms by manipulating/removing capabilities? Great...
They already influenced the death of the Atom IDE and likely tons of other things. GitLab.com maybe a solution.

Maybe, but maybe it is also simply because Ubuntu 18.04 is now 5 years old and Ubuntu supports LT releases for 5 years... And likewise, maybe there is not enough backwards compatibility on Ubuntu 20.04 to build things that run on 18.04.

There is not a "Maybe", @ptillisch is on the dev team and stated the capability to build on 18.04 was removed. Why it was removed, when Microsoft owns the project, would likely be a discussion spread over thousands of pages, court documents, and conjecture. It will not change the fact that however the build systems are built and provided, they are not provided in a way which allows the developer to decide what they want to build on. And over 30 years of Microsoft history dictates that is far likely to be leveraged against the developers when they are not on a Microsoft OS.

Maybe there's a VM or a Docker container they can run the 18.04 build system in to bypass the restriction.

As for my own solution, I've now built up a liveISO of 22.04.2 with NVidia drivers and CUDA and have started testing. In the meantime, when on that system trying to Arduino projects I will use the 2.1.0 release until I hit a bug which stops me or I finish the migration to Ubuntu 22.04.

Sorry, I have no stake in this. Other than I mostly run windows, although do use Ubuntu and MAC stuff when I need to test on different platforms.

My guess is that Github probably only wants to support only so many versions of platforms, that they host with their action runners. So when a new LT release came out, they started the depreciation of the oldest version.
GitHub Actions: The Ubuntu 18.04 Actions runner image is being deprecated and will be removed by 12/1/22 | GitHub Changelog
They actually extended the phase out until April.

The current list of platforms they support: Choosing the runner for a job - GitHub Docs

My guess is you can probably do a self hosted build, on your own machine, for 18.04 using 18.04 as @ptillisch mentioned previously, as they did this for the release. Maybe he can post you to a document, or thread or the like that shows you the steps to do this.

A while ago I setup a machine to build for it to run on RPI 64 bit. Using the instructions up at:
arduino-ide-raspberrypi/README-DEVELOPER.md at main ยท koendv/arduino-ide-raspberrypi ยท GitHub
It worked a couple of times for me, and then ran into an issue. I am not doing anything with the RPI right now, so I have not tried it in awhile, but I do see he has the 2.1 version released which is great. I mention this, as my guess is the steps necessary for you to build for 18.06 would probably be similar.

Good luck.

1 Like

Ya, I decided to dig into it alittle too and found that page talking about "action runner" and depricating 18.04 image. The action and action runner system was created in 2018, the same year MS purchased github but since they were influencing PlatformIO back then I would not be surprised if there were influences. Speculation, not proof found.

I could not find any documentation on how github handled previous iterations of similar features and they might not have existed. With Action Runner they probably moved all those to Azure hosting and promote the added numbers in marketing materials.

I will look for a Docker container for building Arduino and give it a shot sometime. And if it weren't for the Arduino IDE 2.x missing plugins for esp32 filesystem creation and uploading I'd have no problem running a 22.04 docker image with Arduino IDE loading. But I have to use makefiles to do the esp8266/esp32 filesystem stuff so I've not gone down the 'run Arduino IDE 2 in Docker' route yet.

I've just seen THAT company fsck so many promising technologies over the past 40 years and produce crap to replace that which they destroyed so I'm really sick of them touching ANYTHING I use. Most have no clue of where I'm coming from except the few with 5 digit or less /. IDs

On the 18.04 machine I got Arduino nightly running through docker container which is running Ubuntu 22.04. There are extra packages installed since I grabbed the dockerfile from another project and just added things Arduino IDE 2 needed above and beyond what was there(see the last "RUN apt install" line). Since I've linked by filesystem to the docker container running the launch_cmdline process also allows me to run the makefile stuff.

If anyone is interested, here are the details:

ubuntu_docker.file:

FROM ubuntu
RUN apt update
RUN apt install -y libusb-1.0-0
RUN apt install -y libpulse-dev
RUN apt install -y libgl1
RUN apt install -y build-essential libgl1-mesa-dev
RUN apt install -y libxkbcommon-x11-0
RUN apt install -y libxcb-image0
RUN apt install -y libxcb-keysyms1
RUN apt install -y libxcb-render-util0
RUN apt install -y libxcb-xinerama0
RUN apt install -y libxcb-icccm4
RUN apt install -y libxi6
RUN apt install -y libxinerama1
RUN apt install -y libxrender1
RUN apt install -y net-tools
RUN apt install -y iputils-ping
RUN apt install -y libgstreamer1.0-0 gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad
RUN apt install -y libatk1.0-0 libatk-bridge2.0-0 libgtk-3-0 libsecret-1-0 python-is-python3 python3-serial

RUN echo โ€œ$USER:x:1000:1000:fname lname,:/home/$USER:/bin/bashโ€ > /etc/passwd
RUN echo โ€œ$USER:x:1000:โ€ > /etc/group

ENV DISPLAY=:0

build the docker image:
docker build -t ubuntu_ard -f ubuntu_docker.file .

launchArduinoIDE:

#!/bin/bash

#docker container run --device /dev/video0:/dev/video0 -u 1000:1000 -v /home:/home -v /tmp:/tmp -h Light --mac-address 02:42:ac:11:00:02 -it ubuntu_lbr ~/Downloads/arduino-ide_nightly-20230514_Linux_64bit.appimage --no-sandbox
docker container run --device /dev/video0:/dev/video0 -u 1000:1000 -v /home:/home -v /tmp:/tmp -h Light --mac-address 02:42:ac:11:00:02 -it ubuntu_lbr ~/Projects/Arduino/arduino-ide_nightly-20230513_Linux_64bit/arduino-ide --no-sandbox

launch_cmdline:

#!/bin/bash

CONTAINER=`docker ps  | grep ubuntu_ard | xargs | cut -f10 -d" "`

docker exec -it $CONTAINER /bin/bash

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.