musl libc has its own ethhdr struct that is always defined in <netinet/ether.h>. Normally, "nm-default.h" prevents the redefinition of ethhdr if that struct is already defined, but because "nm-default.h" comes before <netinet/ether.h>, it will define the struct, causing a redefinition error.
musl libc has its own
ethhdr
struct that is always defined in <netinet/ether.h>. Normally, "nm-default.h" prevents the redefinition ofethhdr
if that struct is already defined, but because "nm-default.h" comes before <netinet/ether.h>, it will define the struct, causing a redefinition error.The patch for this comes from Void Linux.