This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
mspacman:pi [2013/10/03 03:07] ben |
mspacman:pi [2013/10/03 05:21] ben |
||
---|---|---|---|
Line 667: | Line 667: | ||
########################################################################### | ########################################################################### | ||
</code> | </code> | ||
+ | |||
+ | Commented out the DRVLIBS entries in ldplayer.mak. | ||
+ | <code> | ||
+ | pi@pi ~/src/sdlmame0136 $ find obj/ -name ld* | ||
+ | obj/sdl/mame/emu/machine/ldcore.o | ||
+ | pi@pi ~/src/sdlmame0136 $ rm obj/sdl/mame/emu/machine/ldcore.o | ||
+ | pi@pi ~/src/sdlmame0136 $ make | ||
+ | Linking mame... | ||
+ | [same ld errors] | ||
+ | pi@pi ~/src/sdlmame0136 $ rm obj/sdl/mame/libemu.a | ||
+ | pi@pi ~/src/sdlmame0136 $ make | ||
+ | Linking mame... | ||
+ | obj/sdl/mame/libemu.a(ui.o): In function `slider_overyoffset': | ||
+ | ui.c:(.text+0x11c): undefined reference to `laserdisc_get_config' | ||
+ | ui.c:(.text+0x148): undefined reference to `laserdisc_set_config' | ||
+ | obj/sdl/mame/libemu.a(ui.o): In function `slider_overyscale': | ||
+ | ui.c:(.text+0x1cc): undefined reference to `laserdisc_get_config' | ||
+ | ui.c:(.text+0x1f8): undefined reference to `laserdisc_set_config' | ||
+ | obj/sdl/mame/libemu.a(ui.o): In function `slider_overxoffset': | ||
+ | ui.c:(.text+0x27c): undefined reference to `laserdisc_get_config' | ||
+ | ui.c:(.text+0x2a8): undefined reference to `laserdisc_set_config' | ||
+ | obj/sdl/mame/libemu.a(ui.o): In function `slider_overxscale': | ||
+ | ui.c:(.text+0x32c): undefined reference to `laserdisc_get_config' | ||
+ | ui.c:(.text+0x358): undefined reference to `laserdisc_set_config' | ||
+ | obj/sdl/mame/libemu.a(ui.o): In function `ui_display_startup_screens': | ||
+ | ui.c:(.text+0x33a8): undefined reference to `device_get_info_laserdisc' | ||
+ | ui.c:(.text+0x3e3c): undefined reference to `device_get_info_laserdisc' | ||
+ | obj/sdl/mame/libsound.a(ay8910.o): In function `ay8910_start_ym': | ||
+ | ay8910.c:(.text+0xa3c): undefined reference to `devcb_resolve_read8' | ||
+ | ay8910.c:(.text+0xa4c): undefined reference to `devcb_resolve_read8' | ||
+ | ay8910.c:(.text+0xa5c): undefined reference to `devcb_resolve_write8' | ||
+ | ay8910.c:(.text+0xa6c): undefined reference to `devcb_resolve_write8' | ||
+ | collect2: ld returned 1 exit status | ||
+ | make: *** [mame] Error 1 | ||
+ | |||
+ | pi@pi ~/src/sdlmame0136 $ find obj/ -name \*ui\* | ||
+ | obj/sdl/mame/emu/ui.o | ||
+ | obj/sdl/mame/emu/uigfx.o | ||
+ | obj/sdl/mame/emu/uismall.fh | ||
+ | obj/sdl/mame/emu/uimenu.o | ||
+ | obj/sdl/mame/emu/uiinput.o | ||
+ | obj/sdl/mame/build | ||
+ | |||
+ | pi@pi ~/src/sdlmame0136 $ rm obj/sdl/mame/emu/ui*.o | ||
+ | |||
+ | </code> | ||
+ | |||
+ | Same result. Tired of guessing, make clean, build again knowing ldplayer.mak has nothing in it. | ||
+ | |||
+ | The issue with undefined references in ay8910 should be in devcb.o, which IS getting built. Strange. Also the longest build part is "voodoo.c" which is some 3dfx card that I don't need, so commenting it out of emu.mak for the future. | ||
+ | |||
+ | Ldcore.o still causing problems, uncommented it in emu.mak: | ||
+ | <code> | ||
+ | ldcore.c:(.text+0x3d0): undefined reference to `pr8210_interface' | ||
+ | ldcore.c:(.text+0x3d4): undefined reference to `simutrek_interface' | ||
+ | ldcore.c:(.text+0x3d8): undefined reference to `ldv1000_interface' | ||
+ | ldcore.c:(.text+0x3dc): undefined reference to `vp931_interface' | ||
+ | </code> | ||
+ | |||
+ | Uncommented the laserdisc stuff in emu.mak: | ||
+ | <code> | ||
+ | pi@pi ~/src/sdlmame0136 $ make | ||
+ | Compiling src/emu/machine/ldpr8210.c... | ||
+ | Compiling src/emu/machine/ldv1000.c... | ||
+ | Compiling src/emu/machine/ldvp931.c... | ||
+ | Archiving obj/sdl/mame/libemu.a... | ||
+ | Compiling src/version.c... | ||
+ | Linking mame... | ||
+ | obj/sdl/mame/libemu.a(ldpr8210.o):(.rodata+0x2c8): undefined reference to `cpu_get_info_i8748' | ||
+ | obj/sdl/mame/libemu.a(ldpr8210.o):(.rodata+0x330): undefined reference to `cpu_get_info_i8049' | ||
+ | obj/sdl/mame/libemu.a(ldv1000.o):(.rodata+0xd4): undefined reference to `device_get_info_ppi8255' | ||
+ | obj/sdl/mame/libemu.a(ldv1000.o):(.rodata+0xec): undefined reference to `device_get_info_ppi8255' | ||
+ | obj/sdl/mame/libemu.a(ldv1000.o):(.rodata+0x174): undefined reference to `ppi8255_r' | ||
+ | obj/sdl/mame/libemu.a(ldv1000.o):(.rodata+0x17c): undefined reference to `ppi8255_w' | ||
+ | obj/sdl/mame/libemu.a(ldv1000.o):(.rodata+0x1a0): undefined reference to `ppi8255_r' | ||
+ | obj/sdl/mame/libemu.a(ldv1000.o):(.rodata+0x1a8): undefined reference to `ppi8255_w' | ||
+ | obj/sdl/mame/libemu.a(ldvp931.o):(.rodata+0x98): undefined reference to `cpu_get_info_i8049' | ||
+ | collect2: ld returned 1 exit status | ||
+ | make: *** [mame] Error 1 | ||
+ | </code> | ||
+ | |||
+ | Instead of adding more CPUs etc to likely get more failed dependencies, commenting out all laser disc related stuff in ui.c, hopefully we won't need that. | ||
+ | |||
+ | <code> | ||
+ | pi@pi ~/src/sdlmame0136 $ make | ||
+ | Compiling src/emu/ui.c... | ||
+ | src/emu/ui.c:114:14: warning: ‘slider_overxscale’ declared ‘static’ but never defined [-Wunused-function] | ||
+ | src/emu/ui.c:115:14: warning: ‘slider_overyscale’ declared ‘static’ but never defined [-Wunused-function] | ||
+ | src/emu/ui.c:116:14: warning: ‘slider_overxoffset’ declared ‘static’ but never defined [-Wunused-function] | ||
+ | src/emu/ui.c:117:14: warning: ‘slider_overyoffset’ declared ‘static’ but never defined [-Wunused-function] | ||
+ | Archiving obj/sdl/mame/libemu.a... | ||
+ | Compiling src/version.c... | ||
+ | Linking mame... | ||
+ | obj/sdl/mame/libsound.a(ay8910.o): In function `ay8910_start_ym': | ||
+ | ay8910.c:(.text+0xa3c): undefined reference to `devcb_resolve_read8' | ||
+ | ay8910.c:(.text+0xa4c): undefined reference to `devcb_resolve_read8' | ||
+ | ay8910.c:(.text+0xa5c): undefined reference to `devcb_resolve_write8' | ||
+ | ay8910.c:(.text+0xa6c): undefined reference to `devcb_resolve_write8' | ||
+ | collect2: ld returned 1 exit status | ||
+ | make: *** [mame] Error 1 | ||
+ | </code> | ||
+ | |||
+ | Checked and the includes look good for devcb.h, added it explicitly anyway to ay8910.c, no change. | ||
+ | |||
+ | Commented out the four lines, which will likely mean something very important is broken. | ||
+ | |||
+ | Commened out unidasm.o from tools.mak, since that has tons of references to various CPUs. | ||
+ | |||
+ | And finally a binary is born: | ||
+ | <code> | ||
+ | obj/sdl/mame/tools/unidasm.o:(.rodata+0x75c): undefined reference to `cpu_disassemble_z180' | ||
+ | obj/sdl/mame/tools/unidasm.o:(.rodata+0x77c): undefined reference to `cpu_disassemble_z8' | ||
+ | collect2: ld returned 1 exit status | ||
+ | make: *** [unidasm] Error 1 | ||
+ | pi@pi ~/src/sdlmame0136 $ vi src/tools/ | ||
+ | chdcd.c chdman.c ldresample.c regrep.c runtest.cmd src2html.c tools.mak | ||
+ | chdcd.h jedutil.c ldverify.c romcmp.c split.c srcclean.c unidasm.c | ||
+ | pi@pi ~/src/sdlmame0136 $ vi src/tools/tools.mak | ||
+ | pi@pi ~/src/sdlmame0136 $ make | ||
+ | Compiling src/tools/ldresample.c... | ||
+ | Linking ldresample... | ||
+ | Compiling src/tools/ldverify.c... | ||
+ | Linking ldverify... | ||
+ | Compiling src/tools/regrep.c... | ||
+ | Linking regrep... | ||
+ | Compiling src/tools/srcclean.c... | ||
+ | Linking srcclean... | ||
+ | Compiling src/tools/src2html.c... | ||
+ | Linking src2html... | ||
+ | Compiling src/tools/split.c... | ||
+ | src/tools/split.c: In function ‘split_file’: | ||
+ | src/tools/split.c:101:9: warning: variable ‘totalparts’ set but not used [-Wunused-but-set-variable] | ||
+ | src/tools/split.c: In function ‘main’: | ||
+ | src/tools/split.c:421:6: warning: variable ‘result’ set but not used [-Wunused-but-set-variable] | ||
+ | Linking split... | ||
+ | pi@pi ~/src/sdlmame0136 $ ls | ||
+ | artwork chdman diff ini keymaps ldverify mame obj romcmp runtest split src2html testkeys | ||
+ | cfg comments docs jedutil ldresample makefile nvram regrep roms SDLMAME.txt src srcclean ui.bdf | ||
+ | pi@pi ~/src/sdlmame0136 $ ./mame | ||
+ | Loading BDF font... (256 characters loaded) | ||
+ | Loading BDF font... (512 characters loaded) | ||
+ | Loading BDF font... (768 characters loaded) | ||
+ | Loading BDF font... (1024 characters loaded) | ||
+ | Loading BDF font... (1280 characters loaded) | ||
+ | Loading BDF font... (1536 characters loaded) | ||
+ | Generating cached BDF font... | ||
+ | Could not initialize SDL Unable to open a console terminal | ||
+ | |||
+ | </code> | ||
+ | |||
+ | Went looking to see if there might be a compiler issue with the undefined references, running "gcc version 4.6.3 (Debian 4.6.3-14+rpi1)", there's a 4.7 version available, installing it via ''sudo apt-get install gcc-4.7''. |