frugalos / frugalos/liberasurecode
Build failure caused by address-of-packed-member with GCC9
- Dominant language
- Rust
- Stars
- 21
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
## Description
`cargo build` generates the following error:
```
+ patch -p1
+ make install
erasurecode_helpers.c: In function 'get_chksum':
erasurecode_helpers.c:499:25: error: taking address of packed member of 'struct fragment_metadata' may result in an unaligned pointer value [-Werror=address-of-packed-member]
499 | return (uint32_t *) header->meta.chksum;
| ^~~~~~
erasurecode_helpers.c: In function 'get_metadata_chksum':
erasurecode_helpers.c:530:12: error: taking address of packed member of 'struct fragment_header_s' may result in an unaligned pointer value [-Werror=address-of-packed-member]
530 | return (uint32_t *) &header->metadata_chksum;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [Makefile:713: liberasurecode_la-erasurecode_helpers.lo] Error 1
```
Since GCC9, GCC reports warnings about taking the address of a packed member. See https://reviews.freebsd.org/D9069?id=23667.
## Environment
GCC9 on Arch Linux
## Solution
Add `-Wno-error=address-of-packed-member` to `$CFLAGS` when built with gcc9 at `install_deps.sh`.
Contributor guide
Assessment
This issue has not been assessed yet.