Critter 1.6 released!

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Dann Corbit, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 2:27 pm

Re: Critter 1.6 released!

Post by Don » Tue Jun 19, 2012 4:38 pm

rvida wrote:
Don wrote: On Linux Critter does not run except on more recent Linux distributions - because it's dynamically liked. Larry is not able to run it because of that - and even though I can fix that for him it's going to be a pain for some users. Can you fix that?

Thanks,

Don
Static linking of glibc is not officially supported. Some even consider static linking in general as harmful.

Easiest fix is upgrading the Linux distro. Most of them have very painless automatic update systems anyway.
Larry was not able to upgrade his system, so he cannot run the binary. I don't know why he couldn't, it's hard to figure this out over the phone on my end. But in perhaps a year or two from now your binary will stop working for the same reason on modern systems.

The arguments for dynamic linking appeal to me a lot but I'm a technical person, they don't mean squat to people who don't know what they are doing. All they see is that it "doesn't work" and they move on out of frustration.

I just want you to be aware of the issues - it's easy for us more technical people to assume that it should be no problem but it is. Larry will not be able to update glibc to 2.14 on his own, so on his own critter 1.6 is useless. If he upgrades Ubuntu he will have to learn how to use a completely different desktop - for you and I this is just an annoyance, for him it will be a real challenge and cost him hours. I don't believe Larry is able to upgrade or install on his own - as smart as he is he isn't interested in learning any more than he absolutely has to and he is easily confused. To be honest most of my installs involve some sort of pain, drivers that doesn't work and other nonsense and I'm an expert - so expecting him to be able to do this is not happening.

I'm not criticizing you - Critter is a gift and you have no obligation to anyone for anything but I just want to make sure you understand that not all users of Critter are at our level. Users of Linux are usually more technically oriented so you would think it's not a big deal, but it is.

Anyway, Larry does want to have critter on his machines and we are both huge fans of Critter. It's a several hour drive but I will update his OS one day when I have a couple days free for the trip so that I can install the more traditional cinnamon desktop too - and meanwhile I'll get glibc 2.14 installed so that he can use Critter.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.

matejst
Posts: 228
Joined: Mon May 14, 2007 6:20 pm
Full name: Boban Stanojević

Re: Critter 1.6 released!

Post by matejst » Tue Jun 19, 2012 10:09 pm

I use the windows version under Wine in Ubuntu 11.04. Perhaps this could help in the meantime?

User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 2:27 pm

Re: Critter 1.6 released!

Post by Don » Tue Jun 19, 2012 10:26 pm

matejst wrote:I use the windows version under Wine in Ubuntu 11.04. Perhaps this could help in the meantime?
Wine 64 on the latest Ubuntu works quite well for Houdini 1.5 and other 64 bit programs. Another reason to upgrade Larry when I can.

Strangely enough, Houdini 1.5 runs better on Linux under wine than it does running in windows directly. It's a clear 5% faster. I also tested the Windows compile of Komodo and it's faster in Linux under wine than running directly in windows, but almost exactly the same amount!

So if you want the most performance, run your windows programs under wine in Linux! Have not tested the MP versions of windows chess program however, don't know how that would come out.

I would like to see other people try this - to verify what I have found or to refute it. Perhaps there is some reason it's different on my system. I have a dual boot so I was able to check this out. If you boot into windows you need to wait a few minutes because windows is doing who knows what for a few minutes even after it comes up.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.

royb
Posts: 524
Joined: Wed Mar 08, 2006 11:53 pm

Re: Critter 1.6 released!

Post by royb » Wed Jun 20, 2012 12:57 am

Don wrote:
matejst wrote:I use the windows version under Wine in Ubuntu 11.04. Perhaps this could help in the meantime?
Wine 64 on the latest Ubuntu works quite well for Houdini 1.5 and other 64 bit programs. Another reason to upgrade Larry when I can.

Strangely enough, Houdini 1.5 runs better on Linux under wine than it does running in windows directly. It's a clear 5% faster. I also tested the Windows compile of Komodo and it's faster in Linux under wine than running directly in windows, but almost exactly the same amount!

So if you want the most performance, run your windows programs under wine in Linux! Have not tested the MP versions of windows chess program however, don't know how that would come out.

I would like to see other people try this - to verify what I have found or to refute it. Perhaps there is some reason it's different on my system. I have a dual boot so I was able to check this out. If you boot into windows you need to wait a few minutes because windows is doing who knows what for a few minutes even after it comes up.
Don,

