Re: Linux - xboard - Duck chess

Tim Mann <[email protected]> Tue, 28 Feb 2023 12:40:16 -0800
Newsgroups gmane.comp.gnu.xboard.devel
Message-ID <CA+2-M10kf2kB1hb5yfGQ6xqcki982B34LTZEZ1zZXXHetayeaw@mail.gmail.com>
--00000000000014168a05f5c89bfc
Content-Type: text/plain; charset="UTF-8"

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
>>>>
>>>

--00000000000014168a05f5c89bfc
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>I replied here before reading the thread in <a href=
=3D"https://talkchess.com/forum3/viewtopic.php?f=3D7&amp;t=3D80829&amp;sid=
=3De69a2860788f0963c60097ec4e9b1f88&amp;start=3D160">https://talkchess.com/=
forum3/viewtopic.php?f=3D7&amp;t=3D80829&amp;sid=3De69a2860788f0963c60097ec=
4e9b1f88&amp;start=3D160</a>.=C2=A0 Did you get past all the problems and c=
ompile successfully? I wasn&#39;t quite sure from the thread there.</div><d=
iv><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"gm=
ail_attr">On Tue, Feb 28, 2023 at 12:25 PM Tim Mann &lt;<a href=3D"mailto:t=
[email protected]">[email protected]</a>&gt; wrote:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>OK, the multiple def=
inition errors are an easy fix: &quot;extern&quot; was left off of the decl=
arations 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/backen=
d.h<br>+++ b/backend.h<br>@@ -242,7 +242,7 @@ extern GameInfo gameInfo;<br>=
=C2=A0<br>=C2=A0/* ICS vars used with backend.c and zippy.c */<br>=C2=A0enu=
m ICS_TYPE { ICS_GENERIC, ICS_ICC, ICS_FICS, ICS_CHESSNET /* not really sup=
ported */ };<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/ev=
algraph.h b/evalgraph.h<br>index f4b4f920..2ab0e3c1 100644<br>--- a/evalgra=
ph.h<br>+++ b/evalgraph.h<br>@@ -34,7 +34,7 @@ typedef enum { PEN_NONE, PEN=
_BLACK, PEN_DOTTED, PEN_BLUEDOTTED, PEN_BOLDWHITE, P<br>=C2=A0#define OPEN =
=C2=A0 0<br>=C2=A0<br>=C2=A0/* Module globals */<br>-ChessProgramStats_Move=
 * currPvInfo;<br>+extern ChessProgramStats_Move * currPvInfo;<br>=C2=A0ext=
ern int currFirst;<br>=C2=A0extern int currLast;<br>=C2=A0extern int currCu=
rrent;<br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Tue, Feb 28, 2023 at 12:21 PM Tim Mann &lt;<a href=3D"ma=
ilto:[email protected]" target=3D"_blank">[email protected]</a>&gt; wrote:<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>The person (Arun Persaud) who used to update the &quot;official&quot; x=
board source on <a href=3D"http://savannah.gnu.org" target=3D"_blank">savan=
nah.gnu.org</a> by merging in HGM&#39;s work mostly left the project severa=
l years ago, and I haven&#39;t been active in the project for many years ot=
her than to do occasional administrative things when needed. So I assume HG=
M&#39;s source is quite a ways ahead of what&#39;s on Savannah. Looking at =
the git log, I see the source on Savannah has not changed much since v4.9.1=
. was tagged.</div><div><br></div><div>I actually don&#39;t know how to git=
 clone HGM&#39;s source. I&#39;m not sure if he has a git server or only gi=
tweb. I wasn&#39;t able to guess the right URL to clone from via git:// or =
http://. HGM, if you&#39;re tuned in, can you answer that?</div><div><br></=
div><div>To clone the Savannah source, see these pages: <a href=3D"https://=
savannah.gnu.org/maintenance/UsingGit/" target=3D"_blank">https://savannah.=
gnu.org/maintenance/UsingGit/</a> and <a href=3D"https://savannah.gnu.org/p=
rojects/xboard/" target=3D"_blank">https://savannah.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 to sign up for a membership on S=
avannah (it&#39;s free, of course), and I can add you as an official projec=
t 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 R=
EADME are out of date for starting from a git clone. They are missing the i=
nitial step of running ./autogen.sh. I tried the following on my current Ub=
untu 22.04 system, which I think is more or less correct.<br></div><div><br=
></div><div>=C2=A0=C2=A0 ./autogen.sh</div><div>=C2=A0=C2=A0 ./configure</d=
iv><div>=C2=A0=C2=A0 make</div><div><br></div><div> However, the current gi=
t source at the head of the master branch ultimately fails to link with lot=
s of &quot;multiple definition&quot; errors on ics_type and currPvInfo. May=
be an incompatibility with the current gcc.</div><div><br></div><div>You ma=
y not even get that far if you don&#39;t have enough packages installed on =
your Linux. On Ubuntu, &quot;apt get build-essential&quot; helps, but there=
 are more developer packages needed that build-essential doesn&#39;t pull i=
n.<br></div><div><br></div><div><br></div></div><br><div class=3D"gmail_quo=
te"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Feb 28, 2023 at 11:32 AM =
Tim Mann &lt;<a href=3D"mailto:[email protected]" target=3D"_blank">tim@tim-=
mann.org</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D=
"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-le=
ft:1ex"><div dir=3D"ltr"><div>Thanks for letting me know. I get so many req=
uests to post or join the mailing list from spambots that I needed to make =
sure you were a real human wanting to join!</div><div><br></div><div>I have=
n&#39;t compiled the source for a while, but it was pretty straightforward =
last time I did. I&#39;ll see if there are any hints, and of course you can=
 ask on the list.<br></div></div><br><div class=3D"gmail_quote"><div dir=3D=
"ltr" class=3D"gmail_attr">On Mon, Feb 27, 2023 at 2:32 PM Rick Groszkiewic=
z &lt;<a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]=
m</a>&gt; wrote:<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">I have been working with HGM on this project:<div><a href=
=3D"https://talkchess.com/forum3/viewtopic.php?f=3D7&amp;t=3D80829&amp;sid=
=3De69a2860788f0963c60097ec4e9b1f88&amp;start=3D160" target=3D"_blank">http=
s://talkchess.com/forum3/viewtopic.php?f=3D7&amp;t=3D80829&amp;sid=3De69a28=
60788f0963c60097ec4e9b1f88&amp;start=3D160</a><br></div><div><br></div><div=
>I was hoping for guidance on compiling the xboard source - either the offi=
cial code, or HGM&#39;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">ht=
tps://git.savannah.gnu.org/cgit/xboard.git/tag/?h=3Dv4.9.1</a><br></div><di=
v><a href=3D"http://hgm.nubati.net/cgi-bin/gitweb.cgi?p=3Dxboard.git;a=3Dsh=
ortlog;h=3Drefs/heads/v4.9.x" target=3D"_blank">http://hgm.nubati.net/cgi-b=
in/gitweb.cgi?p=3Dxboard.git;a=3Dshortlog;h=3Drefs/heads/v4.9.x</a><br></di=
v><div><br></div><div>Rick Groszkiewicz</div></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>

--00000000000014168a05f5c89bfc--