Can nobody compile Roden IV?

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
shogi4fun
Posts: 30
Joined: Thu Aug 26, 2010 3:32 pm

Re: Can nobody compile Roden IV?

Post by shogi4fun » Sat Mar 07, 2020 8:37 am

PK wrote:
Sat Mar 07, 2020 8:29 am
shogi4fun, what is Your nick on GitHub?
bcm314

PK
Posts: 861
Joined: Mon Jan 15, 2007 10:23 am
Location: Warsza
Contact:

Re: Can nobody compile Roden IV?

Post by PK » Sun Mar 08, 2020 7:15 am

State for today: I collected some issues from posts on this forum and from my mail box, added developemend guidelines in readme and fixed one embarassing bug, bumping version to 0.23. shogi4fun, You got the invitation on GitHub. Please start with adding Your bugfixes, then Chess960, and it should be a good moment for an official release.

shogi4fun
Posts: 30
Joined: Thu Aug 26, 2010 3:32 pm

Re: Can nobody compile Roden IV?

Post by shogi4fun » Sun Mar 08, 2020 6:10 pm

xr_a_y wrote:
Thu Mar 05, 2020 4:31 pm
Thanks a lot for this debug input ! I'll try to analyze and fix this.
Oh, finaly recognized today: rodent has the same problem
(I guess, only in multi-threading build.)
Mainly while testing GUIs, I wonder that rodent sometimes stopped in analyzie mode.
Is it the same code?
Have you already fixed it? ;-)

shogi4fun
Posts: 30
Joined: Thu Aug 26, 2010 3:32 pm

Re: Can nobody compile Roden IV?

Post by shogi4fun » Sun Mar 08, 2020 6:18 pm

PK wrote:
Sun Mar 08, 2020 7:15 am
State for today: I collected some issues from posts on this forum and from my mail box, added developemend guidelines in readme and fixed one embarassing bug, bumping version to 0.23. shogi4fun, You got the invitation on GitHub. Please start with adding Your bugfixes, then Chess960, and it should be a good moment for an official release.
Hi,

I've read all 557 pages of the Pro Git book (okay, maybe not all) and believe i'm ready for it.
By the way, a good book in many languages: https://git-scm.com/book/en/v2

Maybe best starting with this words to you, Pawel.
currently a lot of text (but I hope it will become less) and I guess you are already bored of them.
So I will simply make the changes as I think it's best.
Don't be angry if you don't like any of them and I won't be angry, if you take them back. ;-)

One example: I don't like "022" so much and thought it would mean "V0.2.2"
So I would like to change it to "V0.22" (even adding one more number for testing versions), only unsure about upper- or lowercase "v".

And in more detail I will procede the following:
- still a little bit local setups (environment), but almost finished
- maybe call it "cleaning" the code. I mean add "-DNO_WORDEXP" and make "-DNO_THREADS" work again, fixing warnings, which also could be understand very similar as fixes
- than doing the fixes - I don't know any "dangerous" one
- and than I will make all Android users happy, make rodent find basic.ini and other stuff (and use relative pathes)
- also logging to file is on high priortiy (also good to check if android part is working fine)
- and also I like a pre-setting file. Only few GUIs on android support opptions. Only little changes (but still some thinkings).
- then it would be time for chess960 8-)

Maybe before the last step, I'll more investigate rodent.
It's good to know the behavior before my changes (see previous post).
So I won't puzzle about my code, when I know that this is not the origin.
Also I will give multithreading builds by myself a chance, but maybe more for interests in knowing more about it, how it works. I guess there are others who can make working builds.

But maybe better implement chess960 first. ;-)

I think it would help (shorten testing phase), if I give asking persons my tinkered version.
I've changed the name to dazzled "SPECIAL-TESTING", so this file won't be found public.
Nevertheless I'll give the link by a talkchess message.
(And people don't like asking in a message, wouldn't also send bug informations. ;-) )

Pawel, I think you agree it's ok?