I have seen the same thing with Wine and Windows chess engines for some time now (probably the last 12 months).

Roy

User avatar
rvida
Posts: 481
Joined: Thu Apr 16, 2009 10:00 am
Location: Slovakia, EU

Re: Critter 1.6 released!

Post by rvida » Wed Jun 20, 2012 6:30 am

Don wrote:
rvida wrote:
Don wrote: On Linux Critter does not run except on more recent Linux distributions - because it's dynamically liked. Larry is not able to run it because of that - and even though I can fix that for him it's going to be a pain for some users. Can you fix that?

Thanks,

Don
Static linking of glibc is not officially supported. Some even consider static linking in general as harmful.

Easiest fix is upgrading the Linux distro. Most of them have very painless automatic update systems anyway.
Larry was not able to upgrade his system, so he cannot run the binary. I don't know why he couldn't, it's hard to figure this out over the phone on my end.
Please tell him to be patient and to wait a few days until I publish an updated binary with less demanding dependencies...

I plan to use a "chroot"-ed build environment with an older glibc version.
Don wrote: But in perhaps a year or two from now your binary will stop working for the same reason on modern systems.
Nope. Glibc developers take a special care to be always forward-compatible. Only backward-compatibility is an issue, but in most of cases the burden lies on the authors of various Linux distributions (to ensure all packages are linked against the required version of glibc). AFAIK the only forward incompatibility symptom with glibc arises when they bump the lowest supported kernel version. In such cases you are doomed to a system upgrade whether you like it or not.
Don wrote: The arguments for dynamic linking appeal to me a lot but I'm a technical person, they don't mean squat to people who don't know what they are doing. All they see is that it "doesn't work" and they move on out of frustration.
For non geeky users I would recommend a "dumbed down at first glance" yet powerful and "auto-updating" Linux distribution.
Don wrote: Larry will not be able to update glibc to 2.14 on his own, so on his own critter 1.6 is useless. If he upgrades Ubuntu he will have to learn how to use a completely different desktop - for you and I this is just an annoyance, for him it will be a real challenge and cost him hours.
Not tested by me, but according to Ubuntu help this should work:
$sudo apt-get update glibc

