[BUG] sandbox: NO_SDL=1 gcc: error: arch/sandbox/cpu/sdl.o: No such file or directory

Heinrich Schuchardt xypron.glpk at gmx.de
Sat Jan 15 19:47:34 CET 2022


On 1/13/22 14:41, Simon Glass wrote:
> Hi Heinrich,
>
> On Mon, 10 Jan 2022 at 16:22, Heinrich Schuchardt <xypron.glpk at 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 .").

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
-------------- next part --------------
# 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.

FROM alpine:3.15.0
MAINTAINER Heinrich Schuchardt <xypron.glpk at 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
USER uboot:uboot
RUN bash
WORKDIR /home/uboot
RUN git clone https://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


More information about the U-Boot mailing list