xboard-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Linux - xboard - Duck chess


From: Tim Mann
Subject: Re: Linux - xboard - Duck chess
Date: Tue, 28 Feb 2023 12:55:30 -0800

p.s. Reading the talkchess thread again, it looks like you didn't quite get there because you couldn't figure out which packages to install to satisfy the cairo dependency. I actually am not sure either, but as a hint, here are the packages with cairo in their names that I have on my system:

$ apt search cairo |grep cairo |grep installed
libcairo-gobject-perl/jammy,now 1.005-3build1 amd64 [installed,automatic]
libcairo-gobject2/jammy,now 1.16.0-5ubuntu2 amd64 [installed]
libcairo-perl/jammy,now 1.109-2build1 amd64 [installed,automatic]
libcairo-script-interpreter2/jammy,now 1.16.0-5ubuntu2 amd64 [installed,automatic]
libcairo2/jammy,now 1.16.0-5ubuntu2 amd64 [installed]
libcairo2-dev/jammy,now 1.16.0-5ubuntu2 amd64 [installed,automatic]
libcairo2-doc/jammy,jammy,now 1.16.0-5ubuntu2 all [installed]
libcairomm-1.0-1v5/jammy,now 1.12.2-4build3 amd64 [installed]
libdecor-0-plugin-1-cairo/jammy,now 0.1.0-3build1 amd64 [installed,automatic]
libfltk-cairo1.3/jammy,now 1.3.8-4 amd64 [installed,auto-removable]
libpangocairo-1.0-0/jammy,now 1.50.6+ds-2 amd64 [installed]
python3-cairo/jammy,now 1.20.1-3build1 amd64 [installed]
python3-gi-cairo/jammy-updates,now 3.42.1-0ubuntu1 amd64 [installed]

Obviously you don't need the python3 ones. I don't know if all the rest are needed. The ones that say "automatic" were pulled in as dependencies of something else, so you probably don't have to install those explicitly.

Here are packages with pango in their name that I have:

$ apt search pango | grep pango | grep installed
gir1.2-coglpango-1.0/jammy,now 1.22.8-3build1 amd64 [installed]
gir1.2-pango-1.0/jammy,now 1.50.6+ds-2 amd64 [installed]
libcogl-pango20/jammy,now 1.22.8-3build1 amd64 [installed]
libpango-1.0-0/jammy,now 1.50.6+ds-2 amd64 [installed]
libpango1.0-dev/jammy,now 1.50.6+ds-2 amd64 [installed,automatic]
libpango1.0-doc/jammy,jammy,now 1.50.6+ds-2 all [installed]
libpangocairo-1.0-0/jammy,now 1.50.6+ds-2 amd64 [installed]
libpangoft2-1.0-0/jammy,now 1.50.6+ds-2 amd64 [installed]
libpangomm-1.4-1v5/jammy,now 2.46.2-1 amd64 [installed]
libpangox-1.0-0/now 0.0.2-5ubuntu1 amd64 [installed,local]
libpangoxft-1.0-0/jammy,now 1.50.6+ds-2 amd64 [installed]
pango1.0-tools/jammy,now 1.50.6+ds-2 amd64 [installed,automatic]

And librsvg:

$ apt search librsvg | grep librsvg | grep installed
librsvg2-2/jammy,now 2.52.5+dfsg-3 amd64 [installed]
librsvg2-common/jammy,now 2.52.5+dfsg-3 amd64 [installed]
librsvg2-dev/jammy,now 2.52.5+dfsg-3 amd64 [installed]

On Tue, Feb 28, 2023 at 12:40 PM Tim Mann <tim@tim-mann.org> wrote:
I replied here before reading the thread in https://talkchess.com/forum3/viewtopic.php?f=7&t=80829&sid=e69a2860788f0963c60097ec4e9b1f88&start=160.  Did you get past all the problems and compile successfully? I wasn't quite sure from the thread there.

It may make more sense for me to reply there than here...

On Tue, Feb 28, 2023 at 12:25 PM Tim Mann <tim@tim-mann.org> wrote:
OK, the multiple definition errors are an easy fix: "extern" was left off of the declarations in the .h files. Not sure how that ever worked!  I will push this fix to Savannah master branch.

diff --git a/backend.h b/backend.h
index fae2ee63..bd280eae 100644
--- a/backend.h
+++ b/backend.h
@@ -242,7 +242,7 @@ extern GameInfo gameInfo;
 
 /* ICS vars used with backend.c and zippy.c */
 enum ICS_TYPE { ICS_GENERIC, ICS_ICC, ICS_FICS, ICS_CHESSNET /* not really supported */ };
-enum ICS_TYPE ics_type;
+extern enum ICS_TYPE ics_type;
 
 /* pgntags.c prototypes
  */
diff --git a/evalgraph.h b/evalgraph.h
index f4b4f920..2ab0e3c1 100644
--- a/evalgraph.h
+++ b/evalgraph.h
@@ -34,7 +34,7 @@ typedef enum { PEN_NONE, PEN_BLACK, PEN_DOTTED, PEN_BLUEDOTTED, PEN_BOLDWHITE, P
 #define OPEN   0
 
 /* Module globals */
-ChessProgramStats_Move * currPvInfo;
+extern ChessProgramStats_Move * currPvInfo;
 extern int currFirst;
 extern int currLast;
 extern int currCurrent;

On Tue, Feb 28, 2023 at 12:21 PM Tim Mann <tim@tim-mann.org> wrote:
The person (Arun Persaud) who used to update the "official" xboard source on savannah.gnu.org by merging in HGM's work mostly left the project several years ago, and I haven't been active in the project for many years other than to do occasional administrative things when needed. So I assume HGM's source is quite a ways ahead of what's on Savannah. Looking at the git log, I see the source on Savannah has not changed much since v4.9.1. was tagged.

I actually don't know how to git clone HGM's source. I'm not sure if he has a git server or only gitweb. I wasn't able to guess the right URL to clone from via git:// or http://. HGM, if you're tuned in, can you answer that?

To clone the Savannah source, see these pages: https://savannah.gnu.org/maintenance/UsingGit/ and https://savannah.gnu.org/projects/xboard/. Getting a read-only clone may be fine to start with, but if you are going to work on the code, I encourage you to sign up for a membership on Savannah (it's free, of course), and I can add you as an official project member there. I will have to review how to do that, but I used to know.  :-)

I see the compile instructions in the README are out of date for starting from a git clone. They are missing the initial step of running ./autogen.sh. I tried the following on my current Ubuntu 22.04 system, which I think is more or less correct.

   ./autogen.sh
   ./configure
   make

However, the current git source at the head of the master branch ultimately fails to link with lots of "multiple definition" errors on ics_type and currPvInfo. Maybe an incompatibility with the current gcc.

You may not even get that far if you don't have enough packages installed on your Linux. On Ubuntu, "apt get build-essential" helps, but there are more developer packages needed that build-essential doesn't pull in.



On Tue, Feb 28, 2023 at 11:32 AM Tim Mann <tim@tim-mann.org> wrote:
Thanks for letting me know. I get so many requests to post or join the mailing list from spambots that I needed to make sure you were a real human wanting to join!

I haven't compiled the source for a while, but it was pretty straightforward last time I did. I'll see if there are any hints, and of course you can ask on the list.

On Mon, Feb 27, 2023 at 2:32 PM Rick Groszkiewicz <rgrosz@gmail.com> wrote:
I have been working with HGM on this project:

I was hoping for guidance on compiling the xboard source - either the official code, or HGM's latest:


Rick Groszkiewicz

reply via email to

[Prev in Thread] Current Thread [Next in Thread]