danmons / mame_raspberrypi_cross_compile Goto Github PK
View Code? Open in Web Editor NEWMAME Cross Compile Environment
License: GNU General Public License v3.0
MAME Cross Compile Environment
License: GNU General Public License v3.0
Hi.
Even though there already exists a file defining the dependencies for bookworm, no crosstool-ng config exists for bookworm aarch64. Are there any plans to add support for targeting bookworm aarch64?
Thanks.
Hello,
I successfully installed and got running the cross-compiler, downloaded the RPiOS libraries and tried to build both the 64 bit version and the 32 bit version of mame on Ubuntu 20.04 under a virtualbox machine.
The 64 bit version compiles ok but when I run the mame (0.265) executable on my RPI 4 I get the error: required file is missing (I am running the 64 bit OS version on my raspberry pi 4).
On the other hand, trying to compile the 32 bit version I get all mame sources compiled, but when the mame executable is linking I get this error:
home/osboxes/x-tools/armv8-rpi4-linux-gnueabihf/lib/gcc/armv8-rpi4-linux-gnueabihf/10.4.0/../../../../armv8-rpi4-linux-gnueabihf/bin/ld.bfd: BFD (crosstool-NG 1.25.0) 2.35.1 assertion fail /home/osboxes/mame_raspberrypi_cross_compile/build/ctng_rpi_armhf/.build/armv8-rpi4-linux-gnueabihf/src/binutils/bfd/elf32-arm.c:9876
/home/osboxes/x-tools/armv8-rpi4-linux-gnueabihf/lib/gcc/armv8-rpi4-linux-gnueabihf/10.4.0/../../../../armv8-rpi4-linux-gnueabihf/bin/ld.bfd: BFD (crosstool-NG 1.25.0) 2.35.1 assertion fail /home/osboxes/mame_raspberrypi_cross_compile/build/ctng_rpi_armhf/.build/armv8-rpi4-linux-gnueabihf/src/binutils/bfd/elf32-arm.c:9876
/home/osboxes/x-tools/armv8-rpi4-linux-gnueabihf/lib/gcc/armv8-rpi4-linux-gnueabihf/10.4.0/../../../../armv8-rpi4-linux-gnueabihf/bin/ld.bfd: BFD (crosstool-NG 1.25.0) 2.35.1 assertion fail /home/osboxes/mame_raspberrypi_cross_compile/build/ctng_rpi_armhf/.build/armv8-rpi4-linux-gnueabihf/src/binutils/bfd/elf32-arm.c:9876
/home/osboxes/x-tools/armv8-rpi4-linux-gnueabihf/lib/gcc/armv8-rpi4-linux-gnueabihf/10.4.0/../../../../armv8-rpi4-linux-gnueabihf/bin/ld.bfd: BFD (crosstool-NG 1.25.0) 2.35.1 assertion fail /home/osboxes/mame_raspberrypi_cross_compile/build/ctng_rpi_armhf/.build/armv8-rpi4-linux-gnueabihf/src/binutils/bfd/elf32-arm.c:9876
/home/osboxes/x-tools/armv8-rpi4-linux-gnueabihf/lib/gcc/armv8-rpi4-linux-gnueabihf/10.4.0/../../../../armv8-rpi4-linux-gnueabihf/bin/ld.bfd: BFD (crosstool-NG 1.25.0) 2.35.1 assertion fail /home/osboxes/mame_raspberrypi_cross_compile/build/ctng_rpi_armhf/.build/armv8-rpi4-linux-gnueabihf/src/binutils/bfd/elf32-arm.c:9876
/home/osboxes/x-tools/armv8-rpi4-linux-gnueabihf/lib/gcc/armv8-rpi4-linux-gnueabihf/10.4.0/../../../../armv8-rpi4-linux-gnueabihf/bin/ld.bfd: BFD (crosstool-NG 1.25.0) 2.35.1 assertion fail /home/osboxes/mame_raspberrypi_cross_compile/build/ctng_rpi_armhf/.build/armv8-rpi4-linux-gnueabihf/src/binutils/bfd/elf32-arm.c:9876
collect2: error: ld returned 1 exit status
make[2]: *** [mame.make:269: ../../../../../mame] Error 1
make[1]: *** [Makefile:1123: mame] Error 2
make: *** [makefile:1300: linux] Error 2
Compressing...
I also downloaded the precompiled 64 bit version but it gives the same error as above. Not tried the 32 bit version because mame 0.265 is not there.
Any clue about my errors?
Specs:
Rpi 4 2gb
Bullseye 32bit
RetroPie-Setup from source
SDL2 2.0.20 (seems that they reverted back to 2.0.10)
currently FKMS
Hey,
first off thanks of for this project it made it really easy to cross compile mame and save a lot of time. After pushing the 7z to my pi I got an error trying to start mame:
Could not initialize x11 not found.
It works fine when I'm in the GUI (startx) but it won't run from the terminal. Is it an SDL2 issue?
Glad for any tip you have :)
Running ./build_crosstool-ng.sh
on a clean Debian Bullseye system gives:
configure.ac:4: error: Autoconf version 2.71 or higher is required
Modifying build_crosstool-ng.sh to check out the tag crosstool-ng-1.25.0
instead of always git pull
ing to HEAD allows the crosstool-ng build to continue.
I won't raise a separate bug but I also needed to bump the zlib version to 1.2.13 (in the ./crosstool-ng/ctng_config_rpi* files) to be able to download it from www.zlib.net. The Sourceforge mirror only goes up to 1.2.11.
still trying to get a successful build out of this just wanted to log the issues as i go
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)build-script
in a volume which will set MAMECOMPILECORES
and call the build_mame_*.sh
scripts as definedccache
is required by the build_mame_*.sh
scripts but not installed as part of prereqsINFO ] =================================================================
[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
In order to fix this script to dowload and extract deb files correctly i had to change this:
wget -c "${DEBMIRROR}/pool/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1_all.deb"
to:
wget -c "${DEBMIRROR}/pool/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1+deb11u1_all.deb"
and:
dpkg -x "debian-archive-keyring_2021.1.1_all.deb" ./
to:
dpkg -x "debian-archive-keyring_2021.1.1+deb11u1_all.deb" ./
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.