There will be also Windows builds.

And to android users:

you can use
1) Chess for All (https://play.google.com/store/apps/deta ... hessforall)
or
2) Chess from Jeroen Carolus (https://play.google.com/store/apps/deta ... roid.chess)

CfA uses an uncomfortable way (maybe someone would ask the author?) and you won't find it, if you didn't search for it.
You have to go (sorry if not exact words - I see only german text) "edit position", push the settings-button and there can use the button "random chess960".
Each game will start with this position from now on. If you like a new random position, you have redo the above things.

jwtc is easier to use. There is a checkbox "chess960" when starting game.

By the way: this programs using different modes.
CfA is doing it 100% correct, jwtc is using a simplier methode.
But nevertheless jwtc won't crash because of this and I'm sure you even never would recognize it.
If you are interested in details, you can ask - but better in an own thread. : :wink:

User avatar
xr_a_y
Posts: 1104
Joined: Sat Nov 25, 2017 1:28 pm
Location: France

Re: Can nobody compile Roden IV?

Post by xr_a_y » Sun Mar 08, 2020 6:21 pm

shogi4fun wrote:
Sun Mar 08, 2020 6:10 pm
xr_a_y wrote:
Thu Mar 05, 2020 4:31 pm
Thanks a lot for this debug input ! I'll try to analyze and fix this.
Oh, finaly recognized today: rodent has the same problem
(I guess, only in multi-threading build.)
Mainly while testing GUIs, I wonder that rodent sometimes stopped in analyzie mode.
Is it the same code?
Have you already fixed it? ;-)
Not at all the same code as Rodent I think. My fix was to simply get synchronous on stop request.
https://github.com/tryingsomestuff/Mini ... 915e774b11

PK
Posts: 861
Joined: Mon Jan 15, 2007 10:23 am
Location: Warsza
Contact:

Re: Can nobody compile Roden IV?

Post by PK » Mon Mar 09, 2020 7:25 pm

- still a little bit local setups (environment), but almost finished
- maybe call it "cleaning" the code. I mean add "-DNO_WORDEXP" and make "-DNO_THREADS" work again, fixing warnings, which also could be understand very similar as fixes
- than doing the fixes - I don't know any "dangerous" one
- and than I will make all Android users happy, make rodent find basic.ini and other stuff (and use relative pathes)
- also logging to file is on high priortiy (also good to check if android part is working fine)
- and also I like a pre-setting file. Only few GUIs on android support opptions. Only little changes (but still some thinkings).
- then it would be time for chess960 8-)
Sounds like a plan!

shogi4fun
Posts: 30
Joined: Thu Aug 26, 2010 3:32 pm

Re: Can nobody compile Roden IV?

Post by shogi4fun » Tue Mar 10, 2020 5:36 pm

PK wrote:
Mon Mar 09, 2020 7:25 pm
- still a little bit local setups (environment), but almost finished
- maybe call it "cleaning" the code. I mean add "-DNO_WORDEXP" and make "-DNO_THREADS" work again, fixing warnings, which also could be understand very similar as fixes
...
Sounds like a plan!
Yes, and the first two already done (and there is even no "NO_WORDEXP" needed, automatically detection :wink: )

I've made one fix (and stop this day), the only one I belive I remember has influence on strength (but only lower ones). Please, check it.

---

This is originaly an android-thread, and here is something very great for you. I've got an idea. I still wonder, why I haven't had it earlier, as many other apps are doing so.
Many apps are creating directories on your sdcard. If you like testing many apps, you will often have to cleanup and check what you don't need.
So, rodent for android will do the same :arrow: /sdcard/Rodent4 is the ONLY directory used (or maybe better without the "4"???)
If this directory doesn' exist, rodent will create it!!!
And furthermore, it will also add default settings there :idea: , say all personality files - not the books, they are too big.
There can also be a feature, that rodent will download them at the first start. Or an uci-option-button that the GUI can initialize the download - but minimal priority for me, maybe any other will do. :wink:
But than, with this created directory, everyone can easily find and use it, put and change files there, whatever you like.

