Page 1 of 1

Semi-annual Fedora build problems

Posted: Mon Jul 05, 2010 7:33 pm
by MeddlingMonk
New Fedora version recently, so that means trouble building Exult. This one is a little strange because there's no actual error. Just unexpected behavior.

What happens is that when I try to build, the last output to come up is:

libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../files -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DXWIN -O2 -Wno-long-long -g -O2 -MT scale_hq3x.lo -MD -MP -MF .deps/scale_hq3x.Tpo -c scale_hq3x.cc -o scale_hq3x.o

and then it just stops. No more lines of text appear and the hard drive becomes continuously active. The computer grows increasingly sluggish if I just let it run and eventually just have to quit terminal. Otherwise, the computer will become unresponsive and I have to force a reboot.

New releases of Fedora are sometimes a little flaky because it always uses the latest-available of everything, but there have been lots of bug-fixes and other updates since release. And, anyway, ScummVM compiles just fine, HQ3x scaler and all (which I'm using as the default scaler).

Maybe the issue is libtool, for all I know. Fedora 13 uses libtool 2.2.6b.

Re: Semi-annual Fedora build problems

Posted: Tue Jul 06, 2010 12:23 am
by marzo
What GCC it uses?

Re: Semi-annual Fedora build problems

Posted: Tue Jul 06, 2010 10:37 pm
by MeddlingMonk
I knew there would be something I'd leave out.

GCC is 4.4.4.

Re: Semi-annual Fedora build problems

Posted: Wed Jul 07, 2010 3:53 am
by marzo
It is quite probable that GCC 4.4.4 has a regression regarding template-code generation then: the 'libtool: compile' line is just saying that libtool is invoking GCC for compilation, and it (GCC) is getting stuck on the compilation of scale_hq3x.cc. Out of curiosity: in the ScummVM build, is USE_NASM being defined? I am betting it is, which would make ScummVM use the assembly version of HQ3x and dodge the C++ code.

Re: Semi-annual Fedora build problems

Posted: Wed Jul 07, 2010 11:19 pm
by MeddlingMonk
I'm not sure if I'm able to answer that question. But let's see if I can give you what you are after anyway.

Looking at ScummVM's configure file, I can find the lines

add_to_config_h_if_yes $_nasm '#define USE_NASM'
add_to_config_mk_if_yes $_nasm 'USE_NASM = 1'

After running configure and looking at config.h, I don't find any line reading simply "#define USE_NASM" at all. It does appear in a line reading "/* #define USE_NASM */" but I think that means it's not defined (because that's how lines regarding big endianness and x86 are formatted, and I have Fedora running on an 64-bit little endian machine).

In config.mk, I have a line reading "# USE_NASM = 1" which looks the same as the always disabled mpeg2 option.

To a non-coder like me, it looks like nasm is not defined but maybe I'm understanding that backwards. If I've given you what you need, great. If not, maybe you know a better place to look in the source code.