Building v15 on Solaris fails xxhash.h error: '_Static_assert' was not declared in this scope
Andrew Watkins <[email protected]> Fri, 1 May 2026 12:14:09 +0100
| Newsgroups | gmane.comp.sysutils.backup.bacula.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============0693740023776689103==
Content-Type: multipart/alternative;
boundary="------------d5IHE7ffWpov03DKoRhOPinO"
Content-Language: en-GB
--------------d5IHE7ffWpov03DKoRhOPinO
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Hello,
I was looking at moving to Bacula 15.0.3 on our servers, but it does not
build on Solaris 11.4
Version 13.0.4 builds on Solaris.
I get this in xxhash (doesn't look like this is in v13)
In file included from xxhash.c:43:
xxhash.h: In function 'void XXH32_canonicalFromHash(XXH32_canonical_t*,
XXH32_hash_t)':
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)
| ^~~~~~~~~~~~~~
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xxhash.h:2535:5: note: in expansion of macro 'XXH_STATIC_ASSERT'
2535 | XXH_STATIC_ASSERT(sizeof(XXH32_canonical_t) ==
sizeof(XXH32_hash_t));
| ^~~~~~~~~~~~~~~~~
xxhash.h: In function 'void XXH64_canonicalFromHash(XXH64_canonical_t*,
XXH64_hash_t)':
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)
| ^~~~~~~~~~~~~~
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xxhash.h:2961:5: note: in expansion of macro 'XXH_STATIC_ASSERT'
2961 | XXH_STATIC_ASSERT(sizeof(XXH64_canonical_t) ==
sizeof(XXH64_hash_t));
| ^~~~~~~~~~~~~~~~~
xxhash.h: In function 'void XXH3_initCustomSecret_sse2(void*, xxh_u64)':
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)
| ^~~~~~~~~~~~~~
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xxhash.h:4383:5: note: in expansion of macro 'XXH_STATIC_ASSERT'
4383 | XXH_STATIC_ASSERT((XXH_SECRET_DEFAULT_SIZE & 15) == 0);
| ^~~~~~~~~~~~~~~~~
xxhash.h: In function 'void XXH3_initCustomSecret_scalar(void*, xxh_u64)':
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)
| ^~~~~~~~~~~~~~
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xxhash.h:4752:5: note: in expansion of macro 'XXH_STATIC_ASSERT'
4752 | XXH_STATIC_ASSERT((XXH_SECRET_DEFAULT_SIZE & 15) == 0);
| ^~~~~~~~~~~~~~~~~
xxhash.h: In function 'XXH64_hash_t XXH3_hashLong_64b_internal(const
void*, std::size_t, const void*, std::size_t, XXH3_f_accumulate_512,
XXH3_f_scrambleAcc)':
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)
| ^~~~~~~~~~~~~~
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xxhash.h:4976:5: note: in expansion of macro 'XXH_STATIC_ASSERT'
4976 | XXH_STATIC_ASSERT(sizeof(acc) == 64);
| ^~~~~~~~~~~~~~~~~
xxhash.h: In function 'XXH_errorcode XXH3_update(XXH3_state_t*, const
xxh_u8*, std::size_t, XXH3_f_accumulate_512, XXH3_f_scrambleAcc)':
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)
| ^~~~~~~~~~~~~~
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xxhash.h:5342:9: note: in expansion of macro 'XXH_STATIC_ASSERT'
5342 | XXH_STATIC_ASSERT(XXH3_INTERNALBUFFER_SIZE %
XXH_STRIPE_LEN == 0); /* clean multiple */
| ^~~~~~~~~~~~~~~~~
xxhash.h: In function 'XXH128_hash_t XXH3_hashLong_128b_internal(const
void*, std::size_t, const xxh_u8*, std::size_t, XXH3_f_accumulate_512,
XXH3_f_scrambleAcc)':
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)
| ^~~~~~~~~~~~~~
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xxhash.h:5768:5: note: in expansion of macro 'XXH_STATIC_ASSERT'
5768 | XXH_STATIC_ASSERT(sizeof(acc) == 64);
| ^~~~~~~~~~~~~~~~~
xxhash.h: In function 'void
XXH128_canonicalFromHash(XXH128_canonical_t*, XXH128_hash_t)':
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)
| ^~~~~~~~~~~~~~
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xxhash.h:6011:5: note: in expansion of macro 'XXH_STATIC_ASSERT'
6011 | XXH_STATIC_ASSERT(sizeof(XXH128_canonical_t) ==
sizeof(XXH128_hash_t));
| ^~~~~~~~~~~~~~~~~
Any thoughts?
Andrew
--
*****************************************************
***** Support Request [email protected] *****
*****************************************************
* Andrew Watkins *
* Birkbeck, University of London *
* Computing and Mathematical Sciences *
*http://notallmicrosoft.blogspot.com *
*****************************************************
--------------d5IHE7ffWpov03DKoRhOPinO
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<!DOCTYPE html><html data-lt-installed="true"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="padding-bottom: 1px;">
<p>Hello,</p>
<p>I was looking at moving to Bacula 15.0.3 on our servers, but it
does not build on Solaris 11.4</p>
<p>Version 13.0.4 builds on Solaris.</p>
<p>I get this in xxhash (doesn't look like this is in v13)</p>
<font face="monospace">In file included from xxhash.c:43:<br>
xxhash.h: In function 'void
XXH32_canonicalFromHash(XXH32_canonical_t*, XXH32_hash_t)':<br>
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?<br>
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)<br>
|
^~~~~~~~~~~~~~<br>
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'<br>
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)<br>
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
xxhash.h:2535:5: note: in expansion of macro 'XXH_STATIC_ASSERT'<br>
2535 | XXH_STATIC_ASSERT(sizeof(XXH32_canonical_t) ==
sizeof(XXH32_hash_t));<br>
| ^~~~~~~~~~~~~~~~~<br>
xxhash.h: In function 'void
XXH64_canonicalFromHash(XXH64_canonical_t*, XXH64_hash_t)':<br>
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?<br>
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)<br>
|
^~~~~~~~~~~~~~<br>
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'<br>
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)<br>
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
xxhash.h:2961:5: note: in expansion of macro 'XXH_STATIC_ASSERT'<br>
2961 | XXH_STATIC_ASSERT(sizeof(XXH64_canonical_t) ==
sizeof(XXH64_hash_t));<br>
| ^~~~~~~~~~~~~~~~~<br>
xxhash.h: In function 'void XXH3_initCustomSecret_sse2(void*,
xxh_u64)':<br>
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?<br>
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)<br>
|
^~~~~~~~~~~~~~<br>
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'<br>
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)<br>
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
xxhash.h:4383:5: note: in expansion of macro 'XXH_STATIC_ASSERT'<br>
4383 | XXH_STATIC_ASSERT((XXH_SECRET_DEFAULT_SIZE & 15)
== 0);<br>
| ^~~~~~~~~~~~~~~~~<br>
xxhash.h: In function 'void XXH3_initCustomSecret_scalar(void*,
xxh_u64)':<br>
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?<br>
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)<br>
|
^~~~~~~~~~~~~~<br>
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'<br>
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)<br>
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
xxhash.h:4752:5: note: in expansion of macro 'XXH_STATIC_ASSERT'<br>
4752 | XXH_STATIC_ASSERT((XXH_SECRET_DEFAULT_SIZE & 15)
== 0);<br>
| ^~~~~~~~~~~~~~~~~<br>
xxhash.h: In function 'XXH64_hash_t
XXH3_hashLong_64b_internal(const void*, std::size_t, const void*,
std::size_t, XXH3_f_accumulate_512, XXH3_f_scrambleAcc)':<br>
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?<br>
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)<br>
|
^~~~~~~~~~~~~~<br>
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'<br>
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)<br>
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
xxhash.h:4976:5: note: in expansion of macro 'XXH_STATIC_ASSERT'<br>
4976 | XXH_STATIC_ASSERT(sizeof(acc) == 64);<br>
| ^~~~~~~~~~~~~~~~~<br>
xxhash.h: In function 'XXH_errorcode XXH3_update(XXH3_state_t*,
const xxh_u8*, std::size_t, XXH3_f_accumulate_512,
XXH3_f_scrambleAcc)':<br>
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?<br>
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)<br>
|
^~~~~~~~~~~~~~<br>
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'<br>
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)<br>
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
xxhash.h:5342:9: note: in expansion of macro 'XXH_STATIC_ASSERT'<br>
5342 | XXH_STATIC_ASSERT(XXH3_INTERNALBUFFER_SIZE %
XXH_STRIPE_LEN == 0); /* clean multiple */<br>
| ^~~~~~~~~~~~~~~~~<br>
xxhash.h: In function 'XXH128_hash_t
XXH3_hashLong_128b_internal(const void*, std::size_t, const
xxh_u8*, std::size_t, XXH3_f_accumulate_512, XXH3_f_scrambleAcc)':<br>
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?<br>
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)<br>
|
^~~~~~~~~~~~~~<br>
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'<br>
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)<br>
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
xxhash.h:5768:5: note: in expansion of macro 'XXH_STATIC_ASSERT'<br>
5768 | XXH_STATIC_ASSERT(sizeof(acc) == 64);<br>
| ^~~~~~~~~~~~~~~~~<br>
xxhash.h: In function 'void
XXH128_canonicalFromHash(XXH128_canonical_t*, XXH128_hash_t)':<br>
xxhash.h:1812:54: error: '_Static_assert' was not declared in this
scope; did you mean 'static_assert'?<br>
1812 | # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do {
_Static_assert((c),m); } while(0)<br>
|
^~~~~~~~~~~~~~<br>
xxhash.h:1818:32: note: in expansion of macro
'XXH_STATIC_ASSERT_WITH_MESSAGE'<br>
1818 | # define XXH_STATIC_ASSERT(c)
XXH_STATIC_ASSERT_WITH_MESSAGE((c),#c)<br>
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
xxhash.h:6011:5: note: in expansion of macro 'XXH_STATIC_ASSERT'<br>
6011 | XXH_STATIC_ASSERT(sizeof(XXH128_canonical_t) ==
sizeof(XXH128_hash_t));<br>
| ^~~~~~~~~~~~~~~~~</font>
<pre class="moz-signature" cols="72">Any thoughts?
Andrew
--
*****************************************************
***** Support Request to <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a> *****
*****************************************************
* Andrew Watkins *
* Birkbeck, University of London *
* Computing and Mathematical Sciences *
* <a class="moz-txt-link-freetext" href="http://notallmicrosoft.blogspot.com">http://notallmicrosoft.blogspot.com</a> *
*****************************************************</pre>
</body>
<lt-container></lt-container>
</html>
--------------d5IHE7ffWpov03DKoRhOPinO--
--===============0693740023776689103==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============0693740023776689103==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
--===============0693740023776689103==--