Compiling and running Scorpio in Linux 64 bit

Programming Topics (Computer Chess) and technical aspects as test techniques, book building, program tuning etc

Moderator: Andres Valverde

Compiling and running Scorpio in Linux 64 bit

Postby Volker Pittlik » 18 Sep 2008, 08:16

I tried to compile and run the latest version of scorpio here in my linux 64 bit machine. I'm using gcc 4.2.3.

Changing the data model in scorpio.h did not show the expected effect.

Setting DATA_MODEL to 2 does not compile at all. Using 3 and 4 compiles but results in a segmentation fault at runtime. Has someone been successful?

Regards

Volker
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Compiling and running Scorpio in Linux 64 bit

Postby Dann Corbit » 18 Sep 2008, 21:29

Volker Pittlik wrote:I tried to compile and run the latest version of scorpio here in my linux 64 bit machine. I'm using gcc 4.2.3.

Changing the data model in scorpio.h did not show the expected effect.

Setting DATA_MODEL to 2 does not compile at all. Using 3 and 4 compiles but results in a segmentation fault at runtime. Has someone been successful?

Regards

Volker

I did not try a linux build yet (maybe I will make one tonight). It works fine under 64 bit Windows using MS VC++ with the default model of 1. I did a PGO build and it performs very well.

I guess that if you are using GCC then you should use data model 1 or 3:
#if DATA_MODEL == 0
# define BMP32 long
# define BMP64 long long
#elif DATA_MODEL == 1
# define BMP32 int
# define BMP64 long long
#elif DATA_MODEL == 2
# define BMP32 __int32
# define BMP64 long
#elif DATA_MODEL == 3
# define BMP32 int
# define BMP64 long long
#elif DATA_MODEL == 4
# define BMP32 int
# define BMP64 long
#else
#error Define Data model number (0 - 4)
#endif

That is because GCC needs long long for 64 bit integer (at least on the platforms I know about). We have 64 bit Linux here so I could give it a go later on tonight.

A simple way to test that your choice is right is to add this assert to the start of main():

assert(sizeof BMP32 >= 4);
assert(sizeof BMP64 >= 8);

If either assert fires, then there is no way that the code can work.

Are you using GCC or Intel or some other compiler?
Dann Corbit
 

Re: Compiling and running Scorpio in Linux 64 bit

Postby Dann Corbit » 18 Sep 2008, 21:32

Here is 64 bit Scorpio output, where I am getting 3.7M NPS:
Code: Select all
Analysis from Q:\epd\sub\sactest2.epd   
9/17/2008 2:32:03 PM Level: 9000 Seconds
Analyzing engine: Scorpio

