You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In file included from ../../../../CPP/Common/Md5Reg.cpp:8:
In file included from ../../../../CPP/Common/../../C/hashes/md5.h:40:
../../../../CPP/Common/../../C/hashes/hash.h:51:16: error: typedef redefinition with different types ('UInt64' (aka 'unsigned long long') vs '__uint64_t' (aka 'unsigned long'))
typedef UInt64 uint64_t;
^
/usr/include/bits/stdint-uintn.h:27:20: note: previous definition is here
typedef __uint64_t uint64_t;
^
1 error generated.
It compiles successfully with clang 16.0.1 libcxx and with gcc 12.2.1_p20230304 p13 with this patch (by me):
What makes you think that undefining it will help to compile it? UInt64 is non-standard definition. I for example don't have it in /usr/include/stdint.h and if would remove it from 7zTypes.h I wouldn't be able to compile it. Ask Clang team why did they add it to standard header.
From:
[Bug 901467] app-arch/p7zip-17.05: Fails to compile with libcxx
https://bugs.gentoo.org/show_bug.cgi?id=901467
The clang 16.0.1 libcxx compiler error is:
It compiles successfully with clang 16.0.1 libcxx and with gcc 12.2.1_p20230304 p13 with this patch (by me):
I can submit a pull request if you like.
The text was updated successfully, but these errors were encountered: