<div dir="ltr"><div>That is a rather sizeable patch. I don&#39;t want to just apply it wholesale to the Sword engine without some input from people who know more about the code than I do. It should, however, be workable if Troy doesn&#39;t have a more permanent fix in mind.</div><div><br></div><div>--Greg<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jul 17, 2019 at 4:52 PM Jaak Ristioja &lt;<a href="mailto:jaak@ristioja.ee">jaak@ristioja.ee</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">In Sword++ we fixed [1] this by using the fixed-width integer types<br>
provided by &lt;cstdint&gt;. Note also that some certain names containing<br>
underscores are reserved to the C++ implementation [2], e.g. names<br>
beginning with underscores and names containing adjacent underscores.<br>
<br>
<br>
Best regards,<br>
Jaak<br>
<br>
<br>
[1]: Feel free to integrate<br>
<a href="https://github.com/swordxx/swordxx/commit/3934674fd8db1302c7777c323c0a56235292d6d7" rel="noreferrer" target="_blank">https://github.com/swordxx/swordxx/commit/3934674fd8db1302c7777c323c0a56235292d6d7</a><br>
back to Sword. In Sword++ most of these type names were later prefixed<br>
with std::, e.g. std::uint64_t instead of plain uint64_t.<br>
<br>
[2]: See <a href="https://stackoverflow.com/a/228797" rel="noreferrer" target="_blank">https://stackoverflow.com/a/228797</a> for a good summary on this.<br>
<br>
<br>
On 17.07.19 17:52, Greg Hellings wrote:<br>
&gt; I got an automated report this week that Sword 1.8.1 has begun failing to<br>
&gt; build on ppc64le architecture with type redefinition errors. The errors are<br>
&gt; reported here: <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1730318" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1730318</a><br>
&gt; <br>
&gt; To copy from that link, the relevant error is:<br>
&gt; <br>
&gt;  /usr/include/asm-generic/int-l64.h:29:25: error: conflicting<br>
&gt; declaration &#39;typedef long int __s64&#39;<br>
&gt;     29 | typedef __signed__ long __s64;<br>
&gt;        |                         ^~~~~<br>
&gt; <br>
&gt;  /usr/include/asm-generic/int-l64.h:30:23: error: conflicting<br>
&gt; declaration &#39;typedef long unsigned int __u64&#39;<br>
&gt;     30 | typedef unsigned long __u64;<br>
&gt;        |                       ^~~~~<br>
&gt; <br>
&gt; I try to shy away from knowing too much about C&#39;s typing system. I can<br>
&gt; easily locate the places in our code where we are defining those types<br>
&gt; ourself. However, I don&#39;t want to mess up proper detection and<br>
&gt; definition of them in a patch if I can help it.<br>
&gt; <br>
&gt; --Greg<br>
&gt; <br>
&gt; <br>
&gt; _______________________________________________<br>
&gt; sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
&gt; <a href="http://www.crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
&gt; Instructions to unsubscribe/change your settings at above page<br>
&gt; <br>
<br>
<br>
_______________________________________________<br>
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank">sword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" rel="noreferrer" target="_blank">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at above page<br>
</blockquote></div>