mame_raspberrypi_cross_compile icon indicating copy to clipboard operation
mame_raspberrypi_cross_compile copied to clipboard

Logging a few issues i have encountered putting this project into Docker (base debian bullseye)

Open sairuk opened this issue 2 years ago • 2 comments

still trying to get a successful build out of this just wanted to log the issues as i go

setup info

  • Dockerfile pulling debian:latest (bullseye atm)
  • Base env installs prereqs into Docker image via apt
  • a script generate_env.sh takes over and enables deb-src repos, installs mame build-dep and runs both build_crosstool-ng.sh and download_libs.sh and then copies the build_mame_*.sh scripts to /usr/local/bin (image is now built)
  • at runtime the container will then look for a file build-script in a volume which will set MAMECOMPILECORES and call the build_mame_*.sh scripts as defined

issues

  • ccache is required by the build_mame_*.sh scripts but not installed as part of prereqs
  • if the mame build fails an incomplete archive will still be created, add a check for successful return value before building the archive
  • crosstool-ng build runs into this error for binutils but seems to only affect rpi2 stuff
INFO ]  =================================================================
[INFO ]  Installing binutils for host
[EXTRA]    Configuring binutils
[EXTRA]    Building binutils
[ERROR]    /tmp/tmp.F3JC6ZNvTi/setup/build/ctng_rpi2_buster_armhf/.build/armv7-rpi2-linux-gnueabihf/src/binutils/gold/x86_64.cc:1590:5: error: narrowing conversion of 'elfcpp::GNU_PROPERTY_LOPROC' from 'unsigned int' to 'int' [-Wnarrowing]
[ERROR]    /tmp/tmp.F3JC6ZNvTi/setup/build/ctng_rpi2_buster_armhf/.build/armv7-rpi2-linux-gnueabihf/src/binutils/gold/x86_64.cc:1591:5: error: narrowing conversion of 'elfcpp::GNU_PROPERTY_X86_ISA_1_NEEDED' from 'unsigned int' to 'int' [-Wnarrowing]
[ERROR]    /tmp/tmp.F3JC6ZNvTi/setup/build/ctng_rpi2_buster_armhf/.build/armv7-rpi2-linux-gnueabihf/src/binutils/gold/x86_64.cc:1592:5: error: narrowing conversion of 'elfcpp::GNU_PROPERTY_X86_FEATURE_1_AND' from 'unsigned int' to 'int' [-Wnarrowing]
[ERROR]    /tmp/tmp.F3JC6ZNvTi/setup/build/ctng_rpi2_buster_armhf/.build/armv7-rpi2-linux-gnueabihf/src/binutils/gold/x86_64.cc:1611:5: error: narrowing conversion of 'elfcpp::GNU_PROPERTY_LOPROC' from 'unsigned int' to 'int' [-Wnarrowing]
[ERROR]    /tmp/tmp.F3JC6ZNvTi/setup/build/ctng_rpi2_buster_armhf/.build/armv7-rpi2-linux-gnueabihf/src/binutils/gold/x86_64.cc:1614:5: error: narrowing conversion of 'elfcpp::GNU_PROPERTY_X86_ISA_1_NEEDED' from 'unsigned int' to 'int' [-Wnarrowing]
[ERROR]    /tmp/tmp.F3JC6ZNvTi/setup/build/ctng_rpi2_buster_armhf/.build/armv7-rpi2-linux-gnueabihf/src/binutils/gold/x86_64.cc:1617:5: error: narrowing conversion of 'elfcpp::GNU_PROPERTY_X86_FEATURE_1_AND' from 'unsigned int' to 'int' [-Wnarrowing]
[ERROR]    /tmp/tmp.F3JC6ZNvTi/setup/build/ctng_rpi2_buster_armhf/.build/armv7-rpi2-linux-gnueabihf/src/binutils/gold/x86_64.cc:1590:5: error: narrowing conversion of 'elfcpp::GNU_PROPERTY_LOPROC' from 'unsigned int' to 'int' [-Wnarrowing]
[ERROR]    /tmp/tmp.F3JC6ZNvTi/setup/build/ctng_rpi2_buster_armhf/.build/armv7-rpi2-linux-gnueabihf/src/binutils/gold/x86_64.cc:1591:5: error: narrowing conversion of 'elfcpp::GNU_PROPERTY_X86_ISA_1_NEEDED' from 'unsigned int' to 'int' [-Wnarrowing]
[ERROR]    /tmp/tmp.F3JC6ZNvTi/setup/build/ctng_rpi2_buster_armhf/.build/armv7-rpi2-linux-gnueabihf/src/binutils/gold/x86_64.cc:1592:5: error: narrowing conversion of 'elfcpp::GNU_PROPERTY_X86_FEATURE_1_AND' from 'unsigned int' to 'int' [-Wnarrowing]
[ERROR]    /tmp/tmp.F3JC6ZNvTi/setup/build/ctng_rpi2_buster_armhf/.build/armv7-rpi2-linux-gnueabihf/src/binutils/gold/x86_64.cc:1611:5: error: narrowing conversion of 'elfcpp::GNU_PROPERTY_LOPROC' from 'unsigned int' to 'int' [-Wnarrowing]
[ERROR]    /tmp/tmp.F3JC6ZNvTi/setup/build/ctng_rpi2_buster_armhf/.build/armv7-rpi2-linux-gnueabihf/src/binutils/gold/x86_64.cc:1614:5: error: narrowing conversion of 'elfcpp::GNU_PROPERTY_X86_ISA_1_NEEDED' from 'unsigned int' to 'int' [-Wnarrowing]
[ERROR]    /tmp/tmp.F3JC6ZNvTi/setup/build/ctng_rpi2_buster_armhf/.build/armv7-rpi2-linux-gnueabihf/src/binutils/gold/x86_64.cc:1617:5: error: narrowing conversion of 'elfcpp::GNU_PROPERTY_X86_FEATURE_1_AND' from 'unsigned int' to 'int' [-Wnarrowing]
[ERROR]    make[5]: *** [Makefile:1123: x86_64.o] Error 1
[ERROR]    make[5]: *** Waiting for unfinished jobs....
[ERROR]    make[4]: *** [Makefile:1146: all-recursive] Error 1
[ERROR]    make[3]: *** [Makefile:886: all] Error 2
[ERROR]    make[2]: *** [Makefile:6045: all-gold] Error 2
[ERROR]    make[1]: *** [Makefile:850: all] Error 2
[ERROR]   
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Installing binutils for host'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@376]
[ERROR]  >>        called from: do_binutils_backend[scripts/build/binutils/binutils.sh@212]
[ERROR]  >>        called from: do_binutils_for_host[scripts/build/binutils/binutils.sh@70]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@697]
[ERROR]  >>
[ERROR]  >>  For more info on this error, look at the file: 'build.log'
[ERROR]  >>  There is a list of known issues, some with workarounds, in:
[ERROR]  >>      https://crosstool-ng.github.io/docs/known-issues/
[ERROR]  >>
[ERROR]  >>  If you feel this is a bug in crosstool-NG, report it at:
[ERROR]  >>      https://github.com/crosstool-ng/crosstool-ng/issues/
[ERROR]  >>
[ERROR]  >>  Make sure your report includes all the information pertinent to this issue.
[ERROR]  >>  Read the bug reporting guidelines here:
[ERROR]  >>      http://crosstool-ng.github.io/support/
[ERROR]   
[ERROR]  (elapsed: 4:29.89)
[04:30] / gmake: *** [/tmp/tmp.F3JC6ZNvTi/setup/build/ct-ng/bin/ct-ng:261: build] Error 2
__START__ download of RPi packages for architecture: armhf

sairuk avatar Jan 01 '23 21:01 sairuk

Added ccache to install_prereqs.sh.

Did a big dive into the ct-ng stuff for Bullseye today, but need to re-do the process for the RPi2 Buster stuff. Post ct-ng version 1.25.0 there are some big changes upstream, so I need to cap the version I'm using to 1.25.0.

danmons avatar Jan 14 '23 06:01 danmons

Lots of changes made today - total rewrite of the tools and scripts.

Initial tests have Debian 11 Bullseye and Debian 12 Bookworm builds working for 32bit and 64bit.

I'm using Apptainer as my container. I'll get the container definition file uploaded soon. Hopefully it can give some hints for Docker users.

danmons avatar Jul 07 '24 22:07 danmons