1) Rxd4; id "sactest"; 
    Searching move: Rd1xd4
    Best move (Scorpio): Rd1xd4
    identical moves! Found in: 00:03
      2   00:00          1.707   1.707   +1.54   Qf4xd6 Rd8xd6 Re1-e7 Ka7-b8
      2   00:00          2.249   2.249   +1.54   Qf4xd6 Rd8xd6 Re1-e7 Ka7-b8
      3   00:00          2.670   2.670   +1.04   Qf4xd6
      3   00:00          7.657   7.657   +0.33   Qf4xd6 Rd8xd6 b2-b4 Nf6xd5 b4xc5 Nd5-c3 Kb1-c1
      3   00:00         11.169   11.169   +0.33   Qf4xd6 Rd8xd6 b2-b4 Nf6xd5 b4xc5 Nd5-c3 Kb1-c1
      4   00:00         19.013   1.901.300   +0.50   Qf4xd6 Rd8xd6 b2-b4 Nf6xd5 b4xc5 Rd6-d8 Kb1-b2
      4   00:00         39.142   1.304.733   +0.50   Qf4xd6 Rd8xd6 b2-b4 Nf6xd5 b4xc5 Rd6-d8 Kb1-b2
      5   00:00         58.275   1.942.500    0.00   Qf4xd6
      5   00:00        121.439   2.023.983   -0.55   Qf4xd6 Rd8xd6 b2-b4 c5xb4 Na5-c6 Ba8xc6 d5xc6 b4xa3 c6-c7 Ka7-b7 Re1-e7
      5   00:00        155.671   2.223.871   -0.33   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6 d5xc6 Rd6xc6 c2-c3 Rh8-d8 Re1-e7 Ka7-b6 Re7xf7 h7-h6
      5   00:00        197.438   2.193.755   -0.33   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6 d5xc6 Rd6xc6 c2-c3 Rh8-d8 Re1-e7 Ka7-b6 Re7xf7 h7-h6
      6   00:00        237.364   2.637.377   -0.33   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6
      6   00:00        388.008   2.586.720   -0.33   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6
      7   00:00        530.461   2.947.005   -0.38   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6 d5xc6 Ka7-b6 Re1-e7 Kb6xc6 Kb1-c1 Rh8-f8 Rd1-e1 c5-c4
      7   00:00        739.849   2.845.573   -0.38   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6 d5xc6 Ka7-b6 Re1-e7 Kb6xc6 Kb1-c1 Rh8-f8 Rd1-e1 c5-c4
      8   00:00      1.158.445   3.309.842   -0.36   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6 d5xc6 Ka7-b6 Re1-e7 Kb6xc6 f3-f4 Nf6-d5 Bh3-g2 f7-f5
      8   00:00      1.479.604   3.216.530   -0.36   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6 d5xc6 Ka7-b6 Re1-e7 Kb6xc6 f3-f4 Nf6-d5 Bh3-g2 f7-f5
      9   00:00      1.743.422   3.228.559   -0.49   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6 d5xc6 Ka7-b6 c6-c7 Kb6xc7 Re1-e7 Kc7-c6 Rd1-e1 Nf6-d5 Re7xf7 h7-h6 Re1-e4 Rh8-d8 Bh3-e6
      9   00:00      2.400.362   3.243.732   -0.49   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6 d5xc6 Ka7-b6 c6-c7 Kb6xc7 Re1-e7 Kc7-c6 Rd1-e1 Nf6-d5 Re7xf7 h7-h6 Re1-e4 Rh8-d8 Bh3-e6
     10   00:00      2.861.600   3.289.195   -0.56   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6 d5xc6 Ka7-b6 Re1-e7 Kb6xc6 Rd1-e1 Rh8-f8 f3-f4 Nf6-d5 Bh3-g2 c5-c4
     10   00:01      4.267.124   3.307.848   -0.56   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6 d5xc6 Ka7-b6 Re1-e7 Kb6xc6 Rd1-e1 Rh8-f8 f3-f4 Nf6-d5 Bh3-g2 c5-c4
     11   00:01      5.648.719   3.423.466   -0.66   Na5-c6 Ba8xc6 Qf4xd6 Rd8xd6 d5xc6 Ka7-b6 c6-c7 Kb6xc7 Re1-e7 Kc7-c6 Rd1-e1 Rh8-f8 f3-f4 Nf6-d5 Bh3-g2 h7-h6 Bg2xd5
     11   00:03     13.004.702   3.533.886   -0.06   Rd1xd4
     11   00:05     20.293.076   3.560.188    0.00   Rd1xd4 c5xd4 Re1-e7 Ka7-b6 Qf4xd4 Kb6xa5 b2-b4 Ka5-a4 Qd4-c3 Qd6xd5 Re7-a7 Ba8-b7 Qc3-c7 Qd5-d1 Kb1-b2 Qd1-d4 Kb2-b1 Qd4-g1 Kb1-b2 Qg1-d4
     11   00:06     21.641.281   3.606.880    0.00   Rd1xd4 c5xd4 Re1-e7 Ka7-b6 Qf4xd4 Kb6xa5 b2-b4 Ka5-a4 Qd4-c3 Qd6xd5 Re7-a7 Ba8-b7 Qc3-c7 Qd5-d1 Kb1-b2 Qd1-d4 Kb2-b1 Qd4-g1 Kb1-b2 Qg1-d4
     12   00:09     32.978.250   3.664.250    0.00   Rd1xd4 c5xd4 Re1-e7 Ka7-b6 Qf4xd4 Kb6xa5 b2-b4 Ka5-a4 Qd4-c3 Qd6xd5 Qc3-c7 Qd5-d1 Kb1-b2 Qd1-d4 Kb2-b1 Qd4-g1 Kb1-b2 Qg1-d4
     12   00:09     35.452.472   3.939.163    0.00   Rd1xd4 c5xd4 Re1-e7 Ka7-b6 Qf4xd4 Kb6xa5 b2-b4 Ka5-a4 Qd4-c3 Qd6xd5 Qc3-c7 Qd5-d1 Kb1-b2 Qd1-d4 Kb2-b1 Qd4-g1 Kb1-b2 Qg1-d4
     13   00:27    102.237.401   3.786.570   -0.11   Rd1xd4 Ka7-b6 b2-b4 Nf6xd5 Qf4xd6 Rd8xd6 b4xc5 Kb6xc5 Na5-b3 Kc5-b6 Kb1-b2 Rh8-d8 c2-c3 f7-f5 Rd4-d3 a6-a5 Nb3-d4 Ba8-b7 Rd3-d1 h7-h6
     13   00:29    108.650.060   3.746.553   -0.11   Rd1xd4 Ka7-b6 b2-b4 Nf6xd5 Qf4xd6 Rd8xd6 b4xc5 Kb6xc5 Na5-b3 Kc5-b6 Kb1-b2 Rh8-d8 c2-c3 f7-f5 Rd4-d3 a6-a5 Nb3-d4 Ba8-b7 Rd3-d1 h7-h6
     14   00:54    202.967.768   3.758.662   -0.40   Rd1xd4 g6-g5 Qf4xd6 Rd8xd6 Rd4-d3 c5-c4 Rd3-d2 Nf6xd5 Kb1-c1 Rh8-d8 b2-b4 Ka7-b6 Re1-d1 Ba8-c6 Na5xc6 Kb6xc6 Bh3-f5 h7-h5 Bf5-e4
     14   01:00    224.345.201   3.739.086   -0.40   Rd1xd4 g6-g5 Qf4xd6 Rd8xd6 Rd4-d3 c5-c4 Rd3-d2 Nf6xd5 Kb1-c1 Rh8-d8 b2-b4 Ka7-b6 Re1-d1 Ba8-c6 Na5xc6 Kb6xc6 Bh3-f5 h7-h5 Bf5-e4
     15   01:43    390.928.241   3.795.419   -0.15   Rd1xd4 Ka7-b6 b2-b4 Nf6xd5 Qf4xd6 Rd8xd6 b4xc5 Kb6xc5 Na5-b3 Kc5-b6 Kb1-b2 Ba8-c6 c2-c4 b5xc4 Rd4xc4 Bc6-b5 Rc4-d4 Rh8-b8 f3-f4 h7-h5 Bh3-g2 Rb8-d8 Re1-e5 Kb6-c6 Bg2xd5 Rd6xd5 Rd4xd5 Rd8xd5
     15   01:49    410.246.783   3.763.731   -0.15   Rd1xd4 Ka7-b6 b2-b4 Nf6xd5 Qf4xd6 Rd8xd6 b4xc5 Kb6xc5 Na5-b3 Kc5-b6 Kb1-b2 Ba8-c6 c2-c4 b5xc4 Rd4xc4 Bc6-b5 Rc4-d4 Rh8-b8 f3-f4 h7-h5 Bh3-g2 Rb8-d8 Re1-e5 Kb6-c6 Bg2xd5 Rd6xd5 Rd4xd5 Rd8xd5
   9/17/2008 3:24:22 PM, Time for this analysis: 00:02:00, Rated time: 00:03

