__BEGIN_DECLS / __END_DECLS are a glibc-only wrapper mechanism to make C declarations work in C++ code. As musl does not support these and the OpenSMTPD codebase is solely C anyway, simply remove them. --- a/extras/tables/table-ldap/ber.h +++ b/extras/tables/table-ldap/ber.h @@ -75,7 +75,6 @@ size_t bo_n; }; -__BEGIN_DECLS struct ber_element *ber_get_element(unsigned long); void ber_set_header(struct ber_element *, int, unsigned long); @@ -123,4 +122,3 @@ void ber_set_application(struct ber *, unsigned long (*)(struct ber_element *)); void ber_free(struct ber *); -__END_DECLS