-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix build on FreeBSD #19
base: main
Are you sure you want to change the base?
Conversation
@gaborcsardi There is actually one last thing to fix for FreeBSD build - Line 1 in bfe03f4
Makevars enough to have a platform-specific fix there. What do you think?
|
Re |
The include directive of `netinet/in.h` must be before `resolv.h` on FreeBSD, otherwise, the following errors will occur: ``` In file included from dns.c:265: /usr/include/resolv.h:159:14: error: array has incomplete element type 'struct sockaddr_in' nsaddr_list[MAXNS]; /*%< address of name server */ ^ /usr/include/resolv.h:158:9: note: forward declaration of 'struct sockaddr_in' struct sockaddr_in ^ /usr/include/resolv.h:173:18: error: field has incomplete type 'struct in_addr' struct in_addr addr; ^ /usr/include/resolv.h:173:10: note: forward declaration of 'struct in_addr' struct in_addr addr; ^ /usr/include/resolv.h:198:21: error: field has incomplete type 'struct sockaddr_in' struct sockaddr_in sin; ^ /usr/include/resolv.h:158:9: note: forward declaration of 'struct sockaddr_in' struct sockaddr_in ^ 3 errors generated. ``` The reason is that the `resolv.h` on FreeBSD is not yet self-contained, see this bug report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=182466 This fix was committed with the FreeBSD port `net/R-cran-pingr` in https://cgit.freebsd.org/ports/commit/?id=fce80f530301d0079d84bc4b818ba957ad29617b.
Sounds good - I opened #21 for this and will work on it later, and am fine with leaving it out of this PR for now. |
Sounds good. I think we can add it to this PR, so that this PR fixed the compilation on FreeBSD. I might add it, it is fairly quick. (Well, I hope...) |
Sounds good, please feel free to do that! I need to get some sleep now... zzzZ |
The include directive of
netinet/in.h
must be beforeresolv.h
on FreeBSD, otherwise, the following errors will occur:The reason is that the
resolv.h
on FreeBSD is not yet self-contained, see this bug report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=182466This fix was committed with the FreeBSD port
net/R-cran-pingr
in https://cgit.freebsd.org/ports/commit/?id=fce80f530301d0079d84bc4b818ba957ad29617b.