1 of 1 matching moves
9/17/2008 3:24:23 PM, Total time: 12:52:20 AM
Rated time: 00:03 = 3 Seconds

Dann Corbit
 

Re: Compiling and running Scorpio in Linux 64 bit

Postby Volker Pittlik » 19 Sep 2008, 07:09

Dann Corbit wrote:Here is 64 bit Scorpio output, where I am getting 3.7M NPS:
Code: Select all
Analysis from Q:\epd\sub\sactest2.epd   
...

   9/17/2008 3:24:22 PM, Time for this analysis: 00:02:00, Rated time: 00:03

1 of 1 matching moves
9/17/2008 3:24:23 PM, Total time: 12:52:20 AM
Rated time: 00:03 = 3 Seconds



I don't understand why it works. I tried all possibilities of DATA_MODEL in scorpio.h and none worked. So far I used gcc. Trying the intel compiler does not help The segmentation fault occurs now a few seconds later:

Code: Select all
go
[st = 3.77s, mt = 29.75s , hply = 0]
2 10 0 46  e2-e4 e7-e5
2 10 0 128  e2-e4 e7-e5
3 28 0 341  e2-e4 d7-d5 Bf1-b5 Nb8-c6
3 38 0 566  d2-d4 d7-d5 Bc1-f4
3 38 0 678  d2-d4 d7-d5 Bc1-f4
4 10 0 1212  d2-d4 d7-d5 Bc1-f4 Bc8-f5
4 24 0 2153  e2-e4 Ng8-f6 Nb1-c3 e7-e5
4 24 0 2559  e2-e4 Ng8-f6 Nb1-c3 e7-e5
5 26 2 12448  e2-e4 d7-d5 Nb1-c3 Ng8-f6 Bf1-b5 Nb8-c6
5 26 3 15794  e2-e4 d7-d5 Nb1-c3 Ng8-f6 Bf1-b5 Nb8-c6
6 7 8 36826  e2-e4 d7-d5 Nb1-c3 Ng8-f6 e4xd5 Nf6xd5
6 10 10 47944  Ng1-f3 Ng8-f6 d2-d4 d7-d5 Nf3-e5 Nf6-e4
6 10 14 66862  Ng1-f3 Ng8-f6 d2-d4 d7-d5 Nf3-e5 Nf6-e4
7 19 18 92473  Ng1-f3 d7-d5 d2-d4 Bc8-f5 Nb1-c3 Nb8-c6 Bc1-f4
7 23 22 113573  d2-d4 d7-d5 Bc1-f4 Ng8-f6 Ng1-f3 Nf6-e4 Nf3-e5
7 23 23 116345  d2-d4 d7-d5 Bc1-f4 Ng8-f6 Ng1-f3 Nf6-e4 Nf3-e5
8 10 32 161824  d2-d4 d7-d5 Bc1-f4 Bc8-f5 e2-e3 e7-e6 Nb1-c3 Nb8-c6
8 18 47 238095  e2-e4 d7-d5 e4xd5 Qd8xd5 Nb1-c3 Qd5-e5 Qd1-e2 Qe5xe2 Bf1xe2 e7-e5 Ng1-f3 Nb8-c6
8 18 55 284203  e2-e4 d7-d5 e4xd5 Qd8xd5 Nb1-c3 Qd5-e5 Qd1-e2 Qe5xe2 Bf1xe2 e7-e5 Ng1-f3 Nb8-c6
9 31 112 589747  e2-e4 d7-d5 e4xd5 Qd8xd5 Nb1-c3 Qd5-e5 Qd1-e2 Qe5xe2 Bf1xe2 e7-e5 Nc3-d5 Bf8-d6 Ng1-f3
9 31 126 659296  e2-e4 d7-d5 e4xd5 Qd8xd5 Nb1-c3 Qd5-e5 Qd1-e2 Qe5xe2 Bf1xe2 e7-e5 Nc3-d5 Bf8-d6 Ng1-f3
10 37 328 1716617  e2-e4 e7-e6 d2-d4 Ng8-f6 Bf1-d3 d7-d5 e4-e5 Nf6-e4 Bd3xe4 d5xe4 Nb1-c3
10 37 347 1806983  e2-e4 e7-e6 d2-d4 Ng8-f6 Bf1-d3 d7-d5 e4-e5 Nf6-e4 Bd3xe4 d5xe4 Nb1-c3
nodes = 1806983 <84 qnodes> time = 3.47s nps = 520294
pv = 822 cut = 31688 all = 244475
lazy_eval = 25 splits = 0 badsplits = 0 egbb_probes = 0
extensions: check 23596 1reply 698 capture 10065 threat 82 passedpawn 767
hit rate for tables: mht = 13 pht = 75 eht = 37
move e2-e4
Segmentation fault


