
On Sun, 2022-01-16 at 23:41, Heinrich Schuchardt wrote:
On 1/16/22 22:14, Milan P. Stanić wrote:
wrote:
On 1/13/22 14:41, Simon Glass wrote:
Hi Heinrich,
On Mon, 10 Jan 2022 at 16:22, Heinrich Schuchardtxypron.glpk@gmx.de wrote:
Hello Simon,
compiling with SDL fails on Alpine Linux: https://gitlab.alpinelinux.org/alpine/aports/-/issues/13411
So I tried NO_SDL:
make sandbox_defconfig NO_SDL=1 make menuconfig # CONFIG_ETH_SANDBOX_RAW=n make -j4 NO_SDL=1
But I got an error gcc: error: arch/sandbox/cpu/sdl.o: No such file or directory
Do you need mrproper first? I don't hit that problem.
Please, build the appended Dockerfile ("sudo docker build -t .").
I run it on aarch64 (I don't have x86_64 machine for this) and I didn't got error.
here is the output of 'docker build .':
Step 12/16 : RUN git clonehttps://source.denx.de/u-boot/u-boot.git ---> Running in 4f89022fad97 Cloning into 'u-boot'... Removing intermediate container 4f89022fad97 ---> 8f4a64791065 Step 13/16 : WORKDIR /home/uboot/u-boot ---> Running in c88471d92078 Removing intermediate container c88471d92078 ---> 361d0979bd27 Step 14/16 : RUN make sandbox_defconfig NO_SDL=1 ---> Running in aad201f298b6 HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o YACC scripts/kconfig/zconf.tab.c LEX scripts/kconfig/zconf.lex.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf # # configuration written to .config # Removing intermediate container aad201f298b6 ---> bf5a898ae7f6 Step 15/16 : RUN sed -i 's/CONFIG_ETH_SANDBOX_RAW=y/# CONFIG_ETH_SANDBOX_RAW is not set/g' .config ---> Running in 50eb86bfd2aa Removing intermediate container 50eb86bfd2aa ---> 0eb72e2956d1 Step 16/16 : RUN sed -i 's/CONFIG_VIDEO_SANDBOX_SDL=y/# CONFIG_VIDEO_SANDBOX_SDL is not set/g' .config ---> Running in 18bd37a4251f Removing intermediate container 18bd37a4251f ---> 8b391226e895 Successfully built 8b391226e895
-- Best regards
It gives me:
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/u-boot.eJeOKe.ltrans36.ltrans.o: in function `dm_test_video_bmp8': /home/uboot/u-boot/test/dm/video.c:357: undefined reference to `sandbox_sdl_set_bpp' /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/u-boot.eJeOKe.ltrans36.ltrans.o: in function `dm_test_video_bmp16': /home/uboot/u-boot/test/dm/video.c:378: undefined reference to `sandbox_sdl_set_bpp' /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/u-boot.eJeOKe.ltrans36.ltrans.o: in function `dm_test_video_bmp24': /home/uboot/u-boot/test/dm/video.c:401: undefined reference to `sandbox_sdl_set_bpp' /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/u-boot.eJeOKe.ltrans36.ltrans.o: in function `dm_test_video_bmp24_32': /home/uboot/u-boot/test/dm/video.c:424: undefined reference to `sandbox_sdl_set_bpp' /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/u-boot.eJeOKe.ltrans36.ltrans.o: in function `dm_test_video_bmp32': /home/uboot/u-boot/test/dm/video.c:445: undefined reference to `sandbox_sdl_set_bpp' /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/u-boot.eJeOKe.ltrans36.ltrans.o:/home/uboot/u-boot/test/dm/video.c:479: more undefined references to `sandbox_sdl_set_bpp' follow collect2: error: ld returned 1 exit status make: *** [Makefile:1799: u-boot] Error 1
Best regards
Heinrich
I see that I broke it...it needs a static inline for sandbox_sdl_remove_display().
Can't we make CONFIG_SANDBOX_SDL a Kconfig symbol to get rid of the command line symbol?
We already have CONFIG_SANDBOX_VIDEO_SDL. Do we need two symbols?
You mean, manually change the defconfig file? I suppose we could do that, but it is harder for people to do.
In any case, we should add this case to CI.
Regards, Simon
# SPDX-License-Identifier: GPL-2.0+ # This Dockerfile is used to build an image containing basic stuff to be used # to build U-Boot and run our test suites.
FROMalpine:3.15.0 MAINTAINER Heinrich Schuchardtxypron.glpk@gmx.de LABEL Description=" This image is for building U-Boot inside a container"
# Install packages RUN apk update RUN apk add \ alpine-sdk \ bash \ bc \ bison \ dtc \ flex \ git \ linux-headers \ ncurses-dev \ openssl-dev \ perl \ python3 \ py3-setuptools \ python3-dev \ sdl2-dev \ sudo
# Create our user/group RUN echo uboot ALL=NOPASSWD: ALL > /etc/sudoers.d/uboot RUN adduser -D uboot RUN addgroup uboot wheel USERuboot:uboot RUN bash WORKDIR /home/uboot RUN git clonehttps://source.denx.de/u-boot/u-boot.git WORKDIR /home/uboot/u-boot RUN make sandbox_defconfig NO_SDL=1 RUN sed -i 's/CONFIG_ETH_SANDBOX_RAW=y/# CONFIG_ETH_SANDBOX_RAW is not set/g' .config RUN sed -i 's/CONFIG_VIDEO_SANDBOX_SDL=y/# CONFIG_VIDEO_SANDBOX_SDL is not set/g' .config # RUN make -j$(nproc) NO_SDL=1
Did you uncomment this line? I somehow forgot to remove '# '.
Ah, I didn't noticed this in previous run.
Removing comment and run again I got same error as you.