qemu-ios icon indicating copy to clipboard operation
qemu-ios copied to clipboard

Build fails "libblock.fa.p"

Open andersmmg opened this issue 6 months ago • 1 comments

[952/3040] Compiling C object libblock.fa.p/block_curl.c.o
[953/3040] Compiling C object libblock.fa.p/block_nfs.c.o
FAILED: libblock.fa.p/block_nfs.c.o 
cc -m64 -mcx16 -Ilibblock.fa.p -I. -I.. -Iqapi -Itrace -Iui -Iui/shader -Iblock -I/usr/include/p11-kit-1 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/openssl -fdiagnostics-color=auto -Wall -Winvalid-pch -std=gnu11 -O2 -g -fstack-protector-strong -Wundef -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wmissing-format-attribute -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -Wshadow=local -isystem /home/andersmmg/Development/qemu-ios/linux-headers -isystem linux-headers -iquote . -iquote /home/andersmmg/Development/qemu-ios -iquote /home/andersmmg/Development/qemu-ios/include -iquote /home/andersmmg/Development/qemu-ios/host/include/x86_64 -iquote /home/andersmmg/Development/qemu-ios/host/include/generic -iquote /home/andersmmg/Development/qemu-ios/tcg/i386 -pthread -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fno-common -fwrapv -fPIE -MD -MQ libblock.fa.p/block_nfs.c.o -MF libblock.fa.p/block_nfs.c.o.d -o libblock.fa.p/block_nfs.c.o -c ../block/nfs.c
../block/nfs.c: In function ‘nfs_co_preadv’:
../block/nfs.c:277:29: error: passing argument 3 of ‘nfs_pread_async’ makes pointer from integer without a cast [-Wint-conversion]
  277 |                             offset, bytes, nfs_co_generic_cb, &task) != 0) {
      |                             ^~~~~~
      |                             |
      |                             int64_t {aka long int}
In file included from ../block/nfs.c:49:
/usr/include/nfsc/libnfs.h:723:34: note: expected ‘void *’ but argument is of type ‘int64_t’ {aka ‘long int’}
  723 |                            void *buf, size_t count, uint64_t offset,
      |                            ~~~~~~^~~
../block/nfs.c:277:44: error: passing argument 5 of ‘nfs_pread_async’ makes integer from pointer without a cast [-Wint-conversion]
  277 |                             offset, bytes, nfs_co_generic_cb, &task) != 0) {
      |                                            ^~~~~~~~~~~~~~~~~
      |                                            |
      |                                            void (*)(int,  struct nfs_context *, void *, void *)
/usr/include/nfsc/libnfs.h:723:62: note: expected ‘uint64_t’ {aka ‘long unsigned int’} but argument is of type ‘void (*)(int,  struct nfs_context *, void *, void *)’
  723 |                            void *buf, size_t count, uint64_t offset,
      |                                                     ~~~~~~~~~^~~~~~
../block/nfs.c:277:63: error: passing argument 6 of ‘nfs_pread_async’ from incompatible pointer type [-Wincompatible-pointer-types]
  277 |                             offset, bytes, nfs_co_generic_cb, &task) != 0) {
      |                                                               ^~~~~
      |                                                               |
      |                                                               NFSRPC *
/usr/include/nfsc/libnfs.h:724:35: note: expected ‘nfs_cb’ {aka ‘void (*)(int,  struct nfs_context *, void *, void *)’} but argument is of type ‘NFSRPC *’
  724 |                            nfs_cb cb, void *private_data);
      |                            ~~~~~~~^~
/usr/include/nfsc/libnfs.h:181:16: note: ‘nfs_cb’ declared here
  181 | typedef void (*nfs_cb)(int err, struct nfs_context *nfs, void *data,
      |                ^~~~~~
../block/nfs.c:276:13: error: too few arguments to function ‘nfs_pread_async’; expected 7, have 6
  276 |         if (nfs_pread_async(client->context, client->fh,
      |             ^~~~~~~~~~~~~~~
/usr/include/nfsc/libnfs.h:722:12: note: declared here
  722 | EXTERN int nfs_pread_async(struct nfs_context *nfs, struct nfsfh *nfsfh,
      |            ^~~~~~~~~~~~~~~
../block/nfs.c: In function ‘nfs_co_pwritev’:
../block/nfs.c:323:30: error: passing argument 3 of ‘nfs_pwrite_async’ makes pointer from integer without a cast [-Wint-conversion]
  323 |                              offset, bytes, buf,
      |                              ^~~~~~
      |                              |
      |                              int64_t {aka long int}
/usr/include/nfsc/libnfs.h:785:41: note: expected ‘const void *’ but argument is of type ‘int64_t’ {aka ‘long int’}
  785 |                             const void *buf, size_t count, uint64_t offset,
      |                             ~~~~~~~~~~~~^~~
../block/nfs.c:323:45: error: passing argument 5 of ‘nfs_pwrite_async’ makes integer from pointer without a cast [-Wint-conversion]
  323 |                              offset, bytes, buf,
      |                                             ^~~
      |                                             |
      |                                             char *
/usr/include/nfsc/libnfs.h:785:69: note: expected ‘uint64_t’ {aka ‘long unsigned int’} but argument is of type ‘char *’
  785 |                             const void *buf, size_t count, uint64_t offset,
      |                                                            ~~~~~~~~~^~~~~~
ninja: build stopped: subcommand failed.
make: *** [Makefile:162: run-ninja] Error 1

andersmmg avatar Jul 13 '25 23:07 andersmmg

I patched it in a fork: https://github.com/winbamstudios/qemu-ios-nfs-fix

winbamstudios avatar Aug 01 '25 20:08 winbamstudios