Inserting the assert statemnts in function "int CDECL main(int argc, char* argv[]) {" (scorpio.cpp, line 73, what is possibly the wrong place), did not help really:

Code: Select all
icpc -O3  -c scorpio.cpp
scorpio.cpp(84): error: type name is not allowed
     assert(sizeof BMP32 >= 4);
                   ^

scorpio.cpp(84): error: identifier "assert" is undefined
     assert(sizeof BMP32 >= 4);
     ^

scorpio.cpp(85): error: type name is not allowed
     assert(sizeof BMP64 >= 8);
                   ^

scorpio.cpp(85): error: expected a ")"
     assert(sizeof BMP64 >= 8);
                   ^
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Compiling and running Scorpio in Linux 64 bit

Postby Teemu Pudas » 19 Sep 2008, 13:35

assert(sizeof(BMP32) >= 4); // etc.
Teemu Pudas
 
Posts: 124
Joined: 16 Apr 2007, 14:03

Re: Compiling and running Scorpio in Linux 64 bit

Postby Volker Pittlik » 19 Sep 2008, 16:48

Teemu Pudas wrote:assert(sizeof(BMP32) >= 4); // etc.


Well, that creates other error messages:

Code: Select all
icpc -O3  -c scorpio.cpp
scorpio.cpp(77): error: identifier "assert" is undefined
     assert(sizeof(BMP32) >= 4);


