My UCI only works if called directly

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

Moderator: Andres Valverde

My UCI only works if called directly

Postby purefan » 08 Jul 2018, 20:38


I've come up with a bridge, its a really simple program that connects to a real UCI engine. If I call my program from the console it takes input through stdin and I can speak UCI to it, it then relays the commands to the real UCI engine and outputs to stdout whatever the UCI engine says. I have tried to load my program (lets call it fakeUCI) into Arena and Scid and it just doesn't work, I added some logging and am certain that fakeUCI is not being loaded, but have no clue why since when I run it myself it does work.

I know this is pretty vague but maybe someone has run into something like this and can shed some light?

Posts: 1
Joined: 08 Jul 2018, 10:21

Re: My UCI only works if called directly

Postby H.G.Muller » 10 Jul 2018, 02:30

Hard to say, when you don't even mention if this is under Windows, Linux or Mac. The most common reason why things work differently under Windows when run from the console or from a GUI (i.e. through a pipe) is that they use the wrong call when peeking for input (which in Windows needs to be different for the two cases). Best approach is to debug by splattering the entire program with print statements to the log file (and be sure to flush them), so you can be sure of exactly what it does (and thus of what it does wrong).
User avatar
Posts: 3091
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Return to Programming and Technical Discussions

Who is online

Users browsing this forum: No registered users and 3 guests