PS: There is only a very little interest from Linux users anyway (accoridng to Emil's download counters)

User avatar
rvida
Posts: 481
Joined: Thu Apr 16, 2009 10:00 am
Location: Slovakia, EU

Re: Critter 1.6 released!

Post by rvida » Wed Jun 20, 2012 6:51 am

Don wrote: Strangely enough, Houdini 1.5 runs better on Linux under wine than it does running in windows directly. It's a clear 5% faster. I also tested the Windows compile of Komodo and it's faster in Linux under wine than running directly in windows, but almost exactly the same amount!
I don't use Wine, but for some reason the gcc 64bit compile (without pgo) on Linux runs faster than the MSVC (_with_ pgo) compile on windows.

Table of reported average speeds after a "go depth 20" command from the start position (PhenomII X6 3.2Ghz; threads=1; hash=64):

Code: Select all

                   |   32bit  |  64bit |
-------------------+----------+--------+
Linux g++          |    1110  |   1777 |
Linux intel-cc     |    1127  |   1763 |
Win/msvc 2010      |    1176  |   1553 |
Win/msvc 2010 + pgo|    1216  |   1709 |
Edit: Linux runs were made on a 64bit Ubuntu 12.04, Windows runs on a 64bit Windows7 Pro SP1. Both with latest updates/security fixes installed (as of 2012-06-20)

Gerd Isenberg
Posts: 2233
Joined: Wed Mar 08, 2006 7:47 pm
Location: Hattingen, Germany

Re: Critter 1.6 released!

Post by Gerd Isenberg » Wed Jun 20, 2012 10:11 am

rvida wrote:
Don wrote: Strangely enough, Houdini 1.5 runs better on Linux under wine than it does running in windows directly. It's a clear 5% faster. I also tested the Windows compile of Komodo and it's faster in Linux under wine than running directly in windows, but almost exactly the same amount!
I don't use Wine, but for some reason the gcc 64bit compile (without pgo) on Linux runs faster than the MSVC (_with_ pgo) compile on windows.

Table of reported average speeds after a "go depth 20" command from the start position (PhenomII X6 3.2Ghz; threads=1; hash=64):

Code: Select all

                   |   32bit  |  64bit |
-------------------+----------+--------+
Linux g++          |    1110  |   1777 |
Linux intel-cc     |    1127  |   1763 |
Win/msvc 2010      |    1176  |   1553 |
Win/msvc 2010 + pgo|    1216  |   1709 |
Edit: Linux runs were made on a 64bit Ubuntu 12.04, Windows runs on a 64bit Windows7 Pro SP1. Both with latest updates/security fixes installed (as of 2012-06-20)
Linux64 has more scratch registers, more registers for parameter transfer, and less callee-save registers than w64. May be that makes the difference ...

see Agner Fog's Calling conventions for different C++ compilers and operating systems:
http://www.agner.org/optimize/calling_conventions.pdf
6 Register usage
13.3 64-bit memory models in Windows
13.4 64-bit memory models in Linux and BSD

User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 2:27 pm

Re: Critter 1.6 released!

Post by Don » Wed Jun 20, 2012 1:01 pm

Thanks Richard,

We can wait. I did not know about the backward compatibility between glibc versions. We need to upgrade Larry soon anyway for other reasons - it's just going to be a big disruption for us.

One of the reasons I love Linux so much was to avoid the constant pressure to upgrade but apparently they are not going to let us be.

I don't see an easy way to upgrade glibc. The update command doesn't do the trick, apt-get update does not take addtional arguments. Ubuntu does provide easy distribution upgrades but it's failing to work for Larry and there is a warning error that it needs to happen from the console so I fear trying to do the apt-get dist-upgrade remotely for him - I may give this a shot anyway but if it puts his computer in a bad state he will be helpless unless I can get over there.

There are ways to do it involving taking the libraries and dependencies from another machine, copying them to the right place and making the appropriate symlinks but it's involved. I'll wait ....

rvida wrote:
Don wrote:
rvida wrote:
Don wrote: On Linux Critter does not run except on more recent Linux distributions - because it's dynamically liked. Larry is not able to run it because of that - and even though I can fix that for him it's going to be a pain for some users. Can you fix that?

Thanks,

Don
Static linking of glibc is not officially supported. Some even consider static linking in general as harmful.

Easiest fix is upgrading the Linux distro. Most of them have very painless automatic update systems anyway.
Larry was not able to upgrade his system, so he cannot run the binary. I don't know why he couldn't, it's hard to figure this out over the phone on my end.
Please tell him to be patient and to wait a few days until I publish an updated binary with less demanding dependencies...

I plan to use a "chroot"-ed build environment with an older glibc version.
Don wrote: But in perhaps a year or two from now your binary will stop working for the same reason on modern systems.
Nope. Glibc developers take a special care to be always forward-compatible. Only backward-compatibility is an issue, but in most of cases the burden lies on the authors of various Linux distributions (to ensure all packages are linked against the required version of glibc). AFAIK the only forward incompatibility symptom with glibc arises when they bump the lowest supported kernel version. In such cases you are doomed to a system upgrade whether you like it or not.
Don wrote: The arguments for dynamic linking appeal to me a lot but I'm a technical person, they don't mean squat to people who don't know what they are doing. All they see is that it "doesn't work" and they move on out of frustration.
For non geeky users I would recommend a "dumbed down at first glance" yet powerful and "auto-updating" Linux distribution.
Don wrote: Larry will not be able to update glibc to 2.14 on his own, so on his own critter 1.6 is useless. If he upgrades Ubuntu he will have to learn how to use a completely different desktop - for you and I this is just an annoyance, for him it will be a real challenge and cost him hours.
Not tested by me, but according to Ubuntu help this should work:
$sudo apt-get update glibc

PS: There is only a very little interest from Linux users anyway (accoridng to Emil's download counters)
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.

Ron Langeveld
Posts: 138
Joined: Tue Jan 05, 2010 7:02 pm

Re: Critter 1.6 released!

Post by Ron Langeveld » Wed Jun 20, 2012 6:17 pm

Don wrote:..
he will be helpless unless I can get over there.
Maybe something you have tried already but how about using TeamViewer for Linux to remotely access Larry's computer ?

Ron

User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 2:27 pm

Re: Critter 1.6 released!

Post by Don » Wed Jun 20, 2012 6:20 pm

Ron Langeveld wrote:
Don wrote:..
he will be helpless unless I can get over there.
Maybe something you have tried already but how about using TeamViewer for Linux to remotely access Larry's computer ?

Ron
Is it going to work between reboots and can it put cd's in the drive and remove them when needed?

I can already get to Larry's machine via ssh - I'm just afraid that if I screw it up I'm not there to fix it and may need to fuss with recovery disks and such.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.

Post Reply