I tend to give up. I have another program with similar errors. The reason couldn't be found although the author was here.

OTOH although there so many programs which compile without problem Scorpio is something I would like to have....


Volker
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Compiling and running Scorpio in Linux 64 bit

Postby Dann Corbit » 20 Sep 2008, 01:43

Volker Pittlik wrote:
Teemu Pudas wrote:assert(sizeof(BMP32) >= 4); // etc.


Well, that creates other error messages:

Code: Select all
icpc -O3  -c scorpio.cpp
scorpio.cpp(77): error: identifier "assert" is undefined
     assert(sizeof(BMP32) >= 4);


I tend to give up. I have another program with similar errors. The reason couldn't be found although the author was here.

OTOH although there so many programs which compile without problem Scorpio is something I would like to have....


Volker


You need to :
#include <assert.h>

I will give it a try tonight. I had to leave early yesterday.
Dann Corbit
 

Re: Compiling and running Scorpio in Linux 64 bit

Postby Dann Corbit » 20 Sep 2008, 02:51

Unfortunately, the machine that I thought had 64 bit linux running on it (while a 64 bit machine) only has 32 bit Linux on it (as revealed by uname -m)
Dann Corbit
 

Re: Compiling and running Scorpio in Linux 64 bit

Postby Volker Pittlik » 20 Sep 2008, 06:20

Dann Corbit wrote:...
...
You need to :
#include <assert.h>
...


Yes it compiles then without errors! But the runtime error is still there. However the error message is now a bit more informative.

