You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
$ x86_64-w64-mingw32-g++-posix --version
x86_64-w64-mingw32-g++-posix (GCC) 12-posix
$ x86_64-w64-mingw32-ld --version
GNU ld (GNU Binutils) 2.40
$ x86_64-w64-mingw32-ar --version
GNU ar (GNU Binutils) 2.40
$ dpkg -l | grep -i mingw-w64-x86-64
ii binutils-mingw-w64-x86-64 2.40-2+10.4 amd64 Cross-binutils for Win64 (x64) using MinGW-w64
ii g++-mingw-w64-x86-64 12.2.0-14+25.2 all GNU C++ compiler for MinGW-w64 targeting Win64
ii g++-mingw-w64-x86-64-posix 12.2.0-14+25.2 amd64 GNU C++ compiler for MinGW-w64, Win64/POSIX
ii g++-mingw-w64-x86-64-win32 12.2.0-14+25.2 amd64 GNU C++ compiler for MinGW-w64, Win64/Win32
ii gcc-mingw-w64-x86-64 12.2.0-14+25.2 all GNU C compiler for MinGW-w64 targeting Win64
ii gcc-mingw-w64-x86-64-posix 12.2.0-14+25.2 amd64 GNU C compiler for MinGW-w64, Win64/POSIX
ii gcc-mingw-w64-x86-64-posix-runtime 12.2.0-14+25.2 amd64 GNU Compiler Collection for MinGW-w64, x86-64/POSIX
ii gcc-mingw-w64-x86-64-win32 12.2.0-14+25.2 amd64 GNU C compiler for MinGW-w64, Win64/Win32
ii gcc-mingw-w64-x86-64-win32-runtime 12.2.0-14+25.2 amd64 GNU Compiler Collection for MinGW-w64, x86-64/Win32
ii mingw-w64-x86-64-dev 10.0.0-3 all Development files for MinGW-w64 targeting Win64
$ cat /etc/debian_version
12.5
But now, new issues arise:
When compilation reaches src/emu/ files, CPU (4 cores / make -j5) and memory usage are at the maximum, reaching 7.7GB out of total 8 available, and compiling the emumem* source files takes a couple minutes each. This becomes problematic, as I planned on compiling on a 3GB tmpfs ramdisk. I am using an SSD, and the rest of the project compiles at normal speed, just specifically emumem* files as I was watching htop.
It eventually gets through compiling, and gets to the archiving / ar stage... and then the process takes a few minutes, and errors with no output:
If the compile errors out and you don't see the error, that means it happened further back. Try compiling again without -j and it will stop where the error is.
Beyond that, we strongly recommend having at least 16 GB of RAM to compile MAME. And I'm really curious what your use case is for cross compiling for Windows in the first place given perfectly good Windows binaries are available at mamedev.org.
Thanks, I feel foolish... I deleted 3rdparty/bgfx/examples assuming it'd be unused (140MB of textures shaders), but there's a few imgui source files in there that bgfx depends on... compiling singlethreaded showed the error.
I'm really curious what your use case is
I had a few negative experiences trying to set up a MSYS2 build environment (see: mamedev/buildtools#7) so I decided to use my Linux build server. It compiled and linked just fine now at least, so I may try to see if there's a cleaner way to fix the wsl include issue and contribute that.
Trying to compile 0.262 on Debian 12 (x64 host) for Windows x64 with these makefile options:
Here are my compiler and package versions:
I was faced with various issues stemming from bgfx, it's directx-headers dependency and Win32 API functions. I tracked down the problematic PR to #10789 and was able to cross-compile 0.251 (the last tagged release before it was merged) just fine with the same build options.
I was able to fix the problem by commenting out these include "include/wsl/stubs" lines:
https://github.com/mamedev/mame/blob/mame0262/scripts/src/3rdparty.lua#L1491C64-L1491C67
https://github.com/mamedev/mame/blob/mame0262/3rdparty/bgfx/scripts/bgfx.lua#L114
But now, new issues arise:
When compilation reaches src/emu/ files, CPU (4 cores / make -j5) and memory usage are at the maximum, reaching 7.7GB out of total 8 available, and compiling the emumem* source files takes a couple minutes each. This becomes problematic, as I planned on compiling on a 3GB tmpfs ramdisk. I am using an SSD, and the rest of the project compiles at normal speed, just specifically emumem* files as I was watching htop.
It eventually gets through compiling, and gets to the archiving / ar stage... and then the process takes a few minutes, and errors with no output:
(these issues did not occur while compiling 0.251)
The text was updated successfully, but these errors were encountered: