Re: Linux - xboard - Duck chess
Tim Mann <[email protected]> Tue, 28 Feb 2023 12:25:13 -0800
| Newsgroups | gmane.comp.gnu.xboard.devel |
|---|---|
| Message-ID | <CA+2-M11ESa0Sjo=FBY8=+ywbZUH86cLWh5YxWRMJv+kK6w+Tvw@mail.gmail.com> |
--0000000000003c400505f5c865db
Content-Type: text/plain; charset="UTF-8"
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
>>>
>>
--0000000000003c400505f5c865db
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>OK, the multiple definition errors are an easy fix: &=
quot;extern" was left off of the declarations in the .h files. Not sur=
e how that ever worked!=C2=A0 I will push this fix to Savannah master branc=
h.<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 backend.c and zippy.c */<br>=C2=A0enum ICS_TYPE { ICS_GENERIC, ICS_ICC=
, ICS_FICS, ICS_CHESSNET /* not really supported */ };<br>-enum ICS_TYPE ic=
s_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..2ab0e3c1 100644<br>--- a/evalgraph.h<br>+++ b/evalgraph.h<br>@@ -=
34,7 +34,7 @@ typedef enum { PEN_NONE, PEN_BLACK, PEN_DOTTED, PEN_BLUEDOTTE=
D, PEN_BOLDWHITE, P<br>=C2=A0#define OPEN =C2=A0 0<br>=C2=A0<br>=C2=A0/* Mo=
dule globals */<br>-ChessProgramStats_Move * currPvInfo;<br>+extern ChessPr=
ogramStats_Move * currPvInfo;<br>=C2=A0extern int currFirst;<br>=C2=A0exter=
n int currLast;<br>=C2=A0extern int currCurrent;<br></div></div><br><div cl=
ass=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Feb 28, 2=
023 at 12:21 PM Tim Mann <<a href=3D"mailto:[email protected]">tim@tim-ma=
nn.org</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"m=
argin: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 th=
e "official" xboard source on <a href=3D"http://savannah.gnu.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 in the p=
roject for many years other than to do occasional administrative things whe=
n 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 c=
hanged much since v4.9.1. was tagged.</div><div><br></div><div>I actually d=
on'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 c=
lone from via git:// or http://. HGM, if you're tuned in, can you answe=
r that?</div><div><br></div><div>To clone the Savannah source, see these pa=
ges: <a href=3D"https://savannah.gnu.org/maintenance/UsingGit/" target=3D"_=
blank">https://savannah.gnu.org/maintenance/UsingGit/</a> and <a href=3D"ht=
tps://savannah.gnu.org/projects/xboard/" target=3D"_blank">https://savannah=
.gnu.org/projects/xboard/</a>. Getting a read-only clone may be fine to sta=
rt 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 y=
ou as an official project member there. I will have to review how to do tha=
t, 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 the foll=
owing on my current Ubuntu 22.04 system, which I think is more or less corr=
ect.<br></div><div><br></div><div>=C2=A0=C2=A0 ./autogen.sh</div><div>=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 ultimatel=
y fails to link with lots of "multiple definition" errors on ics_=
type and currPvInfo. Maybe an incompatibility with the current gcc.</div><d=
iv><br></div><div>You may not even get that far if you don't have enoug=
h packages installed on your Linux. On Ubuntu, "apt get build-essentia=
l" helps, but there are more developer packages needed that build-esse=
ntial doesn't pull in.<br></div><div><br></div><div><br></div></div><br=
><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, F=
eb 28, 2023 at 11:32 AM Tim Mann <<a href=3D"mailto:[email protected]" ta=
rget=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 rg=
b(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>Thanks for letting m=
e know. I get so many requests to post or join the mailing list from spambo=
ts that I needed to make sure you were a real human wanting to join!</div><=
div><br></div><div>I haven't compiled the source for a while, but it wa=
s pretty straightforward last time I did. I'll see if there are any hin=
ts, 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 Groszkiewicz <<a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a>> wrote:<br></div><blockquote class=3D"g=
mail_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 o=
n this project:<div><a href=3D"https://talkchess.com/forum3/viewtopic.php?f=
=3D7&t=3D80829&sid=3De69a2860788f0963c60097ec4e9b1f88&start=3D1=
60" target=3D"_blank">https://talkchess.com/forum3/viewtopic.php?f=3D7&=
t=3D80829&sid=3De69a2860788f0963c60097ec4e9b1f88&start=3D160</a><br=
></div><div><br></div><div>I was hoping for guidance on compiling the xboar=
d source - either the official code, or HGM's latest:</div><div><br></d=
iv><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/tag/?h=
=3Dv4.9.1</a><br></div><div><a href=3D"http://hgm.nubati.net/cgi-bin/gitweb=
.cgi?p=3Dxboard.git;a=3Dshortlog;h=3Drefs/heads/v4.9.x" target=3D"_blank">h=
ttp://hgm.nubati.net/cgi-bin/gitweb.cgi?p=3Dxboard.git;a=3Dshortlog;h=3Dref=
s/heads/v4.9.x</a><br></div><div><br></div><div>Rick Groszkiewicz</div></di=
v>
</blockquote></div>
</blockquote></div>
</blockquote></div>
--0000000000003c400505f5c865db--