Code: Select all
volker@vpittlik:~/schach/scorpio$ ./scorpio
ht 2097152 X 32
eht 2097152 X 16
pht 104857 X 40
processors [1]
unknown command: lazy_margin
Segmentation fault


In reply to your other message: I'm thinking about to install the intel compiler in a virtual 32 bit machine too, compile to program there and use it over here. On the 64 bit machine I use gcc. This way a disadvantage is possibly compensated although its not my goal to create the ultimate rating list.

Volker
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Compiling and running Scorpio in Linux 64 bit

Postby Volker Pittlik » 20 Sep 2008, 10:16

Volker Pittlik wrote:... I'm thinking about to install the intel compiler in a virtual 32 bit machine too...


Trying to download it it seems to be limited to one month of use now. Its a very fine tool, but I can't use it then. Therefore Scorpio possibly has to life with that disadvantage.
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Compiling and running Scorpio in Linux 64 bit

Postby Volker Pittlik » 20 Sep 2008, 11:14

Volker Pittlik wrote:
Volker Pittlik wrote:... I'm thinking about to install the intel compiler in a virtual 32 bit machine too...


Trying to download it it seems to be limited to one month of use now. Its a very fine tool, but I can't use it then. Therefore Scorpio possibly has to life with that disadvantage.


I made a 32 bit compilation and got the following runtime error.

Code: Select all
volker@vpittlik:~/schach/scorpio$ ./scorpio
ht 2097152 X 32
eht 2097152 X 16
pht 116508 X 36
processors [1]
unknown command: lazy_margin
unknown command: 150
unknown command: lazy_margin
unknown command: 150
unknown command: lazy_margin
unknown command: 250
EgbbProbe not Loaded!


There is something wrong I can't repair. I give up.
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Compiling and running Scorpio in Linux 64 bit

Postby Teemu Pudas » 20 Sep 2008, 11:17

Volker Pittlik wrote:Trying to download it it seems to be limited to one month of use now.


http://www.intel.com/cd/software/produc ... 219771.htm

Seems to be completely free as in beer for non-commercial purposes.
Teemu Pudas
 
Posts: 124
Joined: 16 Apr 2007, 14:03

Re: Compiling and running Scorpio in Linux 64 bit

Postby Volker Pittlik » 20 Sep 2008, 12:14

Teemu Pudas wrote:
Volker Pittlik wrote:...
Seems to be completely free as in beer for non-commercial purposes.


Clicking thru I get

You have 30 days to evaluate the product which will expire on 10/20/2008.


Hapy to have on older not limited version.
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Compiling and running Scorpio in Linux 64 bit

Postby Teemu Pudas » 20 Sep 2008, 12:19

Click the Accept button. I wasn't sure if a direct link would work, but it seems to:

https://registrationcenter.intel.com/Re ... NCOM&lang=

Intel(R) C++ Compiler Professional Edition for Linux*
Noncommercial Product Request
Thank you for your interest in Intel(R) C++ Compiler Professional Edition for Linux* product.
To Download the noncommercial copy: Provide a valid email address to enable us to send you the installation information.
Click the Submit button to obtain the serial number and the URL to download the noncommercial copy.

Please refer to Intel's Privacy Policy regarding the collection and handling of your personal information.
+ Indicates a required field
Email+

Confirm Email+

Country / Region+

Yes, I would like to be contacted to learn about additional Intel(R) software products and training.

Page search couldn't find 30.
Teemu Pudas
 
Posts: 124
Joined: 16 Apr 2007, 14:03

Re: Compiling and running Scorpio in Linux 64 bit

Postby Volker Pittlik » 20 Sep 2008, 12:44

Teemu Pudas wrote:...Provide a valid email address to enable us to send you the installation information....


And after doing so I got the other information. I really tried.

But if it works or not, the error seems not to have to do with the compiler.
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Compiling and running Scorpio in Linux 64 bit

Postby Teemu Pudas » 20 Sep 2008, 13:33

