libretro / mame2015-libretro

Late 2014/Early 2015 version of MAME (0.160-ish) for libretro. Compatible with MAME 0.160 sets.
17 stars 36 forks source link

(buildbot) armhf linux build failure #63

Closed orbea closed 4 years ago

orbea commented 6 years ago

The buildbot is failing for linux armhf for mame2014, mess2014 and ume2014. Both mame2014 and mess2014 were last updated over a year ago and ume2014 is currently missing from the buildbot.

They all fail during linking with this error.

Linking mame2014_libretro.so
arm-linux-gnueabihf-g++  -fPIC -shared -Wl,--version-script=src/osd/retro/link.T -Wl,--no-undefined  obj/version.o obj/mame/mame.o obj/mame/mame/drivlist.o obj/mame/acorn.a obj/mame/alba.a obj/mame/alliedl.a obj/mame/alpha.a obj/mame/amiga.a obj/mame/aristocr.a obj/mame/ascii.a obj/mame/atari.a obj/mame/atlus.a obj/mame/barcrest.a obj/mame/bfm.a obj/mame/bmc.a obj/mame/capcom.a obj/mame/cinemat.a obj/mame/comad.a obj/mame/cvs.a obj/mame/dataeast.a obj/mame/dgrm.a obj/mame/dooyong.a obj/mame/dynax.a obj/mame/edevices.a obj/mame/eolith.a obj/mame/excelent.a obj/mame/exidy.a obj/mame/f32.a obj/mame/funworld.a obj/mame/fuuki.a obj/mame/gaelco.a obj/mame/gameplan.a obj/mame/gametron.a obj/mame/gottlieb.a obj/mame/ibmpc.a obj/mame/igs.a obj/mame/irem.a obj/mame/itech.a obj/mame/jaleco.a obj/mame/jpm.a obj/mame/kaneko.a obj/mame/konami.a obj/mame/matic.a obj/mame/maygay.a obj/mame/meadows.a obj/mame/merit.a obj/mame/metro.a obj/mame/midcoin.a obj/mame/midw8080.a obj/mame/midway.a obj/mame/namco.a obj/mame/nasco.a obj/mame/neogeo.a obj/mame/nichibut.a obj/mame/nintendo.a obj/mame/nix.a obj/mame/nmk.a obj/mame/omori.a obj/mame/olympia.a obj/mame/orca.a obj/mame/pacific.a obj/mame/pacman.a obj/mame/pce.a obj/mame/phoenix.a obj/mame/playmark.a obj/mame/psikyo.a obj/mame/ramtek.a obj/mame/rare.a obj/mame/sanritsu.a obj/mame/sega.a obj/mame/seibu.a obj/mame/seta.a obj/mame/sigma.a obj/mame/snk.a obj/mame/sony.a obj/mame/stern.a obj/mame/subsino.a obj/mame/sun.a obj/mame/suna.a obj/mame/sure.a obj/mame/taito.a obj/mame/tatsumi.a obj/mame/tch.a obj/mame/tecfri.a obj/mame/technos.a obj/mame/tehkan.a obj/mame/thepit.a obj/mame/toaplan.a obj/mame/tong.a obj/mame/unico.a obj/mame/univers.a obj/mame/upl.a obj/mame/valadon.a obj/mame/veltmjr.a obj/mame/venture.a obj/mame/vsystem.a obj/mame/yunsung.a obj/mame/zaccaria.a obj/mame/misc.a obj/mame/pinball.a obj/mame/shared.a obj/osd/retro/libretro.o obj/osd/retro/retromain.o obj/osd/modules/midi/none.o obj/mame/mame/libbus.a obj/mame/mame/liboptional.a obj/libemu.a obj/mame/mame/libdasm.a obj/libutil.a obj/libexpat.a obj/libsoftfloat.a obj/libjpeg.a obj/libflac.a obj/lib7z.a obj/libformats.a obj/libz.a obj/libocore.a  -lstdc++ -lpthread -ldl -lpthread -o mame2014_libretro.so
obj/libexpat.a: error adding symbols: File format not recognized
collect2: error: ld returned 1 exit status
Makefile:909: recipe for target 'mame2014' failed
make: *** [mame2014] Error 1

See http://p.0bl.net/120209

I can not test this locally, can someone fix this for the buildbot or instruct me what build options this platform needs for successful compilation?

Also see these two PRs. https://github.com/libretro/libretro-super/pull/652 https://github.com/libretro/libretro-super/pull/654

r-type commented 6 years ago

It clear that libexpat propably other are not correctly linking (probably link with host ar instead target ar)

orbea commented 6 years ago

Do you have any suggestions on what can be done? Unfortunately without the hardware I can't do much more than blindly test...

r-type commented 6 years ago

I can try a.crossbuild later and test it to my pi3 . I wll tell more after

orbea commented 6 years ago

Thanks! It would be very much appreciated if I could get help making sure the recipe is right after my changes to the buildbot script.

r-type commented 6 years ago

first look https://github.com/libretro/libretro-super/blob/6c22939158d525475e36d2c64f30ae9f21b42c47/recipes/linux/cores-linux-armhf-generic.conf should add AR AR arm-linux-gnueabihf-ar https://github.com/libretro/mame2014-libretro/blob/master/Makefile#L142 AR ?= $(AR)

else

REALCC ?= gcc bad! maybe change REALCC ?= $(GCC)

and see how it goes after this two changes

orbea commented 6 years ago

Thanks for the advice, I think I'm going to try fixing travis first so that it can test any changes. For that I need this to be merged. https://github.com/libretro/libretro-super/pull/662