libretro / mame2016-libretro

Late 2016 version of MAME (0.174) for libretro. Compatible with MAME 0.174 sets.
Other
32 stars 40 forks source link

SYMBOLS=1 build fails on Windows under MINGW64 environment #39

Open c0d3h4x0r opened 4 years ago

c0d3h4x0r commented 4 years ago

Build command used: make -f Makefile.libretro -j8 SYMBOLS=1

Resulting failure:

Linking mame2016_libretro.dll...
g++ -o ../../../../../mame2016_libretro.dll ../../../../gmake/libretro/obj/x64/libretro/src/osd/retro/retromain.o ../../../../gmake/libretro/obj/x64/libretro/src/osd/retro/libretro.o ../../../../gmake/libretro/obj/x64/libretro/src/mame/mame.o ../../../../gmake/libretro/obj/x64/libretro/src/version.o ../../../../gmake/libretro/obj/x64/libretro/generated/mame/mame/drivlist.o  ../../../../gmake/libretro/obj/x64/libretro/mame.res    -L. -L../../../../gmake/libretro/release/mame_mame -L../../../../gmake/libretro/release -shared -Wl,--out-implib="../../../../../mame2016_libretro.dll" -m64 -static-libgcc -static-libstdc++ -static -shared  -Wl,--version-script=C:/msys64/src/mame2016-libretro/src/osd/retro/link.T -Wl,--no-undefined ../../../../gmake/libretro/release/mame_mame/libacorn.a ../../../../gmake/libretro/release/mame_mame/libalba.a ../../../../gmake/libretro/release/mame_mame/liballiedl.a ../../../../gmake/libretro/release/mame_mame/libalpha.a ../../../../gmake/libretro/release/mame_mame/libamiga.a ../../../../gmake/libretro/release/mame_mame/libaristocr.a ../../../../gmake/libretro/release/mame_mame/libascii.a ../../../../gmake/libretro/release/mame_mame/libatari.a ../../../../gmake/libretro/release/mame_mame/libatlus.a ../../../../gmake/libretro/release/mame_mame/libbarcrest.a ../../../../gmake/libretro/release/mame_mame/libbfm.a ../../../../gmake/libretro/release/mame_mame/libbmc.a ../../../../gmake/libretro/release/mame_mame/libcapcom.a ../../../../gmake/libretro/release/mame_mame/libcinemat.a ../../../../gmake/libretro/release/mame_mame/libcomad.a ../../../../gmake/libretro/release/mame_mame/libcvs.a ../../../../gmake/libretro/release/mame_mame/libdataeast.a ../../../../gmake/libretro/release/mame_mame/libdgrm.a ../../../../gmake/libretro/release/mame_mame/libdooyong.a ../../../../gmake/libretro/release/mame_mame/libdynax.a ../../../../gmake/libretro/release/mame_mame/libedevices.a ../../../../gmake/libretro/release/mame_mame/libeolith.a ../../../../gmake/libretro/release/mame_mame/libexcelent.a ../../../../gmake/libretro/release/mame_mame/libexidy.a ../../../../gmake/libretro/release/mame_mame/libf32.a ../../../../gmake/libretro/release/mame_mame/libfunworld.a ../../../../gmake/libretro/release/mame_mame/libfuuki.a ../../../../gmake/libretro/release/mame_mame/libgaelco.a ../../../../gmake/libretro/release/mame_mame/libgameplan.a ../../../../gmake/libretro/release/mame_mame/libgametron.a ../../../../gmake/libretro/release/mame_mame/libgottlieb.a ../../../../gmake/libretro/release/mame_mame/libibmpc.a ../../../../gmake/libretro/release/mame_mame/libigs.a ../../../../gmake/libretro/release/mame_mame/libirem.a ../../../../gmake/libretro/release/mame_mame/libitech.a ../../../../gmake/libretro/release/mame_mame/libjaleco.a ../../../../gmake/libretro/release/mame_mame/libjpm.a ../../../../gmake/libretro/release/mame_mame/libkaneko.a ../../../../gmake/libretro/release/mame_mame/libkonami.a ../../../../gmake/libretro/release/mame_mame/libmatic.a ../../../../gmake/libretro/release/mame_mame/libmaygay.a ../../../../gmake/libretro/release/mame_mame/libmeadows.a ../../../../gmake/libretro/release/mame_mame/libmerit.a ../../../../gmake/libretro/release/mame_mame/libmetro.a ../../../../gmake/libretro/release/mame_mame/libmidcoin.a ../../../../gmake/libretro/release/mame_mame/libmidw8080.a ../../../../gmake/libretro/release/mame_mame/libmidway.a ../../../../gmake/libretro/release/mame_mame/libnamco.a ../../../../gmake/libretro/release/mame_mame/libnasco.a ../../../../gmake/libretro/release/mame_mame/libneogeo.a ../../../../gmake/libretro/release/mame_mame/libnichibut.a ../../../../gmake/libretro/release/mame_mame/libnintendo.a ../../../../gmake/libretro/release/mame_mame/libnix.a ../../../../gmake/libretro/release/mame_mame/libnmk.a ../../../../gmake/libretro/release/mame_mame/libomori.a ../../../../gmake/libretro/release/mame_mame/libolympia.a ../../../../gmake/libretro/release/mame_mame/liborca.a ../../../../gmake/libretro/release/mame_mame/libpacific.a ../../../../gmake/libretro/release/mame_mame/libpacman.a ../../../../gmake/libretro/release/mame_mame/libpce.a ../../../../gmake/libretro/release/mame_mame/libphoenix.a ../../../../gmake/libretro/release/mame_mame/libplaymark.a ../../../../gmake/libretro/release/mame_mame/libpsikyo.a ../../../../gmake/libretro/release/mame_mame/libramtek.a ../../../../gmake/libretro/release/mame_mame/librare.a ../../../../gmake/libretro/release/mame_mame/libsanritsu.a ../../../../gmake/libretro/release/mame_mame/libsega.a ../../../../gmake/libretro/release/mame_mame/libseibu.a ../../../../gmake/libretro/release/mame_mame/libseta.a ../../../../gmake/libretro/release/mame_mame/libsigma.a ../../../../gmake/libretro/release/mame_mame/libsnk.a ../../../../gmake/libretro/release/mame_mame/libsony.a ../../../../gmake/libretro/release/mame_mame/libstern.a ../../../../gmake/libretro/release/mame_mame/libsubsino.a ../../../../gmake/libretro/release/mame_mame/libsun.a ../../../../gmake/libretro/release/mame_mame/libsuna.a ../../../../gmake/libretro/release/mame_mame/libsure.a ../../../../gmake/libretro/release/mame_mame/libtaito.a ../../../../gmake/libretro/release/mame_mame/libtatsumi.a ../../../../gmake/libretro/release/mame_mame/libtch.a ../../../../gmake/libretro/release/mame_mame/libtecfri.a ../../../../gmake/libretro/release/mame_mame/libtechnos.a ../../../../gmake/libretro/release/mame_mame/libtehkan.a ../../../../gmake/libretro/release/mame_mame/libthepit.a ../../../../gmake/libretro/release/mame_mame/libtoaplan.a ../../../../gmake/libretro/release/mame_mame/libtong.a ../../../../gmake/libretro/release/mame_mame/libunico.a ../../../../gmake/libretro/release/mame_mame/libunivers.a ../../../../gmake/libretro/release/mame_mame/libupl.a ../../../../gmake/libretro/release/mame_mame/libvaladon.a ../../../../gmake/libretro/release/mame_mame/libveltmjr.a ../../../../gmake/libretro/release/mame_mame/libventure.a ../../../../gmake/libretro/release/mame_mame/libvsystem.a ../../../../gmake/libretro/release/mame_mame/libyunsung.a ../../../../gmake/libretro/release/mame_mame/libzaccaria.a ../../../../gmake/libretro/release/mame_mame/libmisc.a ../../../../gmake/libretro/release/mame_mame/libpinball.a ../../../../gmake/libretro/release/mame_mame/libshared.a ../../../../gmake/libretro/release/mame_mame/libact.a ../../../../gmake/libretro/release/mame_mame/libadc.a ../../../../gmake/libretro/release/mame_mame/libalesis.a ../../../../gmake/libretro/release/mame_mame/libaltos.a ../../../../gmake/libretro/release/mame_mame/libamstrad.a ../../../../gmake/libretro/release/mame_mame/libapf.a ../../../../gmake/libretro/release/mame_mame/libapollo.a ../../../../gmake/libretro/release/mame_mame/libapple.a ../../../../gmake/libretro/release/mame_mame/libapplied.a ../../../../gmake/libretro/release/mame_mame/libarcadia.a ../../../../gmake/libretro/release/mame_mame/libat.a ../../../../gmake/libretro/release/mame_mame/libatt.a ../../../../gmake/libretro/release/mame_mame/libbally.a ../../../../gmake/libretro/release/mame_mame/libbandai.a ../../../../gmake/libretro/release/mame_mame/libbanctec.a ../../../../gmake/libretro/release/mame_mame/libbe.a ../../../../gmake/libretro/release/mame_mame/libbnpo.a ../../../../gmake/libretro/release/mame_mame/libbondwell.a ../../../../gmake/libretro/release/mame_mame/libbooth.a ../../../../gmake/libretro/release/mame_mame/libcamputers.a ../../../../gmake/libretro/release/mame_mame/libcanon.a ../../../../gmake/libretro/release/mame_mame/libcantab.a ../../../../gmake/libretro/release/mame_mame/libcasio.a ../../../../gmake/libretro/release/mame_mame/libcbm.a ../../../../gmake/libretro/release/mame_mame/libcccp.a ../../../../gmake/libretro/release/mame_mame/libcce.a ../../../../gmake/libretro/release/mame_mame/libccs.a ../../../../gmake/libretro/release/mame_mame/libchromatics.a ../../../../gmake/libretro/release/mame_mame/libcoleco.a ../../../../gmake/libretro/release/mame_mame/libcromemco.a ../../../../gmake/libretro/release/mame_mame/libcomx.a ../../../../gmake/libretro/release/mame_mame/libconcept.a ../../../../gmake/libretro/release/mame_mame/libconitec.a ../../../../gmake/libretro/release/mame_mame/libcybiko.a ../../../../gmake/libretro/release/mame_mame/libdai.a ../../../../gmake/libretro/release/mame_mame/libddr.a ../../../../gmake/libretro/release/mame_mame/libdec.a ../../../../gmake/libretro/release/mame_mame/libdicksmth.a ../../../../gmake/libretro/release/mame_mame/libdms.a ../../../../gmake/libretro/release/mame_mame/libdragon.a ../../../../gmake/libretro/release/mame_mame/libdrc.a ../../../../gmake/libretro/release/mame_mame/libeaca.a ../../../../gmake/libretro/release/mame_mame/libeinis.a ../../../../gmake/libretro/release/mame_mame/libelektor.a ../../../../gmake/libretro/release/mame_mame/libelektrka.a ../../../../gmake/libretro/release/mame_mame/libensoniq.a ../../../../gmake/libretro/release/mame_mame/libenterprise.a ../../../../gmake/libretro/release/mame_mame/libentex.a ../../../../gmake/libretro/release/mame_mame/libepoch.a ../../../../gmake/libretro/release/mame_mame/libepson.a ../../../../gmake/libretro/release/mame_mame/libfairch.a ../../../../gmake/libretro/release/mame_mame/libfidelity.a ../../../../gmake/libretro/release/mame_mame/libforce.a ../../../../gmake/libretro/release/mame_mame/libfujitsu.a ../../../../gmake/libretro/release/mame_mame/libfuntech.a ../../../../gmake/libretro/release/mame_mame/libgalaxy.a ../../../../gmake/libretro/release/mame_mame/libgamepark.a ../../../../gmake/libretro/release/mame_mame/libgi.a ../../../../gmake/libretro/release/mame_mame/libgrundy.a ../../../../gmake/libretro/release/mame_mame/libhartung.a ../../../../gmake/libretro/release/mame_mame/libheathkit.a ../../../../gmake/libretro/release/mame_mame/libhec2hrp.a ../../../../gmake/libretro/release/mame_mame/libhegener.a ../../../../gmake/libretro/release/mame_mame/libheurikon.a ../../../../gmake/libretro/release/mame_mame/libhitachi.a ../../../../gmake/libretro/release/mame_mame/libhomebrew.a ../../../../gmake/libretro/release/mame_mame/libhomelab.a ../../../../gmake/libretro/release/mame_mame/libhp.a ../../../../gmake/libretro/release/mame_mame/libimp.a ../../../../gmake/libretro/release/mame_mame/libintel.a ../../../../gmake/libretro/release/mame_mame/libinterton.a ../../../../gmake/libretro/release/mame_mame/libintv.a ../../../../gmake/libretro/release/mame_mame/libisc.a ../../../../gmake/libretro/release/mame_mame/libkaypro.a ../../../../gmake/libretro/release/mame_mame/libkoei.a ../../../../gmake/libretro/release/mame_mame/libkyocera.a ../../../../gmake/libretro/release/mame_mame/libluxor.a ../../../../gmake/libretro/release/mame_mame/libmagnavox.a ../../../../gmake/libretro/release/mame_mame/libmakerbot.a ../../../../gmake/libretro/release/mame_mame/libmarx.a ../../../../gmake/libretro/release/mame_mame/libmatsushi.a ../../../../gmake/libretro/release/mame_mame/libmattel.a ../../../../gmake/libretro/release/mame_mame/libmb.a ../../../../gmake/libretro/release/mame_mame/libmchester.a ../../../../gmake/libretro/release/mame_mame/libmemotech.a ../../../../gmake/libretro/release/mame_mame/libmgu.a ../../../../gmake/libretro/release/mame_mame/libmicrokey.a ../../../../gmake/libretro/release/mame_mame/libmicrosoft.a ../../../../gmake/libretro/release/mame_mame/libmit.a ../../../../gmake/libretro/release/mame_mame/libmits.a ../../../../gmake/libretro/release/mame_mame/libmitsubishi.a ../../../../gmake/libretro/release/mame_mame/libmizar.a ../../../../gmake/libretro/release/mame_mame/libmorrow.a ../../../../gmake/libretro/release/mame_mame/libmos.a ../../../../gmake/libretro/release/mame_mame/libmotorola.a ../../../../gmake/libretro/release/mame_mame/libmultitch.a ../../../../gmake/libretro/release/mame_mame/libnakajima.a ../../../../gmake/libretro/release/mame_mame/libnascom.a ../../../../gmake/libretro/release/mame_mame/libne.a ../../../../gmake/libretro/release/mame_mame/libnec.a ../../../../gmake/libretro/release/mame_mame/libnetronic.a ../../../../gmake/libretro/release/mame_mame/libnext.a ../../../../gmake/libretro/release/mame_mame/libnokia.a ../../../../gmake/libretro/release/mame_mame/libnorthstar.a ../../../../gmake/libretro/release/mame_mame/libnovag.a ../../../../gmake/libretro/release/mame_mame/libns.a ../../../../gmake/libretro/release/mame_mame/libolivetti.a ../../../../gmake/libretro/release/mame_mame/libomnibyte.a ../../../../gmake/libretro/release/mame_mame/liborion.a ../../../../gmake/libretro/release/mame_mame/libosborne.a ../../../../gmake/libretro/release/mame_mame/libosi.a ../../../../gmake/libretro/release/mame_mame/libpalm.a ../../../../gmake/libretro/release/mame_mame/libparker.a ../../../../gmake/libretro/release/mame_mame/libpc.a ../../../../gmake/libretro/release/mame_mame/libpdp1.a ../../../../gmake/libretro/release/mame_mame/libpel.a ../../../../gmake/libretro/release/mame_mame/libphilips.a ../../../../gmake/libretro/release/mame_mame/libpitronic.a ../../../../gmake/libretro/release/mame_mame/libpoly88.a ../../../../gmake/libretro/release/mame_mame/libpsion.a ../../../../gmake/libretro/release/mame_mame/libradio.a ../../../../gmake/libretro/release/mame_mame/librca.a ../../../../gmake/libretro/release/mame_mame/libregnecentralen.a ../../../../gmake/libretro/release/mame_mame/libritam.a ../../../../gmake/libretro/release/mame_mame/librm.a ../../../../gmake/libretro/release/mame_mame/librobotron.a ../../../../gmake/libretro/release/mame_mame/librockwell.a ../../../../gmake/libretro/release/mame_mame/libroland.a ../../../../gmake/libretro/release/mame_mame/librolm.a ../../../../gmake/libretro/release/mame_mame/libsage.a ../../../../gmake/libretro/release/mame_mame/libsamcoupe.a ../../../../gmake/libretro/release/mame_mame/libsamsung.a ../../../../gmake/libretro/release/mame_mame/libsanyo.a ../../../../gmake/libretro/release/mame_mame/libsaturn.a ../../../../gmake/libretro/release/mame_mame/libsequential.a ../../../../gmake/libretro/release/mame_mame/libsgi.a ../../../../gmake/libretro/release/mame_mame/libsharp.a ../../../../gmake/libretro/release/mame_mame/libsiemens.a ../../../../gmake/libretro/release/mame_mame/libsinclair.a ../../../../gmake/libretro/release/mame_mame/libskeleton.a ../../../../gmake/libretro/release/mame_mame/libslicer.a ../../../../gmake/libretro/release/mame_mame/libsord.a ../../../../gmake/libretro/release/mame_mame/libspecial.a ../../../../gmake/libretro/release/mame_mame/libsvi.a ../../../../gmake/libretro/release/mame_mame/libsvision.a ../../../../gmake/libretro/release/mame_mame/libswtpc09.a ../../../../gmake/libretro/release/mame_mame/libsynertec.a ../../../../gmake/libretro/release/mame_mame/libta.a ../../../../gmake/libretro/release/mame_mame/libtandberg.a ../../../../gmake/libretro/release/mame_mame/libtangerin.a ../../../../gmake/libretro/release/mame_mame/libtatung.a ../../../../gmake/libretro/release/mame_mame/libteamconc.a ../../../../gmake/libretro/release/mame_mame/libtektroni.a ../../../../gmake/libretro/release/mame_mame/libtelenova.a ../../../../gmake/libretro/release/mame_mame/libtelercas.a ../../../../gmake/libretro/release/mame_mame/libtelevideo.a ../../../../gmake/libretro/release/mame_mame/libtem.a ../../../../gmake/libretro/release/mame_mame/libtesla.a ../../../../gmake/libretro/release/mame_mame/libtest.a ../../../../gmake/libretro/release/mame_mame/libthomson.a ../../../../gmake/libretro/release/mame_mame/libti.a ../../../../gmake/libretro/release/mame_mame/libtiger.a ../../../../gmake/libretro/release/mame_mame/libtigertel.a ../../../../gmake/libretro/release/mame_mame/libtiki.a ../../../../gmake/libretro/release/mame_mame/libtomy.a ../../../../gmake/libretro/release/mame_mame/libtoshiba.a ../../../../gmake/libretro/release/mame_mame/libtrainer.a ../../../../gmake/libretro/release/mame_mame/libtrs.a ../../../../gmake/libretro/release/mame_mame/libultimachine.a ../../../../gmake/libretro/release/mame_mame/libultratec.a ../../../../gmake/libretro/release/mame_mame/libunisonic.a ../../../../gmake/libretro/release/mame_mame/libunisys.a ../../../../gmake/libretro/release/mame_mame/libusp.a ../../../../gmake/libretro/release/mame_mame/libveb.a ../../../../gmake/libretro/release/mame_mame/libvidbrain.a ../../../../gmake/libretro/release/mame_mame/libvideoton.a ../../../../gmake/libretro/release/mame_mame/libvisual.a ../../../../gmake/libretro/release/mame_mame/libvotrax.a ../../../../gmake/libretro/release/mame_mame/libvtech.a ../../../../gmake/libretro/release/mame_mame/libwang.a ../../../../gmake/libretro/release/mame_mame/libwavemate.a ../../../../gmake/libretro/release/mame_mame/libxerox.a ../../../../gmake/libretro/release/mame_mame/libxussrpc.a ../../../../gmake/libretro/release/mame_mame/libyamaha.a ../../../../gmake/libretro/release/mame_mame/libzenith.a ../../../../gmake/libretro/release/mame_mame/libzpa.a ../../../../gmake/libretro/release/mame_mame/libzvt.a ../../../../gmake/libretro/release/mame_mame/libmessshared.a ../../../../gmake/libretro/release/libosd_retro.a ../../../../gmake/libretro/release/libfrontend.a ../../../../gmake/libretro/release/libnetlist.a ../../../../gmake/libretro/release/mame_mame/liboptional.a ../../../../gmake/libretro/release/libemu.a ../../../../gmake/libretro/release/libformats.a ../../../../gmake/libretro/release/mame_mame/libdasm.a ../../../../gmake/libretro/release/libutils.a ../../../../gmake/libretro/release/libexpat.a ../../../../gmake/libretro/release/libsoftfloat.a ../../../../gmake/libretro/release/libjpeg.a ../../../../gmake/libretro/release/lib7z.a ../../../../gmake/libretro/release/liblua.a ../../../../gmake/libretro/release/liblualibs.a ../../../../gmake/libretro/release/libuv.a ../../../../gmake/libretro/release/libhttp-parser.a ../../../../gmake/libretro/release/libzlib.a ../../../../gmake/libretro/release/libflac.a ../../../../gmake/libretro/release/libsqlite3.a ../../../../gmake/libretro/release/libocore_retro.a -luser32 -lwinmm -ladvapi32 -lshlwapi -lwsock32 -lws2_32 -lpsapi -liphlpapi -lshell32 -luserenv
Running post-build commands
echo Dumping symbols.
Dumping symbols.
objdump --section=.text --line-numbers --syms --demangle ../../../../../mame2016_libretro.dll >../../../../../mame2016_libretro.dll
objdump: section '.text' mentioned in a -j option, but not found in any input file
mame2016.make:485: recipe for target '../../../../../mame2016_libretro.dll' failed
make[3]: *** [../../../../../mame2016_libretro.dll] Error 1
makefile:940: recipe for target 'mame2016' failed
make[2]: *** [mame2016] Error 2
make[2]: Leaving directory 'C:/msys64/src/mame2016-libretro/build/projects/retro/mame/gmake-mingw64-gcc'
makefile:930: recipe for target 'windows_x64' failed
make[1]: *** [windows_x64] Error 2
make[1]: Leaving directory 'C:/msys64/src/mame2016-libretro'
Makefile.libretro:197: recipe for target 'build' failed
make: *** [build] Error 2
c0d3h4x0r commented 4 years ago

Looks like this is at least partly due to a bad assumption in this line in main.lua:

"$(SILENT) objdump --section=.text --line-numbers --syms --demangle $(TARGET) >$(subst .exe,.sym,$(TARGET))"

In this case, the binary being built is a .dll, not a .exe, so the subst command is wrong. This causes the objdump command to overwrite mame2016_libretro.dll with itself, corrupting/destroying the binary.

c0d3h4x0r commented 4 years ago

Confirmed: replacing .exe with .dll on that line resolved the problem.