Jump to content

Requesting assistance compiling MAMEUI


hugesama

Recommended Posts

Greetings,

I spent most of Sunday trying to compile Mame UI, as I wish to make minor changes to the messages it displays... and unfortunately had no luck.

I tried on a win 10 and win 11 machine, same results.

Here are my steps:

1) Download gcc 10-1 from messui.1emulation.com and unzip into a folder
1.5) Add the gcc/bin path to windows environment variables
2) get a mame ui source code package (I've tried many at this point, ranging from 0.220 to current) from github mameui page and unzip to its own folder
3) add a line to the makefile to set where MINGW64 is located (the gcc folder from above)
4) un-remark the PTR64 = 1 line in the makefile
5) run 'make OSD=messui' in the mameui project folder

It seems to make it through generating the .make files successfully, 

then if I un-remark PRECOMPILE=0 I get a failure here:

make -R verbose=1 -C build/projects/windows/mame/gmake-mingw64-gcc config=release64 WINDRES=E:\mingw64/bin/windres precompile
make[1]: Entering directory 'E:/EmuProjectFiles/mameui-master/build/projects/windows/mame/gmake-mingw64-gcc'
mkdir "..\\..\\..\\..\\mingw-gcc\\obj\\x64\\Release" 2> nul || exit 0
mkdir "..\\..\\..\\..\\mingw-gcc\\obj\\x64\\Release\\src\\emu\\drivers" 2> nul || exit 0
Creating ../../../../mingw-gcc/bin/x64/Release
mkdir "..\\..\\..\\..\\mingw-gcc\\bin\\x64\\Release" 2> nul || exit 0
Compiling src/emu/drivers/empty.cpp...
/bin/x86_64-w64-mingw32-g++    -MMD -MP -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_DLL -DPUGIXML_HEADER_ONLY -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_ALL -DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2 -DWIN32 -I"../../../../../src/osd" -I"../../../../../src/emu" -I"../../../../../src/lib/util"  -m64 -std=c++17 -pipe -Werror -O3 -fno-strict-aliasing -Wno-unknown-pragmas -Wall -Wcast-align -Wformat-security -Wundef -Wwrite-strings -Wno-conversion -Wno-sign-compare -Wno-error=deprecated-declarations -Wno-unused-result -Wno-array-bounds -Wno-error=attributes -Wno-stringop-truncation -Wno-stringop-overflow -m64 -std=c++17 -Woverloaded-virtual -Wimplicit-fallthrough -flifetime-dse=1 -Wno-class-memaccess -Wsuggest-override  -o "../../../../mingw-gcc/obj/x64/Release/src/emu/drivers/empty.o" -c "../../../../../src/emu/drivers/empty.cpp"
process_begin: CreateProcess(NULL, sh.yyy -c "/bin/x86_64-w64-mingw32-g++ -MMD -MP -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_DLL -DPUGIXML_HEADER_ONLY -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_ALL -DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2 -DWIN32 -I../../../../../src/osd -I../../../../../src/emu -I../../../../../src/lib/util -m64 -std=c++17 -pipe -Werror -O3 -fno-strict-aliasing -Wno-unknown-pragmas -Wall -Wcast-align -Wformat-security -Wundef -Wwrite-strings -Wno-conversion -Wno-sign-compare -Wno-error=deprecated-declarations -Wno-unused-result -Wno-array-bounds -Wno-error=attributes -Wno-stringop-truncation -Wno-stringop-overflow -m64 -std=c++17 -Woverloaded-virtual -Wimplicit-fallthrough -flifetime-dse=1 -Wno-class-memaccess -Wsuggest-override -o ../../../../mingw-gcc/obj/x64/Release/src/emu/drivers/empty.o -c ../../../../../src/emu/drivers/empty.cpp", ...) failed.
make (e=2): The system cannot find the file specified.
precompile.make:307: recipe for target '../../../../mingw-gcc/obj/x64/Release/src/emu/drivers/empty.o' failed
make[2]: *** [../../../../mingw-gcc/obj/x64/Release/src/emu/drivers/empty.o] Error 2
makefile:97: recipe for target 'precompile' failed
make[1]: *** [precompile] Error 2
make[1]: Leaving directory 'E:/EmuProjectFiles/mameui-master/build/projects/windows/mame/gmake-mingw64-gcc'
makefile:1120: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2

If I leave the precompile declaration remarked, it fails here:

