François, thanks for the patches so far.
This morning I pushed:
https://github.com/libguestfs/nbdkit/commit/e26fb6cea3fdba13b5472daf6767e...
build: add missing #include "byte-swapping.h"
https://github.com/libguestfs/nbdkit/commit/b962272a561bfed087316d24b7d51...
build: more fallbacks for mkostemp
The iconv patch makes iconv a requirement. I don't know how many
systems actually lack iconv -- probably not very many -- but even so I
don't want nbdkit to require a library just to compile a single
plugin, as a feature of nbdkit is that the minimal set of
requirements. So I have modified your patch (see attachment) to make
the iconv dependency optional. Can you let me know if this works on
Haiku or if I broke anything?
The final patch was:
https://github.com/mmuman/nbdkit/commit/50ee315525258b0defae06f6e29da841d...
build: avoid hardcoding /var/tmp by default, use P_tmpdir
Unfortunately this won't work well on some Linux systems which use the
/tmp-on-tmpdir misfeature. On these systems, /tmp has only a small,
limited amount of space and is backed by memory, and we must use
/var/tmp for large files. I don't know how to fix this. Perhaps a
simple:
AS_CASE([$host_os],
[haiku*], [LARGE_TMPDIR=/tmp]
[LARGE_TMPDIR=/var/tmp]
)
AC_DEFINE_UNQUOTED([LARGE_TMPDIR],["$LARGE_TMPDIR"],
[Temporary directory for large files])
would be enough for now?
Finally about the list of failing tests:
https://pastebin.com/1PFG85DS
Mostly these are because of the old qemu-io binary. The qemu-io -f
option was added 4 years ago :-/ so it could be time to upgrade.
This error:
./test-shebang-perl.sh: PID file was not created
rect ELF header
FAIL test-shebang-perl.sh (exit status: 1)
(I think the error message is "incorrect ELF header") could be
something to do with the way we use shebangs (#!). IIRC this also
fails on FreeBSD so probably nbdkit is doing something which is not
correct POSIX.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html