Re: Linux - xboard - Duck chess
Tim Mann <[email protected]> Tue, 28 Feb 2023 12:57:40 -0800
| Newsgroups | gmane.comp.gnu.xboard.devel |
|---|---|
| Message-ID | <CA+2-M13UvzWXbSyBym9SYUcNP8ukk2SOq4GLvN4V+kH-x4sj8A@mail.gmail.com> |
--0000000000004c48c605f5c8d922 Content-Type: text/plain; charset="UTF-8" Another ps: The warnings from autogen.sh that suggest running autoupdate can be ignored. Maybe it is actually best to ignore them instead of running autoupdate, as updating might mean people with older versions of the autotools won't be able to compile anymore (?). On Tue, Feb 28, 2023 at 12:55 PM Tim Mann <[email protected]> wrote: > 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> >>>>> wrote: >>>>> >>>>>> I have been working with HGM on this project: >>>>>> >>>>>> https://talkchess.com/forum3/viewtopic.php?f=7&t=80829&sid=e69a2860788f0963c60097ec4e9b1f88&start=160 >>>>>> >>>>>> I was hoping for guidance on compiling the xboard source - either the >>>>>> official code, or HGM's latest: >>>>>> >>>>>> https://git.savannah.gnu.org/cgit/xboard.git/tag/?h=v4.9.1 >>>>>> >>>>>> http://hgm.nubati.net/cgi-bin/gitweb.cgi?p=xboard.git;a=shortlog;h=refs/heads/v4.9.x >>>>>> >>>>>> Rick Groszkiewicz >>>>>> >>>>> --0000000000004c48c605f5c8d922 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Another ps: The warnings from autogen.sh that suggest= running autoupdate can be ignored. Maybe it is actually best to ignore the= m instead of running autoupdate, as updating might mean people with older v= ersions of the autotools won't be able to compile anymore (?).</div><di= v><br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"= gmail_attr">On Tue, Feb 28, 2023 at 12:55 PM Tim Mann <<a href=3D"mailto= :[email protected]">[email protected]</a>> wrote:<br></div><blockquote cla= ss=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid = rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>p.s. Reading the t= alkchess 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 pac= kages with cairo in their names that I have on my system:</div><div><br></d= iv><div>$ apt search cairo |grep cairo |grep installed<br>libcairo-gobject-= perl/jammy,now 1.005-3build1 amd64 [installed,automatic]<br>libcairo-gobjec= t2/jammy,now 1.16.0-5ubuntu2 amd64 [installed]<br>libcairo-perl/jammy,now 1= .109-2build1 amd64 [installed,automatic]<br>libcairo-script-interpreter2/ja= mmy,now 1.16.0-5ubuntu2 amd64 [installed,automatic]<br>libcairo2/jammy,now = 1.16.0-5ubuntu2 amd64 [installed]<br>libcairo2-dev/jammy,now 1.16.0-5ubuntu= 2 amd64 [installed,automatic]<br>libcairo2-doc/jammy,jammy,now 1.16.0-5ubun= tu2 all [installed]<br>libcairomm-1.0-1v5/jammy,now 1.12.2-4build3 amd64 [i= nstalled]<br>libdecor-0-plugin-1-cairo/jammy,now 0.1.0-3build1 amd64 [insta= lled,automatic]<br>libfltk-cairo1.3/jammy,now 1.3.8-4 amd64 [installed,auto= -removable]<br>libpangocairo-1.0-0/jammy,now 1.50.6+ds-2 amd64 [installed]<= br>python3-cairo/jammy,now 1.20.1-3build1 amd64 [installed]<br>python3-gi-c= airo/jammy-updates,now 3.42.1-0ubuntu1 amd64 [installed]</div><div><br></di= v><div>Obviously you don't need the python3 ones. I don't know if a= ll the rest are needed. The ones that say "automatic" were pulled= in as dependencies of something else, so you probably don't have to in= stall those explicitly.</div><div><br></div><div>Here are packages with pan= go in their name that I have:</div><div><br></div><div>$ apt search pango |= grep pango | grep installed<br>gir1.2-coglpango-1.0/jammy,now 1.22.8-3buil= d1 amd64 [installed]<br>gir1.2-pango-1.0/jammy,now 1.50.6+ds-2 amd64 [insta= lled]<br>libcogl-pango20/jammy,now 1.22.8-3build1 amd64 [installed]<br>libp= ango-1.0-0/jammy,now 1.50.6+ds-2 amd64 [installed]<br>libpango1.0-dev/jammy= ,now 1.50.6+ds-2 amd64 [installed,automatic]<br>libpango1.0-doc/jammy,jammy= ,now 1.50.6+ds-2 all [installed]<br>libpangocairo-1.0-0/jammy,now 1.50.6+ds= -2 amd64 [installed]<br>libpangoft2-1.0-0/jammy,now 1.50.6+ds-2 amd64 [inst= alled]<br>libpangomm-1.4-1v5/jammy,now 2.46.2-1 amd64 [installed]<br>libpan= gox-1.0-0/now 0.0.2-5ubuntu1 amd64 [installed,local]<br>libpangoxft-1.0-0/j= ammy,now 1.50.6+ds-2 amd64 [installed]<br>pango1.0-tools/jammy,now 1.50.6+d= s-2 amd64 [installed,automatic]</div><div><br></div><div>And librsvg:</div>= <div><br></div><div>$ apt search librsvg | grep librsvg | grep installed<br= >librsvg2-2/jammy,now 2.52.5+dfsg-3 amd64 [installed]<br>librsvg2-common/ja= mmy,now 2.52.5+dfsg-3 amd64 [installed]<br>librsvg2-dev/jammy,now 2.52.5+df= sg-3 amd64 [installed]<br></div></div><br><div class=3D"gmail_quote"><div d= ir=3D"ltr" class=3D"gmail_attr">On Tue, Feb 28, 2023 at 12:40 PM Tim Mann &= lt;<a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]</= a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0p= x 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><d= iv dir=3D"ltr"><div>I replied here before reading the thread in <a href=3D"= https://talkchess.com/forum3/viewtopic.php?f=3D7&t=3D80829&sid=3De6= 9a2860788f0963c60097ec4e9b1f88&start=3D160" target=3D"_blank">https://t= alkchess.com/forum3/viewtopic.php?f=3D7&t=3D80829&sid=3De69a2860788= f0963c60097ec4e9b1f88&start=3D160</a>.=C2=A0 Did you get past all the p= roblems and compile successfully? I wasn't quite sure from the thread t= here.</div><div><br></div><div>It may make more sense for me to reply there= than here...<br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr= " class=3D"gmail_attr">On Tue, Feb 28, 2023 at 12:25 PM Tim Mann <<a hre= f=3D"mailto:[email protected]" target=3D"_blank">[email protected]</a>> wr= ote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px= 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D= "ltr"><div>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!=C2=A0 I will push this fix to Savannah master branch.<br></div= ><div><br></div><div>diff --git a/backend.h b/backend.h<br>index fae2ee63..= bd280eae 100644<br>--- a/backend.h<br>+++ b/backend.h<br>@@ -242,7 +242,7 @= @ extern GameInfo gameInfo;<br>=C2=A0<br>=C2=A0/* ICS vars used with backen= d.c and zippy.c */<br>=C2=A0enum ICS_TYPE { ICS_GENERIC, ICS_ICC, ICS_FICS,= ICS_CHESSNET /* not really supported */ };<br>-enum ICS_TYPE ics_type;<br>= +extern enum ICS_TYPE ics_type;<br>=C2=A0<br>=C2=A0/* pgntags.c prototypes<= br>=C2=A0 */<br>diff --git a/evalgraph.h b/evalgraph.h<br>index f4b4f920..2= ab0e3c1 100644<br>--- a/evalgraph.h<br>+++ b/evalgraph.h<br>@@ -34,7 +34,7 = @@ typedef enum { PEN_NONE, PEN_BLACK, PEN_DOTTED, PEN_BLUEDOTTED, PEN_BOLD= WHITE, P<br>=C2=A0#define OPEN =C2=A0 0<br>=C2=A0<br>=C2=A0/* Module global= s */<br>-ChessProgramStats_Move * currPvInfo;<br>+extern ChessProgramStats_= Move * currPvInfo;<br>=C2=A0extern int currFirst;<br>=C2=A0extern int currL= ast;<br>=C2=A0extern int currCurrent;<br></div></div><br><div class=3D"gmai= l_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Feb 28, 2023 at 12:2= 1 PM Tim Mann <<a href=3D"mailto:[email protected]" target=3D"_blank">tim= @tim-mann.org</a>> wrote:<br></div><blockquote class=3D"gmail_quote" sty= le=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddi= ng-left:1ex"><div dir=3D"ltr"><div>The person (Arun Persaud) who used to up= date the "official" xboard source on <a href=3D"http://savannah.g= nu.org" target=3D"_blank">savannah.gnu.org</a> by merging in HGM's work= mostly left the project several years ago, and I haven't been active i= n the project for many years other than to do occasional administrative thi= ngs 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 ha= s not changed much since v4.9.1. was tagged.</div><div><br></div><div>I act= ually 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 U= RL to clone from via git:// or http://. HGM, if you're tuned in, can yo= u answer that?</div><div><br></div><div>To clone the Savannah source, see t= hese pages: <a href=3D"https://savannah.gnu.org/maintenance/UsingGit/" targ= et=3D"_blank">https://savannah.gnu.org/maintenance/UsingGit/</a> and <a hre= f=3D"https://savannah.gnu.org/projects/xboard/" target=3D"_blank">https://s= avannah.gnu.org/projects/xboard/</a>. Getting a read-only clone may be fine= to start with, but if you are going to work on the code, I encourage you t= o sign up for a membership on Savannah (it's free, of course), and I ca= n add you as an official project member there. I will have to review how to= do that, but I used to know.=C2=A0 :-)</div><div><br></div><div>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 t= he following on my current Ubuntu 22.04 system, which I think is more or le= ss correct.<br></div><div><br></div><div>=C2=A0=C2=A0 ./autogen.sh</div><di= v>=C2=A0=C2=A0 ./configure</div><div>=C2=A0=C2=A0 make</div><div><br></div>= <div> However, the current git source at the head of the master branch ulti= mately fails to link with lots of "multiple definition" errors on= ics_type and currPvInfo. Maybe an incompatibility with the current gcc.</d= iv><div><br></div><div>You may not even get that far if you don't have = enough packages installed on your Linux. On Ubuntu, "apt get build-ess= ential" helps, but there are more developer packages needed that build= -essential doesn't pull in.<br></div><div><br></div><div><br></div></di= v><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On T= ue, Feb 28, 2023 at 11:32 AM Tim Mann <<a href=3D"mailto:[email protected]= g" target=3D"_blank">[email protected]</a>> wrote:<br></div><blockquote c= lass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px soli= d rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>Thanks for letti= ng me know. I get so many requests to post or join the mailing list from sp= ambots that I needed to make sure you were a real human wanting to join!</d= iv><div><br></div><div>I haven't compiled the source for a while, but i= t was pretty straightforward last time I did. I'll see if there are any= hints, and of course you can ask on the list.<br></div></div><br><div clas= s=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Feb 27, 202= 3 at 2:32 PM Rick Groszkiewicz <<a href=3D"mailto:[email protected]" targ= et=3D"_blank">[email protected]</a>> wrote:<br></div><blockquote class=3D= "gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(2= 04,204,204);padding-left:1ex"><div dir=3D"ltr">I have been working with HGM= on this project:<div><a href=3D"https://talkchess.com/forum3/viewtopic.php= ?f=3D7&t=3D80829&sid=3De69a2860788f0963c60097ec4e9b1f88&start= =3D160" target=3D"_blank">https://talkchess.com/forum3/viewtopic.php?f=3D7&= amp;t=3D80829&sid=3De69a2860788f0963c60097ec4e9b1f88&start=3D160</a= ><br></div><div><br></div><div>I was hoping for guidance on compiling the x= board source - either the official code, or HGM's latest:</div><div><br= ></div><div><a href=3D"https://git.savannah.gnu.org/cgit/xboard.git/tag/?h= =3Dv4.9.1" target=3D"_blank">https://git.savannah.gnu.org/cgit/xboard.git/t= ag/?h=3Dv4.9.1</a><br></div><div><a href=3D"http://hgm.nubati.net/cgi-bin/g= itweb.cgi?p=3Dxboard.git;a=3Dshortlog;h=3Drefs/heads/v4.9.x" target=3D"_bla= nk">http://hgm.nubati.net/cgi-bin/gitweb.cgi?p=3Dxboard.git;a=3Dshortlog;h= =3Drefs/heads/v4.9.x</a><br></div><div><br></div><div>Rick Groszkiewicz</di= v></div> </blockquote></div> </blockquote></div> </blockquote></div> </blockquote></div> </blockquote></div> </blockquote></div> --0000000000004c48c605f5c8d922--