make -R verbose=1 -C build/projects/windows/mame/gmake-mingw64-gcc config=release64 WINDRES=E:\mingw64/bin/windres precompile
make[1]: Entering directory 'E:/EmuProjectFiles/mameui-master/build/projects/windows/mame/gmake-mingw64-gcc'
Precompiling src/emu/emu.h...
/bin/x86_64-w64-mingw32-g++    -MMD -MP -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_DLL -DPUGIXML_HEADER_ONLY -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_ALL -DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2 -DWIN32 -I"../../../../../src/osd" -I"../../../../../src/emu" -I"../../../../../src/lib/util"  -m64 -std=c++17 -pipe -Werror -O3 -fno-strict-aliasing -Wno-unknown-pragmas -Wall -Wcast-align -Wformat-security -Wundef -Wwrite-strings -Wno-conversion -Wno-sign-compare -Wno-error=deprecated-declarations -Wno-unused-result -Wno-array-bounds -Wno-error=attributes -Wno-stringop-truncation -Wno-stringop-overflow -m64 -std=c++17 -Woverloaded-virtual -Wimplicit-fallthrough -flifetime-dse=1 -Wno-class-memaccess -Wsuggest-override -x c++-header -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_DLL -DPUGIXML_HEADER_ONLY -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_ALL -DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2 -DWIN32 -I"../../../../../src/osd" -I"../../../../../src/emu" -I"../../../../../src/lib/util" -o "../../../../mingw-gcc/obj/x64/Release/emu.h.gch" -c "../../../../../src/emu/emu.h"
process_begin: CreateProcess(NULL, sh.yyy -c "/bin/x86_64-w64-mingw32-g++ -MMD -MP -MP -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_DLL -DPUGIXML_HEADER_ONLY -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_ALL -DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2 -DWIN32 -I../../../../../src/osd -I../../../../../src/emu -I../../../../../src/lib/util -m64 -std=c++17 -pipe -Werror -O3 -fno-strict-aliasing -Wno-unknown-pragmas -Wall -Wcast-align -Wformat-security -Wundef -Wwrite-strings -Wno-conversion -Wno-sign-compare -Wno-error=deprecated-declarations -Wno-unused-result -Wno-array-bounds -Wno-error=attributes -Wno-stringop-truncation -Wno-stringop-overflow -m64 -std=c++17 -Woverloaded-virtual -Wimplicit-fallthrough -flifetime-dse=1 -Wno-class-memaccess -Wsuggest-override -x c++-header -DX64_WINDOWS_ABI -DPTR64=1 -DNDEBUG -DCRLF=3 -DLSB_FIRST -DFLAC__NO_DLL -DPUGIXML_HEADER_ONLY -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_ALL -DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2 -DWIN32 -I../../../../../src/osd -I../../../../../src/emu -I../../../../../src/lib/util -o ../../../../mingw-gcc/obj/x64/Release/emu.h.gch -c ../../../../../src/emu/emu.h", ...) failed.
make (e=2): The system cannot find the file specified.
precompile.make:316: recipe for target '../../../../mingw-gcc/obj/x64/Release/emu.h.gch' failed
make[2]: *** [../../../../mingw-gcc/obj/x64/Release/emu.h.gch] Error 2
makefile:97: recipe for target 'precompile' failed
make[1]: *** [precompile] Error 2
make[1]: Leaving directory 'E:/EmuProjectFiles/mameui-master/build/projects/windows/mame/gmake-mingw64-gcc'
makefile:1120: recipe for target 'windows_x64' failed
make: *** [windows_x64] Error 2

Remarking and un-remarking REGENIE was the same results, as well as a slew of different combinations of remarking, unremarking and changing the options presented in the makefile.

If anyone can help me get across the finish line so I can build a running, fully working version of MAMEUI I will donate to a charity of your choice on your behalf.

Thanks.


 

Link to comment
Share on other sites

Quote

The system cannot find the file specified.

I'd say you haven't set up your environment properly.

The suggestion is to be able to compile standard MAME correctly first (ask around other places if necessary), then come back here and try again with the knowledge you've picked up.

Also, don't use MAME from git - use the code from the last release or earlier.

Link to comment
Share on other sites


Alright I'm back, and I successfully got a build down after spending a couple more evenings on this.

Robert, 2 things.

1)  I grabbed the zips from github on the last couple versions, please be aware it looks like xaudio2.h from \3rdparty\compat\mingw is missing (at least when getting them zip style)

2)  I've been using MAME64UI for what feels like over a decade, is there a place I can donate to help support it?  It has brought me a lot of joy over the years.

And... if some fellow newbie comes across this and would like to know what I eventually did that actually worked, here you go, gather round so I can regale my conveniently numbered steps for ye:

1) go to https://www.mamedev.org/tools/ and grab msys64 bundle and unzip it into a folder
2) rename or delete the folder mingw64
3) grab GCC 10.1 from Robert's site: https://messui.1emulation.com/
4) take the mingw64 folder from that package and place it where the msys64 one used to be
5) inside your msys64 folder, run autorebase.bat
6) inside your msys64 folder, run win32env.bat, which gives you a command prompt with the needed paths/bindings/what have you
7) in that command prompt, go to the folder where you unzipped MAMEUI64 source code 
   (I tried version 245 and the latest, since the latest sounded iffy on how MAME is changing, but both worked for me, maybe stick to 245 if things go haywire)
8 ) type this and press enter: make OSD=messui PTR64=1
9) If you get a compiler error that says xaudio2.h is missing, grab it from an older source code collection for MAMEUI or a newer one for MAME itself (for me they were all version 1.6 when I looked in the file), find it in \3rdparty\compat\mingw and copy it to the same location as the code you are attempting to compile

And that's it, good luck out there!  Off to go re-write some popmessage()-s for me.

Edited by hugesama
Link to comment
Share on other sites

Well done in getting it to work.

Yes, the xaudio thing is a recent pain, you either restore from an older release (like you did), or update certain tools (but I can't remember which ones).

There's no need for donations, and soon there will be no point. I don't use paypal or any online payment system, so I'd never get the money anyway.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...