Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07687 Compiling Major Always Jun 26, 2020, 18:19 Jul 6, 2020, 11:01
Tester MrGW View Status Public Platform MAME (Self-compiled)
Assigned To belegdol Resolution Fixed OS Linux (32-bit)
Status [?] Resolved Driver
Version 0.222 Fixed in Version 0.223 Build 32-bit
Summary 07687: Unable to compile MAME 0.222 for ARM processor (Rasbian Buster) - armarchdata_p.h: No such file or directory
Description I get a compile error on Raspbian "Buster" when compiling the latest version of MAME (0.222):

GCC 8 detected
Compiling 3rdparty/asmjit/src/asmjit/core/arch.cpp...
Compiling 3rdparty/asmjit/src/asmjit/core/assembler.cpp...
Compiling 3rdparty/bimg/3rdparty/astc-codec/src/decoder/astc_file.cc...
../../../../../3rdparty/asmjit/src/asmjit/core/arch.cpp:32:12: fatal error: ../arm/armarchdata_p.h: No such file or directory
   #include "../arm/armarchdata_p.h"
            ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [asmjit.make:579: obj/Release/3rdparty/asmjit/src/asmjit/core/arch.o] Error 1
Steps To Reproduce 1. Download MAME source (as per official website instructions:
git clone -b mame0222 --depth 1 https://github.com/mamedev/mame.git mame0222

2. Run the following command from inside the source folder:
make -j3 TOOLS=1 NOWERROR=1

After some time, I get the compiler error:
../../../../../3rdparty/asmjit/src/asmjit/core/arch.cpp:32:12: fatal error: ../arm/armarchdata_p.h: No such file or directory
Additional Information
Flags
Regression Version 0.222
Affected Sets / Systems
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
11
User avatar
No.17768
MrGW
Tester
Jun 26, 2020, 21:55
It looks like ARM support for the asmjit library was not included in this latest Mame source. It was introduced in the last month:

https://github.com/mamedev/mame/pull/6756
User avatar
No.17769
Tafoid
Administrator
Jun 26, 2020, 22:15
It was suggested to me that FORCE_DRC_C_BACKEND=1 might help you compile.
AFAIK, the 0.222 release doesn't even use directly the new 3rdparty library (was reverted before release), but it is in current GIT.
Are you using the proper sources to compile from?
User avatar
No.17770
MrGW
Tester
Jun 27, 2020, 00:51
I am using the official source (I provided the link I used above in the "steps to reproduce" section.

I did a make clean and then added the "FORCE_DRC_C_BACKEND=1" to the useroptions.mak file. I started the compile and it kicked out out the exact same error. Is there some other way to disable that new library? Thanks again for your help. I really would like to get this working again for the Raspberry Pi.
User avatar
No.17771
Tafoid
Administrator
Jun 27, 2020, 01:54
I have no idea, personally. The project distribution head typically tests many different configurations and OS variants - I'm unsure if anything using ARM is on his list though. If you aren't making this but for private usage, try pulling from the master tree and current Git and see if the same happens?
User avatar
No.17772
MrGW
Tester
Jun 27, 2020, 03:55
Pulled from git master -- same error. Frustrating. Is the person(s) who added this new library available to assist? Either a way to add the proper asmjit library for ARM to the Mame source or a working way to bypass?

I have to believe there are existing ARM/Raspberry Pi based projects that will all experience this same issue (RetroPie included).

Thank you for any help you can provide.
User avatar
No.17773
Justin Kerk
Developer
Jun 27, 2020, 04:19
edited on: Jun 27, 2020, 04:20
The asmjit library is not actually used by anything in MAME yet so it's probably good enough to just remove the asmjit line from scripts/src/main.lua that was added at https://github.com/mamedev/mame/commit/45615b7f4b7b50df29dc14bcb74fd13850bb7633#diff-e2f9f53260c8d0c1011892c5f3f481f4
If that doesn't work, removing the additions to 3rdparty.lua as well should do it.
User avatar
No.17775
Justin Kerk
Developer
Jun 27, 2020, 04:26
Also, since this is in 3rdparty code, you should report the issue upstream to the asmjit project: https://github.com/asmjit/asmjit/issues
User avatar
No.17776
MrGW
Tester
Jun 27, 2020, 12:08
Hi Justin --

Using your suggestions allowed MAME to successfully compile on my Raspberry Pi 4. For those reading this issue, I did both items mentioned (not just the first). I may try compiling again, just to verify. In addition, I left the "FORCE_DRC_C_BACKEND=1" directive in my useroptions.mak file. Again, that may be something no longer needed. Thank you both for getting me to this point.

I will report the issue upstream, though it looks like the ARM code (folder structure) for those libraries was just not included within the MAME source. Is that something the asmjit project is responsible for?

Thanks again!
User avatar
No.17777
R. Belmont
Developer
Jun 27, 2020, 13:01
The ARM code for asmjit has not been publicly released on their Github.
User avatar
No.17778
Justin Kerk
Developer
Jun 27, 2020, 19:11
This should be fixed by https://github.com/mamedev/mame/commit/a8bd59055eda6b6656e56e689a8a74f7e835434d
User avatar
No.17780
MrGW
Tester
Jun 27, 2020, 21:53
I really appreciate the quick response from all of you on this issue. Thank you!