RIOT-OS / riotdocker

Dockerfiles for creating build environment for building RIOT projects.
34 stars 45 forks source link

riotbuild: add libsdl2-dev:amd64 #241

Closed fzi-haxel closed 2 months ago

fzi-haxel commented 9 months ago

Adds the 64-bit version of libsdl2-dev required for the 64-bit version of native. Needed in RIOT-OS/RIOT#20335

libsdl2-dev has quite a few dependencies and adds about 190MB to the image. If this is too much, I could also blacklist tests_lvgl and tests_lvgl_touch for the CI.

benpicco commented 9 months ago

Arg, I think the problem is that the libsdl2-dev:i386 package conflicts with libsdl2-dev :confused:

fzi-haxel commented 9 months ago

Arg, I think the problem is that the libsdl2-dev:i386 package conflicts with libsdl2-dev 😕

Mh, apt does not complain about installing libsdl2-dev, but the rust build test fails. I'm not sure if they are related. I tried building the image locally and for me the rust test and the native64 lvgl test worked.

fzi-haxel commented 9 months ago

Re-running the build doesn't seem to fix it. I will try to reproduce the problem on Monday. Maybe it's because I didn't build the base images.

chrysn commented 9 months ago

I'm adding another re-run here. This kind of error (fatal error: 'preprocessor_successor.h' file not found) has been seen occasionally, but never was stable enough to be really reproduced; chances are it's going away now that I'm looking at it with 2 days time passed :-/

chrysn commented 9 months ago

Failed again. Retrying master to verify my assumption that this is a failure unrelated to the content of this PR.

kaspar030 commented 9 months ago

Failed again. Retrying master to verify my assumption that this is a failure unrelated to the content of this PR.

I've seen this a couple of times in this repo, usually some retries make CI pass.

kaspar030 commented 9 months ago

I've opened an issue. It's probably a race in the riot repo that somehow shows here more often.

chrysn commented 9 months ago

Please rebase onto https://github.com/RIOT-OS/riotdocker/pull/246 (or master once that is in), that should make the problem go away.

fzi-haxel commented 9 months ago

Please rebase onto #246 (or master once that is in), that should make the problem go away.

Rebased on master

chrysn commented 2 months ago

Still looks good to me (can't merge due to permission troubles), but one clarification might be due anyway: This was described as blocking https://github.com/RIOT-OS/RIOT/pull/20335, but that is now through. Is this still an issue (and 20335 just had a workaround that can be dropped once this is through), or has this one become moot?

fzi-haxel commented 2 months ago

Still looks good to me (can't merge due to permission troubles), but one clarification might be due anyway: This was described as blocking RIOT-OS/RIOT#20335, but that is now through. Is this still an issue (and 20335 just had a workaround that can be dropped once this is through), or has this one become moot?

RIOT-OS/RIOT#20335 was a larger PR. benpicco recommended to blacklist native64 for the lvgl tests in order not to block the CI until this issue has been resolved.

If this PR is merged, we should be able to remove these lines in RIOT and run the tests in the CI:

benpicco commented 2 months ago

I remember when it wasn't possible to install both the 32 bit and the 64 bit version of libsdl2-dev in parallel - either that changed or our CI doesn't catch it.

fzi-haxel commented 2 months ago

I remember when it wasn't possible to install both the 32 bit and the 64 bit version of libsdl2-dev in parallel - either that changed or our CI doesn't catch it.

I think the reason this build (and some others) failed was fixed in #246. The current docker image has both versions installed, and a quick test of tests/pkg/lvgl with the docker image seems to work for both native and native64. (After increasing LV_MEM_SIZE for native64, which seems to be too small for 64bit.)