[sword-devel] ppc64le build error
Troy A. Griffitts
scribe at crosswire.org
Sat Jul 20 20:35:06 MST 2019
Anyone have access to a PPC64LE box I can play on?
On 7/18/19 12:04 AM, Jaak Ristioja wrote:
> Yes, it is a sizeable patch. Although there might be hacks around this
> issue, getting rid of the reserved identifiers and using the fixed-width
> types from <cstdint> seems to be the correct approach to take.
>
> I'm not even sure the patch applies correctly to Sword SVN trunk, but
> since this issue has long been fixed in Sword++, I referred to this
> commit in hopes to accelerate this getting fixed for Sword as well. I
> think it would not benefit anyone if Sword was left failing on Fedora
> rawhide.
>
>
> +Jaak
>
>
> On 18.07.19 06:47, Greg Hellings wrote:
>> That is a rather sizeable patch. I don'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't have a more
>> permanent fix in mind.
>>
>> --Greg
>>
>> On Wed, Jul 17, 2019 at 4:52 PM Jaak Ristioja <jaak at ristioja.ee> wrote:
>>
>>> In Sword++ we fixed [1] this by using the fixed-width integer types
>>> provided by <cstdint>. Note also that some certain names containing
>>> underscores are reserved to the C++ implementation [2], e.g. names
>>> beginning with underscores and names containing adjacent underscores.
>>>
>>>
>>> Best regards,
>>> Jaak
>>>
>>>
>>> [1]: Feel free to integrate
>>>
>>> https://github.com/swordxx/swordxx/commit/3934674fd8db1302c7777c323c0a56235292d6d7
>>> back to Sword. In Sword++ most of these type names were later prefixed
>>> with std::, e.g. std::uint64_t instead of plain uint64_t.
>>>
>>> [2]: See https://stackoverflow.com/a/228797 for a good summary on this.
>>>
>>>
>>> On 17.07.19 17:52, Greg Hellings wrote:
>>>> I got an automated report this week that Sword 1.8.1 has begun failing to
>>>> build on ppc64le architecture with type redefinition errors. The errors
>>> are
>>>> reported here: https://bugzilla.redhat.com/show_bug.cgi?id=1730318
>>>>
>>>> To copy from that link, the relevant error is:
>>>>
>>>> /usr/include/asm-generic/int-l64.h:29:25: error: conflicting
>>>> declaration 'typedef long int __s64'
>>>> 29 | typedef __signed__ long __s64;
>>>> | ^~~~~
>>>>
>>>> /usr/include/asm-generic/int-l64.h:30:23: error: conflicting
>>>> declaration 'typedef long unsigned int __u64'
>>>> 30 | typedef unsigned long __u64;
>>>> | ^~~~~
>>>>
>>>> I try to shy away from knowing too much about C's typing system. I can
>>>> easily locate the places in our code where we are defining those types
>>>> ourself. However, I don't want to mess up proper detection and
>>>> definition of them in a patch if I can help it.
>>>>
>>>> --Greg
>>>>
>>>>
>>>> _______________________________________________
>>>> sword-devel mailing list: sword-devel at crosswire.org
>>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>>> Instructions to unsubscribe/change your settings at above page
>>>>
>>>
>>> _______________________________________________
>>> sword-devel mailing list: sword-devel at crosswire.org
>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>> Instructions to unsubscribe/change your settings at above page
>>>
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>>
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
More information about the sword-devel
mailing list