dev-0x7C6/meta-retro

Error building

febs opened this issue ยท 13 comments

febs commented
 Processing files: retroarch-assets-2021+git0+ee33f8ef69-r0.noarch
| error: File not found: /home/builderuser/retro-build-environment/build/tmp/work/all-poky-linux/retroarch-assets/2021+gitAUTOINC+ee33f8ef69-r0/package/usr/share/retroarch/assets/xmb/daite/png/Nintendo - Wii ?Motion?.png

Other errors related to Wii png assets follow.

this is how it ends.

| DEBUG: Python function do_package_write_rpm finished
ERROR: Task (/home/builderuser/retro-build-environment/layers/meta-retro/recipes-retroarch/retroarch-assets/retroarch-assets.bb:do_package_write_rpm) failed with exit code '1'
NOTE: Tasks Summary: Attempted 4060 tasks of which 0 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/builderuser/retro-build-environment/layers/meta-retro/recipes-retroarch/retroarch-assets/retroarch-assets.bb:do_package_write_rpm
Summary: There were 48 WARNING messages.
Summary: There was 1 ERROR message, returning a non-zero exit code.

Built on an Ubuntu 20.04 Docker image. Commit is cb9ca62ddff4ee0c185a0a3e906696c7ce340b4c

Thank you very much,

This might be same as issue as mention here: #30, there is fix in oe-core/poky for this (master branch), but I'm not sure if this will be back-ported to kirkstone.

Are you using recent changes for master meta-retro?

ok, I'm see cb9ca62ddff4ee0c185a0a3e906696c7ce340b4c

I'll back-port original workaround from other recipe.

Other possible workaround is to switch from "rpm" to "ipk" package backend in local.conf

Thanks for reporting :)

febs commented

Thanks for taking care of this.

Switched to ipk, the process now fails with this:

| /home/builderuser/retro-build-environment/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/kronos-libretro/2021+gitAUTOINC+a387dec043-r1/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/../../libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/11.3.0/ld: cannot find -lGL: No such file or directory
| collect2: error: ld returned 1 exit status
| make: *** [Makefile:318: kronos_libretro.so] Error 1
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
ERROR: Task (/home/builderuser/retro-build-environment/layers/meta-retro/recipes-libretro/kronos-libretro/kronos-libretro_git.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3723 tasks of which 3713 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/builderuser/retro-build-environment/layers/meta-retro/recipes-libretro/kronos-libretro/kronos-libretro_git.bb:do_compile

You may check this for details: https://git.openembedded.org/openembedded-core/commit/?id=9916212b4810280108107d94cd2c0cd3e07ae6ed

Briefly: there is a bug in yocto that have problem with files that contains characters like "[", "]" and issue is rpm specific.

febs commented

Yup, unfortunately with ipk I get the above error and actually it doesn't build with ipk too.

febs commented

BTW, considering I am not into N64 emulation, is there a way to just skip that core and its assets?

also, what distro are you using to build the image? I would try to reproduce your environment. Thank you very much for your support.

You may want to try 8664cab

considering I am not into N64 emulation, is there a way to just skip that core and its assets?

You can select from core collection by overriding LIBRETRO_TARGET_PLATFORMS. Sadly there is no asset separation per platform / core. I'm installing what libretro provides as whole - it's difficult to track emulator / asset relations.

More details: recipes-core/packagegroups/packagegroup-libretro-cores.bb

also, what distro are you using to build the image? I would try to reproduce your environment

Unfortunately I'm using Gentoo Linux. Sharing my configuration would be painful and probably is not worth it.

Yup, unfortunately with ipk I get the above error and actually it doesn't build with ipk too.

You mean missing -lGL, or original problem.

febs commented

Thanks for your reply.

I meant, while using "package_ipk" (or deb for what is worth) failing for "missing -lGL", despite the libraries are definitely there.

By using "package_rpm" I got the parsing square brackets [ error.

With 8664cab I get the same GL error. BTW, for some reason if I "git pull" the head of master keeps being cb9ca62ddf, same if I clone from scratch. I had to apply the commit manually, or to delete the files triggering the bug.

BTW, for some reason if I "git pull" the head of master keeps being cb9ca62ddf

Probably this is because of submodule sub-tree, those by default do not track origin and set specific commit rather than branch (unfortunately this is how it is)

For specific layer you may want to use:
cd layer/meta-retro
git fetch --all
git reset --hard origin/master

Or update to latest (all layers, specific branches are set in .gitmodules)
cd retro-build-env...
git submodule update --remote

This should reset all layers to default state:
cd retro-build-env...
git submodule update --init

With 8664cab I get the same GL error.

I'll try to reproduce, for time being you may want to remove manually this kronos core from: layers/meta-retro/recipes-packagegroups/groups/packagegroup-libretro-saturn.bb. We might see if this is only issue.

febs commented

Removed kronos, it is moving forward!

I can provide the Dockerfile I am using if that might be helpful in reproducing the issue.

febs commented

Removing kronos allowed the process to finish and build retro-image-full-raspberrypi4-20220908085816.rootfs.wic.bz2

!

Ok, I'll try to fix it soon.

febs commented

FWIW, if it may help:

FROM ubuntu:20.04

RUN apt-get update

# TO DEBUG STUFF
RUN apt-get install vim -y

# TIMEZONE
RUN apt-get install -yq tzdata && \
    ln -fs /usr/share/zoneinfo/Europe/Rome /etc/localtime && \
    dpkg-reconfigure -f noninteractive tzdata

# en_US-UTF-8 must be the locale or bitbake would complain
RUN apt-get install -y locales
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
    locale-gen
ENV LC_ALL en_US.UTF-8 
ENV LANG en_US.UTF-8  
ENV LANGUAGE en_US:en   

RUN apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm python3-subunit mesa-common-dev zstd liblz4-tool -y

# creating an unprivileged user
RUN adduser  --disabled-password --gecos "" builderuser
USER builderuser
WORKDIR /home/builderuser

RUN git clone --recursive https://github.com/dev-0x7C6/retro-build-environment.git

ENTRYPOINT ["/bin/bash"]