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

Milan P. Stanić mps at arvanta.net
Mon Jan 17 00:11:25 CET 2022


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 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 .").
> > 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 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
> > > 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.

-- 
Best regards


More information about the U-Boot mailing list