Alex Bennée <alex.ben...@linaro.org> wrote: > Alex Bennée <alex.ben...@linaro.org> writes: > >> Fixes: 3a67848134d0 >> Signed-off-by: Alex Bennée <alex.ben...@linaro.org> >> --- >> configure | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/configure b/configure >> index 7b373bc0bb8..caa65f58831 100755 >> --- a/configure >> +++ b/configure >> @@ -2464,7 +2464,7 @@ fi >> # zstd check >> >> if test "$zstd" != "no" ; then >> - if $pkg_config --exist libzstd ; then >> + if $pkg_config --exists libzstd ; then
Hi several things: a- I found why I didn't get the error. Fedora pkg-config is really "smart": b- I have tried (with this patch), the following configurations: * --enable-zstd * --disable-zstd with both libzstd-devel installed and not installed. Everything worked as expected. (BTW, I tested that before submmiting the patch in the first place, I thought that I had done all testing needed for such a check). Can you told me what architecture/distro/os are you using. > Dropping this patch as it breaks the build even more! > > CC migration/block.o > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:24:5: error: unknown > type name ‘ZSTD_CStream’ > > ZSTD_CStream *zcs; > > ^ This is really weird. if you arrive here, that means: - you have zstd devel installed (whatever is that called for your os/distro/whatever). - pkg-config has found zstd devel packages and configured them (that file depends on CONFiG_ZSTD beoing defined) - gcc has found <zstd.h> (i.e. it don't give one error about that include file not found). And zstd don't have ZSTD_CStream defined? What is going on here? Can you post/show what is on your zstd.h file? What zstd library version do you have? I thought that zstd was a new library, and that we didn't need to check for versions. It appears that I was wrong. And no, the include file don't show what features are new/old. Sorry for the inconveniences. Later, Juan. > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:26:5: error: unknown > type name ‘ZSTD_DStream’ > > ZSTD_DStream *zds; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:28:5: error: unknown > type name ‘ZSTD_inBuffer’ > > ZSTD_inBuffer in; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:29:5: error: unknown > type name ‘ZSTD_outBuffer’ > > ZSTD_outBuffer out; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c: In function > ‘zstd_send_setup’: > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:55:14: error: > implicit declaration of function ‘ZSTD_createCStream’ > [-Werror=implicit-function-declaration] > > z->zcs = ZSTD_createCStream(); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:55:5: error: nested > extern declaration of ‘ZSTD_createCStream’ [-Werror=nested-externs] > > z->zcs = ZSTD_createCStream(); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:55:12: error: > assignment makes pointer from integer without a cast [-Werror=int-conversion] > > z->zcs = ZSTD_createCStream(); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:62:11: error: > implicit declaration of function ‘ZSTD_initCStream’ > [-Werror=implicit-function-declaration] > > res = ZSTD_initCStream(z->zcs, migrate_multifd_zstd_level()); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:62:5: error: nested > extern declaration of ‘ZSTD_initCStream’ [-Werror=nested-externs] > > res = ZSTD_initCStream(z->zcs, migrate_multifd_zstd_level()); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:64:9: error: > implicit declaration of function ‘ZSTD_freeCStream’ > [-Werror=implicit-function-declaration] > > ZSTD_freeCStream(z->zcs); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:64:9: error: nested > extern declaration of ‘ZSTD_freeCStream’ [-Werror=nested-externs] > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c: In function > ‘zstd_send_prepare’: > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:120:11: error: > request for member ‘dst’ in something not a structure or union > > z->out.dst = z->zbuff; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:121:11: error: > request for member ‘size’ in something not a structure or union > > z->out.size = z->zbuff_len; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:122:11: error: > request for member ‘pos’ in something not a structure or union > > z->out.pos = 0; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:125:9: error: > unknown type name ‘ZSTD_EndDirective’ > > ZSTD_EndDirective flush = ZSTD_e_continue; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:125:35: error: > ‘ZSTD_e_continue’ undeclared (first use in this function) > > ZSTD_EndDirective flush = ZSTD_e_continue; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:125:35: note: each > undeclared identifier is reported only once for each function it appears in > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:128:21: error: > ‘ZSTD_e_flush’ undeclared (first use in this function) > > flush = ZSTD_e_flush; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:130:14: error: > request for member ‘src’ in something not a structure or union > > z->in.src = iov[i].iov_base; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:131:14: error: > request for member ‘size’ in something not a structure or union > > z->in.size = iov[i].iov_len; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:132:14: error: > request for member ‘pos’ in something not a structure or union > > z->in.pos = 0; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:143:19: error: > implicit declaration of function ‘ZSTD_compressStream2’ > [-Werror=implicit-function-declaration] > > ret = ZSTD_compressStream2(z->zcs, &z->out, &z->in, flush); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:143:13: error: > nested extern declaration of ‘ZSTD_compressStream2’ [-Werror=nested-externs] > > ret = ZSTD_compressStream2(z->zcs, &z->out, &z->in, flush); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:144:35: error: > request for member ‘size’ in something not a structure or union > > } while (ret > 0 && (z->in.size - z->in.pos > 0) > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:144:48: error: > request for member ‘pos’ in something not a structure or union > > } while (ret > 0 && (z->in.size - z->in.pos > 0) > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:145:36: error: > request for member ‘size’ in something not a structure or union > > && (z->out.size - z->out.pos > 0)); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:145:50: error: > request for member ‘pos’ in something not a structure or union > > && (z->out.size - z->out.pos > 0)); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:146:30: error: > request for member ‘size’ in something not a structure or union > > if (ret > 0 && (z->in.size - z->in.pos > 0)) { > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:146:43: error: > request for member ‘pos’ in something not a structure or union > > if (ret > 0 && (z->in.size - z->in.pos > 0)) { > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:157:33: error: > request for member ‘pos’ in something not a structure or union > > p->next_packet_size = z->out.pos; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c: In function > ‘zstd_recv_setup’: > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:199:14: error: > implicit declaration of function ‘ZSTD_createDStream’ > [-Werror=implicit-function-declaration] > > z->zds = ZSTD_createDStream(); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:199:5: error: nested > extern declaration of ‘ZSTD_createDStream’ [-Werror=nested-externs] > > z->zds = ZSTD_createDStream(); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:199:12: error: > assignment makes pointer from integer without a cast [-Werror=int-conversion] > > z->zds = ZSTD_createDStream(); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:206:11: error: > implicit declaration of function ‘ZSTD_initDStream’ > [-Werror=implicit-function-declaration] > > ret = ZSTD_initDStream(z->zds); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:206:5: error: nested > extern declaration of ‘ZSTD_initDStream’ [-Werror=nested-externs] > > ret = ZSTD_initDStream(z->zds); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:208:9: error: > implicit declaration of function ‘ZSTD_freeDStream’ > [-Werror=implicit-function-declaration] > > ZSTD_freeDStream(z->zds); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:208:9: error: nested > extern declaration of ‘ZSTD_freeDStream’ [-Werror=nested-externs] > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c: In function > ‘zstd_recv_pages’: > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:281:10: error: > request for member ‘src’ in something not a structure or union > > z->in.src = z->zbuff; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:282:10: error: > request for member ‘size’ in something not a structure or union > > z->in.size = in_size; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:283:10: error: > request for member ‘pos’ in something not a structure or union > > z->in.pos = 0; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:288:15: error: > request for member ‘dst’ in something not a structure or union > > z->out.dst = iov->iov_base; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:289:15: error: > request for member ‘size’ in something not a structure or union > > z->out.size = iov->iov_len; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:290:15: error: > request for member ‘pos’ in something not a structure or union > > z->out.pos = 0; > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:301:19: error: > implicit declaration of function ‘ZSTD_decompressStream’ > [-Werror=implicit-function-declaration] > > ret = ZSTD_decompressStream(z->zds, &z->out, &z->in); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:301:13: error: > nested extern declaration of ‘ZSTD_decompressStream’ [-Werror=nested-externs] > > ret = ZSTD_decompressStream(z->zds, &z->out, &z->in); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:302:35: error: > request for member ‘size’ in something not a structure or union > > } while (ret > 0 && (z->in.size - z->in.pos > 0) > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:302:48: error: > request for member ‘pos’ in something not a structure or union > > } while (ret > 0 && (z->in.size - z->in.pos > 0) > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:303:36: error: > request for member ‘pos’ in something not a structure or union > > && (z->out.pos < iov->iov_len)); > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:304:31: error: > request for member ‘pos’ in something not a structure or union > > if (ret > 0 && (z->out.pos < iov->iov_len)) { > > ^ > > /home/travis/build/stsquad/qemu/migration/multifd-zstd.c:314:27: error: > request for member ‘pos’ in something not a structure or union > > out_size += z->out.pos; > > ^ > > cc1: all warnings being treated as errors > > /home/travis/build/stsquad/qemu/rules.mak:69: recipe for target > 'migration/multifd-zstd.o' failed > > make: *** [migration/multifd-zstd.o] Error 1 > > make: *** Waiting for unfinished jobs.... > > rm tests/qemu-iotests/socket_scm_helper.o > >> zstd_cflags="$($pkg_config --cflags libzstd)" >> zstd_libs="$($pkg_config --libs libzstd)" >> LIBS="$zstd_libs $LIBS"