Bug 3711

Summary: Mame does not build on arm
Product: Fedora Reporter: Julian Sikorski <belegdol>
Component: mameAssignee: Julian Sikorski <belegdol>
Status: RESOLVED FIXED    
Severity: normal CC: kwizart
Priority: P5    
Version: 22   
Hardware: All   
OS: GNU/Linux   
namespace:
Bug Depends on:    
Bug Blocks: 2407    
Attachments: Updated spec file
patch fixing arm build
patch fixing arm build, v2
patch fixing arm build, v3

Description Julian Sikorski 2015-07-13 19:21:25 CEST
Mame does not build on arm due to explicit use of -m32 switch.
Comment 1 Julian Sikorski 2015-07-13 20:41:27 CEST
Created attachment 1459 [details]
Updated spec file
Comment 2 Julian Sikorski 2015-07-13 20:41:46 CEST
Created attachment 1460 [details]
patch fixing arm build
Comment 3 Julian Sikorski 2015-07-13 20:42:51 CEST
Nicolas,

please may you give the updated spec and patch a try?
Comment 4 Julian Sikorski 2015-07-14 07:37:19 CEST
Created attachment 1461 [details]
patch fixing arm build, v2
Comment 5 Julian Sikorski 2015-07-15 00:17:10 CEST
0.163-3 should no longer fail due to -m32. Whether it builds is another question, I cannot test here as I only have access to qemu. Building mame would take longer than I am willing to wait.
Comment 6 Nicolas Chauvet 2015-07-16 16:16:46 CEST
No, the armfix doesn't work, -m32 is still there.
Comment 7 Nicolas Chauvet 2015-07-16 16:18:38 CEST
You really could assume any iteration of -m32 within the mame build tools to be an error. This flag shoudn't be assumed from the whole build tool perspective or to lead to upstream misstake
Comment 8 Julian Sikorski 2015-07-16 19:55:27 CEST
Created attachment 1462 [details]
patch fixing arm build, v3

My apologies. I forgot to run cvs add on the patch and the one attached to the bug was not working.
Comment 9 Nicolas Chauvet 2015-07-16 20:54:02 CEST
(In reply to comment #8)
> Created attachment 1462 [details]
> patch fixing arm build, v3
You need to find a way to test this patch, I cannot baby sit like this. My time is way more limited than that. Thx for your understanding.
Comment 10 Julian Sikorski 2015-07-16 21:34:44 CEST
I did test it on qemu-emulated arm. No -m32 was added. This is how I discovered the patch v2 does not work. Please see the snippet below. The corrected patch is now added to CVS.

make -R verbose=1 -C build/projects/sdl/ldplayer/gmake-linux config=release
make[2]: Entering directory '/home/julas/cvs/mame/devel/mame-0.163/build/projects/sdl/ldplayer/gmake-linux'
mkdir -p "obj/Release/osd_sdl"
mkdir -p "obj/Release/osd_sdl/src/osd/modules/font"
mkdir -p "obj/Release/osd_sdl/src/osd/modules/debugger/qt"
mkdir -p "obj/Release/osd_sdl/src/osd/modules/sound"
mkdir -p "obj/Release/osd_sdl/generated/osd/modules/debugger/qt"
mkdir -p "obj/Release/osd_sdl/src/osd/modules/midi"
mkdir -p "obj/Release/osd_sdl/src/osd/modules/lib"
mkdir -p "obj/Release/osd_sdl/src/osd/modules/opengl"
mkdir -p "obj/Release/osd_sdl/src/osd/modules/render"
mkdir -p "obj/Release/osd_sdl/src/osd/modules/netdev"
mkdir -p "obj/Release/osd_sdl/src/osd/sdl"
mkdir -p "../../../../generated/osd/modules/debugger/qt"
Compiling src/osd/osdnet.c...
g++    -MMD -MP -DNDEBUG -DCRLF=2 -DLSB_FIRST -DUSE_SYSTEM_JPEGLIB -DUSE_SYSTEM_PORTMIDI -DUSE_SYSTEM_SQLITE -DMAME_NOASM -DLUA_COMPAT_APIINTCASTS -DUSE_NETWORK -DOSD_NET_USE_TAPTUN -D'INI_PATH="/etc/mame;"' -DSDLMAME_X11 -DUSE_XINPUT=0 -DSDLMAME_SDL2=1 -DOSD_SDL -DSYNC_IMPLEMENTATION=tc -DSDLMAME_UNIX -DUSE_OPENGL=1 -DUSE_BGFX -DUSE_QTDEBUG=1 -I/usr/X11/include -I/usr/X11R6/include -I/usr/openwin/include -I../../../../../3rdparty/bgfx/include -I../../../../../3rdparty/bx/include -I../../../../../src/emu -I../../../../../src/osd -I../../../../../src/lib -I../../../../../src/lib/util -I../../../../../src/osd/modules/render -I../../../../../3rdparty -I../../../../../src/osd/sdl  -g --pipe -g1 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wno-deprecated-declarations -O2 -fno-strict-aliasing -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -Wno-unknown-pragmas -Wall -Wcast-align -Wundef -Wformat-security -Wwrite-strings -Wno-sign-compare -Wno-conversion -Wno-unused-result -Wno-narrowing -Wno-attributes -Wno-array-bounds -D__USE_MINGW_ANSI_STDIO=1 -I/usr/include/alsa -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -DQT_SHARED -I/usr/include/QtGui -I/usr/include/QtCore -DINLINE="static inline" -x c++ -std=gnu++98 -Woverloaded-virtual -include /home/julas/cvs/mame/devel/mame-0.163/src/osd/sdl/sdlprefix.h -o "obj/Release/osd_sdl/src/osd/osdnet.o" -MF obj/Release/osd_sdl/src/osd/osdnet.d -c "../../../../../src/osd/osdnet.c"
Comment 11 Nicolas Chauvet 2015-07-16 21:51:29 CEST
okay trying...
Comment 12 Julian Sikorski 2015-07-17 07:35:11 CEST
Koji build is complete, closing.