[sword-devel] ppc64le build error
Jaak Ristioja
jaak at ristioja.ee
Wed Jul 17 14:51:42 MST 2019
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
>
More information about the sword-devel
mailing list