I was redirected to the download page and got an email telling me I get free tech support for a year.
But if it works or not, the error seems not to have to do with the compiler.

I'll boot into 64-bit Linux and try to debug it.
Teemu Pudas
 
Posts: 124
Joined: 16 Apr 2007, 14:03

Re: Compiling and running Scorpio in Linux 64 bit

Postby Ilari Pihlajisto » 20 Sep 2008, 18:25

By latest version, do you mean this one?: http://dshawul.googlepages.com/scorpio_202.ZIP

If so, the source code is a mess (some really weird stuff in there), and hasn't probably been tested on Linux. After I finally got it to compile I also got the segfaults, which were caused by a bug in Scorpio's print() function. I fixed a ton of compiler errors and warnings, replaced the data model with a saner automatic alternative, and created a patch for it: http://koti.mbnet.fi/~ilaripih/patches/ ... _fix.patch

To apply the patch you need to copy it to Scorpio's src folder, and run "patch < scorpio_202_fix.patch".

I only tested it with a couple of games, but it seems to work at least on Ubuntu 8.04 64-bit.
User avatar
Ilari Pihlajisto
 
Posts: 78
Joined: 18 Jul 2005, 06:58

Re: Compiling and running Scorpio in Linux 64 bit

Postby Ilari Pihlajisto » 20 Sep 2008, 18:36

Dann Corbit wrote:... That is because GCC needs long long for 64 bit integer (at least on the platforms I know about). We have 64 bit Linux here so I could give it a go later on tonight.


long long is a C99 data type, which is not part of ISO C++. In C++ one should use the types in inttypes.h: uint64_t, uint32_t, etc. My patch fixes this issue.
User avatar
Ilari Pihlajisto
 
Posts: 78
Joined: 18 Jul 2005, 06:58

Re: Compiling and running Scorpio in Linux 64 bit

Postby Volker Pittlik » 21 Sep 2008, 08:55

Ilari Pihlajisto wrote:By latest version, do you mean this one?: http://dshawul.googlepages.com/scorpio_202.ZIP


Yes

Ilari Pihlajisto wrote:...I fixed a ton of compiler errors and warnings, replaced the data model with a saner automatic alternative, and created a patch for it: http://koti.mbnet.fi/~ilaripih/patches/ ... _fix.patch

To apply the patch you need to copy it to Scorpio's src folder, and run "patch < scorpio_202_fix.patch"....


ABSOLUTELY BRILLIANT! You did a very good job. It compiles fine and runs without any problems (so far). Thank you very much for that!

BTW. I'm just calibrating a test group of engines and included Sloppy (version from September 2nd). It does fine so far but its to early to say something specific.

Volker
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Compiling and running Scorpio in Linux 64 bit

Postby Ilari Pihlajisto » 21 Sep 2008, 10:46

Volker Pittlik wrote:ABSOLUTELY BRILLIANT! You did a very good job. It compiles fine and runs without any problems (so far). Thank you very much for that!


Good to hear. Turning compiler warnings all the way up really helped. And the segfaults only happened if logging is turned on, so maybe that's why the bug had slipped in there. Now let's hope Daniel Shawul uploads the patched version on his website. Does he frequent these forums?

BTW. I'm just calibrating a test group of engines and included Sloppy (version from September 2nd). It does fine so far but its to early to say something specific.


The strength should be the same as that of the February 6 version. The later releases just have some minor bugfixes. Sloppy's development has been very slow lately, because I have an other software project to focus on: me and my friend (who's not a chess player, but a brilliant software designer) are developing a free cross-platform chess gui for Xboard and Uci engines. We already have the basics done, and can run games between two engines, but it's going to take months before there's anything release-worthy. But stay tuned, it's about time we get something better than Xboard on Linux and Mac OS.
User avatar
Ilari Pihlajisto
 
Posts: 78
Joined: 18 Jul 2005, 06:58

Next

Return to Programming and Technical Discussions

Who is online

Users browsing this forum: No registered users and 38 guests