> These declarations are absent because upstream for some reason decided > to conditionalize the inclusion of <string.h> (and <stdlib.h>, for > that matter) on OS_LINUX. These are bog-standard headers that should > be safe to #include unconditionally. However, if the upstream > developers really want to be paranoid, they can capitalize on the > build system's existing checks and conditionalize on HAVE_STRING_H > and/or HAVE_STDLIB_H as desired.
I agree, build system’s check is cleaner and more portable solution. I will prepare a patch for debian and report the issue upstream. Unfortunately I saw couple more hurd and kfreebsd related problems in build logs. The software uses <scsi/sg.h> header, which does not exist on BSD systems. I will have a look if it is possible to replace this header with <cam/scsi/scsi_sg.h> or other header and make the software functional on hurd-i386 and kfreebsd-*