Alter Makefile to force 32-bit compile
authorH.G.Muller <hgm@hgm-xboard.(none)>
Mon, 28 Apr 2014 11:38:57 +0000 (13:38 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Mon, 28 Apr 2014 11:38:57 +0000 (13:38 +0200)
The code is not 64-bit compliant, and crashes when run as 64-bit compile.
The first such crash already occurs when initializing, and could be traced
to a vasprintf in fopen_p. Presumably the list of variable arguments
cannot handle it that pointers and ints are not the same size.
Rather than trying to fix this (and leaving an unknown number of potential
other problems), we stick to 32-bit.

lasker-2.2.3/src/Makefile.in

index 61a1292..4a96ee3 100644 (file)
@@ -37,12 +37,12 @@ DYNEXP=-rdynamic
 ##
 ##  Binaries and Options to use
 ##
-CFLAGS += $(PICFLAG) -Wall @CFLAGS@ -DTDB_STANDALONE ${CHESSD_CFLAGS} -I${srcdir} -I${srcdir}/tdb
+CFLAGS += $(PICFLAG) -m32 -Wall @CFLAGS@ -DTDB_STANDALONE ${CHESSD_CFLAGS} -I${srcdir} -I${srcdir}/tdb
 
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 LIBS = @LIBS@ -lm 
-LNFLAGS = @LDFLAGS@ ${LIBS}
+LNFLAGS = @LDFLAGS@ -m32 ${LIBS}
 CHESSDDIR = ${PREFIX}/chessd
 
 TDB_SRC = tdb/tdb.c tdb/spinlock.c
@@ -73,13 +73,13 @@ chessd: .autoheaders ficsmain.o
        $(CC) $(DYNEXP) $(CFLAGS) $(LNFLAGS) -o chessd ficsmain.o $(LIBS)
 
 chessd.so: .autoheaders $(OBJS)
-       $(CC) -shared -o chessd.so $(OBJS)
+       $(CC) -m32 -shared -o chessd.so $(OBJS)
 
 chessd_addplayer: .autoheaders fics_addplayer.o $(OBJS) 
-       $(CC) fics_addplayer.o $(CFLAGS) $(OBJS) $(LNFLAGS) -o chessd_addplayer $(LIBS)
+       $(CC) -m32 fics_addplayer.o $(CFLAGS) $(OBJS) $(LNFLAGS) -o chessd_addplayer $(LIBS)
 
 makerank: .autoheaders makerank.o 
-       $(CC) makerank.o $(OBJS) -o makerank $(LIBS)
+       $(CC) -m32 makerank.o $(OBJS) -o makerank $(LIBS)
 
 vers.c:
        ${VERSION}