Fixes: 3a67848134d0
Signed-off-by: Alex Bennée <alex.bennee@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
zstd_cflags="$($pkg_config --cflags libzstd)"
zstd_libs="$($pkg_config --libs libzstd)"
LIBS="$zstd_libs $LIBS"
--
2.20.1
Alex Bennée <alex.bennee@linaro.org> writes:
> Fixes: 3a67848134d0
> Signed-off-by: Alex Bennée <alex.bennee@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
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;
^
/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"
--
Alex Bennée
Alex Bennée <alex.bennee@linaro.org> wrote:
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> Fixes: 3a67848134d0
>> Signed-off-by: Alex Bennée <alex.bennee@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"
Juan Quintela <quintela@redhat.com> writes: > Alex Bennée <alex.bennee@linaro.org> wrote: >> Alex Bennée <alex.bennee@linaro.org> writes: >> >>> Fixes: 3a67848134d0 >>> Signed-off-by: Alex Bennée <alex.bennee@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. It broke on the CI setup - it could be another issue with the ageing Travis images (Ubuntu 16.04). >> 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). Well it detected it: zstd support yes > > - 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. Obviously not that new but has changed since it first got introduced. -- Alex Bennée
Alex Bennée <alex.bennee@linaro.org> wrote:
> Juan Quintela <quintela@redhat.com> writes:
>
>> Alex Bennée <alex.bennee@linaro.org> wrote:
>>> Alex Bennée <alex.bennee@linaro.org> writes:
>>>
>>
>> Can you told me what architecture/distro/os are you using.
>
> It broke on the CI setup - it could be another issue with the ageing
> Travis images (Ubuntu 16.04).
>
>>> 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).
>
> Well it detected it:
>
> zstd support yes
>
>>
>> - 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.
>
> Obviously not that new but has changed since it first got introduced.
I put my archeology hat, and went digging.
Streaming API was introduced on this commit:
commit 5a0c8e24395079f8e8cdc90aa1659cd5ab1b7427
Author: Yann Collet <yann.collet.73@gmail.com>
Date: Fri Aug 12 01:20:36 2016 +0200
new streaming API (compression)
And it first appears on v0.8.1 version.
Posting a better fix on toplevel. If you want to try, I have changed it
to:
diff --git a/configure b/configure
index 7b373bc0bb..1bf48df1ef 100755
--- a/configure
+++ b/configure
@@ -2464,7 +2464,8 @@ fi
# zstd check
if test "$zstd" != "no" ; then
- if $pkg_config --exist libzstd ; then
+ libzstd_minver="0.8.1"
+ if $pkg_config --atleast-version=$libzstd_minver libzstd ; then
zstd_cflags="$($pkg_config --cflags libzstd)"
zstd_libs="$($pkg_config --libs libzstd)"
LIBS="$zstd_libs $LIBS"
If you can check that this works for you, thanks.
© 2016 - 2025 Red Hat, Inc.