And because this is an independently thing, I've also added it to my superexperimentaldirtytestingcode version, replaced the old files in my dropbox.

For desktop versions, the os environment variables are a good thing - I guess noone from you will need it, but it's good for coding, to have the files separate.

Still one thing: I don't understand, why Pawel wrote "linux only".
I can use the function "getenv" also in my windows builds.
But (unfortunately :roll: ) compilers are different. So I ask, is it true you can't use "getenv" for win-builds, or is it only a mistake?
It's absolutely no problem, I can use also "GetEnvironmentVariable" (and have already written that code :D ), but I like to keep things easy, using same code for all platforms as long as possible.

lealgo
Posts: 21
Joined: Thu Nov 17, 2016 11:08 pm
Location: Cuba
Full name: Leandro Álvarez González

Re: Can nobody compile Roden IV?

Post by lealgo » Wed Mar 11, 2020 3:17 pm

IMO a better way to distribute a chess engine on Android so that it works across many apps is to write an Open Exchange package for it. There's already a package like that, that even includes an older version of Rodent:

https://play.google.com/store/apps/deta ... collection

The source code is available through a link after you install the package. I think it should also be helpful for your efforts here because it contains some code to embed resources (like personalities maybe) into the engine binary itself.

There's also available the code of the Open Exchange protocol from the author itself:

https://github.com/gkalab/chessenginesupport-androidlib

I hope it helps.

Best regards,
Leandro

shogi4fun
Posts: 30
Joined: Thu Aug 26, 2010 3:32 pm

Re: Can nobody compile Roden IV?

Post by shogi4fun » Wed Mar 11, 2020 6:19 pm

lealgo wrote:
Wed Mar 11, 2020 3:17 pm
IMO a better way to distribute a chess engine on Android so that it works across many apps is to write an Open Exchange package for it. There's already a package like that, that even includes an older version of Rodent:

https://play.google.com/store/apps/deta ... collection

The source code is available through a link after you install the package. I think it should also be helpful for your efforts here because it contains some code to embed resources (like personalities maybe) into the engine binary itself.

There's also available the code of the Open Exchange protocol from the author itself:

https://github.com/gkalab/chessenginesupport-androidlib
Rodent with OEX on google play would be great! 8-) 8-) 8-)
Feel free to do it. :wink:

By the way: I don't like the character of the author from the app you've linked. I ... should better stop speaking.

And here is one more app with a (even bigger) collection of OEX engines:
https://play.google.com/store/apps/deta ... fish64pack
Maybe you can ask him, if he like to add Rodent4, but the last update of this app is already 2 years ago.

shogi4fun
Posts: 30
Joined: Thu Aug 26, 2010 3:32 pm

Re: Can nobody compile Roden IV?

Post by shogi4fun » Sat Mar 14, 2020 11:32 am

Status:
shogi4fun wrote:
Sun Mar 08, 2020 6:18 pm
- still a little bit local setups (environment), but almost finished
- maybe call it "cleaning" the code. I mean add "-DNO_WORDEXP" and make "-DNO_THREADS" work again, fixing warnings, which also could be understand very similar as fixes
- than doing the fixes - I don't know any "dangerous" one
- and than I will make all Android users happy, make rodent find basic.ini and other stuff (and use relative pathes)
Done.
Still testing needed, but I hope this will be the current state of the code.
shogi4fun wrote:
Sun Mar 08, 2020 6:18 pm
- also logging to file is on high priortiy (also good to check if android part is working fine)
- and also I like a pre-setting file. Only few GUIs on android support opptions. Only little changes (but still some thinkings).
- then it would be time for chess960 8-)
Next, implementing log-function should be an easy thing, pre-settings-file also (or even more) simple and than chess960.
And a little bit reworking of personalities, but that is code independent (and a more relaxing thing :wink: )

Post Reply