stevenaaus wrote:Hmmm... I coudn't find any instructions about compiling.
Trying the new 32 bit binaries i get
/lib/libc.so.6: version `GLIBC_2.7' not found
And "make IvanHoe" gives
Code: Select all
gcc -g -O3 -fstrict-aliasing -fomit-frame-pointer -fno-exceptions -Wall -I../include/ -Dx86_64 -DVERSION=\"999946f-RobboLib\" -DEPONYM=\"IvanHoe\" -DCON_ROBBO_BUILD -DCHESS_960 -DYUSUF_MULTICORE -DBENCHMARK -DMODE_GAME_PLAY -o utility.o -c utility.c
In file included from ../include/RobboLito.h:175,
from utility.c:1:
../include/arrays.h:33: warning: integer constant is too large for ‘long’ type
../include/arrays.h:33: warning: integer constant is too large for ‘long’ type
../include/arrays.h:34: warning: integer constant is too large for ‘long’ type
../include/arrays.h:34: warning: integer constant is too large for ‘long’ type
../include/arrays.h:47: warning: integer constant is too large for ‘long’ type
../include/arrays.h:47: warning: integer constant is too large for ‘long’ type
../include/arrays.h:48: warning: integer constant is too large for ‘long’ type
../include/arrays.h:48: warning: integer constant is too large for ‘long’ type
../include/arrays.h:49: warning: integer constant is too large for ‘long’ type
../include/arrays.h:49: warning: integer constant is too large for ‘long’ type
../include/arrays.h:50: warning: integer constant is too large for ‘long’ type
../include/arrays.h:50: warning: integer constant is too large for ‘long’ type
../include/arrays.h:133: warning: integer constant is too large for ‘long’ type
../include/arrays.h:134: warning: integer constant is too large for ‘long’ type
../include/arrays.h:135: warning: integer constant is too large for ‘long’ type
../include/arrays.h:136: warning: integer constant is too large for ‘long’ type
../include/arrays.h:137: warning: integer constant is too large for ‘long’ type
../include/arrays.h:138: warning: integer constant is too large for ‘long’ type
../include/arrays.h:139: warning: integer constant is too large for ‘long’ type
../include/arrays.h:140: warning: integer constant is too large for ‘long’ type
../include/arrays.h:141: warning: integer constant is too large for ‘long’ type
../include/arrays.h:142: warning: integer constant is too large for ‘long’ type
../include/arrays.h:143: warning: integer constant is too large for ‘long’ type
../include/arrays.h:144: warning: integer constant is too large for ‘long’ type
../include/arrays.h:147: warning: integer constant is too large for ‘long’ type
../include/arrays.h:148: warning: integer constant is too large for ‘long’ type
../include/arrays.h:149: warning: integer constant is too large for ‘long’ type
../include/arrays.h:150: warning: integer constant is too large for ‘long’ type
../include/arrays.h:155: warning: integer constant is too large for ‘long’ type
../include/arrays.h:156: warning: integer constant is too large for ‘long’ type
../include/arrays.h:157: warning: integer constant is too large for ‘long’ type
utility.c: In function ‘InitBitboards’:
utility.c:150: warning: integer constant is too large for ‘long’ type
utility.c:192: warning: integer constant is too large for ‘long’ type
utility.c:195: warning: integer constant is too large for ‘long’ type
utility.c:79: warning: unused variable ‘b’
/tmp/ccmSy009.s: Assembler messages:
/tmp/ccmSy009.s:2006: Error: suffix or operands invalid for `bsf'
/tmp/ccmSy009.s:2024: Error: suffix or operands invalid for `bsf'
make[1]: *** [utility.o] Error 1
There are a few issues. With regards to not being able to run 32-bit build in the archive, you may need to do an update to your system. What is the output of
ldd --version? Mine looks like this:
Code: Select all
ldd (GNU libc) 2.14.1
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
Building errors you see is, one, you are trying to build x86_64 source with 32-bit compiler. You need to make the necessary adjustment in the Makefile [IvanHoeSource]. Second, it appears the developers probably only do their testings in 64-bit OS, so another error you see with bsf is due to:
Code: Select all
static int BSF (uint64 w)
{
uint64 x;
asm ("bsfq %1,%0\n": "=&r" (x):"r" (w));
return x;
}
change it to [RobboBaseLibTester.c]:
Code: Select all
static int BSF (uint64 w)
{
int x1, x2;
asm ("bsf %0,%0\n" "jnz 1f\n" "bsf %1,%0\n" "jz 1f\n" "addl $32,%0\n" "1:":
"=&q" (x1), "=&q" (x2):
"1" ((int) (w >> 32)), "0" ((int) w));
return x1;
}
Another approach is to remove "TESTING_SOURCES = RobboBaseLibTester.c" from the Makefile [RobboBaseLib-0.65a].
[Rant]
I personally was thinking of stopping 32-bit binary builds soon. It is setback for progress. If some had it their way, we would still be on 16-bit architecture. But apparently there is still demand...
[/Rant]