编译libusrsctp报错了:
netinet/sctp_input.c:1712:14: error: taking address of packed member of ‘struct sctp_state_cookie’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
1712 | &cookie->time_entered,
| ^~~~~~~~~~~~~~~~~~~~~
netinet/sctp_input.c: In function ‘sctp_process_cookie_new’:
netinet/sctp_input.c:2462:9: error: taking address of packed member of ‘struct sctp_state_cookie’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
2462 | &cookie->time_entered, sctp_align_unsafe_makecopy,
| ^~~~~~~~~~~~~~~~~~~~~
netinet/sctp_input.c: In function ‘sctp_handle_stream_reset_response’:
netinet/sctp_input.c:3807:64: error: taking address of packed member of ‘struct sctp_stream_reset_out_request’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
3807 | sctp_reset_out_streams(stcb, number_entries, req_out_param->list_of_streams);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
netinet/sctp_input.c:3820:66: error: taking address of packed member of ‘struct sctp_stream_reset_out_request’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
3820 | sctp_reset_clear_pending(stcb, number_entries, req_out_param->list_of_streams);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
netinet/sctp_input.c: In function ‘sctp_handle_str_reset_request_out’:
netinet/sctp_input.c:4098:50: error: taking address of packed member of ‘struct sctp_stream_reset_out_request’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
4098 | sctp_reset_in_stream(stcb, number_entries, req->list_of_streams);
| ~~~^~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [Makefile:711:netinet/libusrsctp_la-sctp_input.lo] 错误 1
make[1]: 离开目录“/home/jiang/work/janus/libusrsctp/usrsctplib”
make: *** [Makefile:405:all-recursive] 错误 1
解决办法:
CFLAGS=-Wno-address-of-packed-member ./configure