[CRIU] [Announce] CRIU 3.5 "Clay Jay" is out

Pavel Emelyanov xemul at virtuozzo.com
Thu Sep 28 16:40:22 MSK 2017


On 09/28/2017 02:16 PM, Adrian Reber wrote:
> On Thu, Sep 28, 2017 at 11:19:20AM +0200, Adrian Reber wrote:
>> On Wed, Sep 27, 2017 at 03:35:02PM +0300, Pavel Emelyanov wrote:
>>> Please, join me in honoring Mike and Adrian for lazy restore and Dima for VDSO rework!
>>> Both features are finally released and ... are ready to get fixed :)
>>>
>>> Full changelog is https://criu.org/Download/criu/3.5
>>> Sources http://download.openvz.org/criu/criu-3.5.tar.bz2
>>>
>>> Have fun!
>>
>> I already had fun with this release ;-) It does not build on any
>> architecture on Fedora's development branch rawhide:
>>
>> In file included from /usr/include/linux/aio_abi.h:31:0,
>>                  from criu/cr-check.c:24:
>> /usr/include/sys/mount.h:35:3: error: expected identifier before numeric constant
>>    MS_RDONLY = 1,  /* Mount read-only.  */
>>    ^
>> make[2]: *** [/builddir/build/BUILD/criu-3.5/scripts/nmk/scripts/build.mk:111: criu/cr-check.o] Error 1
>> make[1]: *** [criu/Makefile:73: criu/built-in.o] Error 2
>> make: *** [Makefile:233: criu] Error 2
>>
>> See the attached patch for a simple fix.
> 
> And one more failure on aarch64:
> 
> In file included from compel/include/uapi/compel/infect.h:6:0,
>                  from compel/include/uapi/compel/compel.h:12,
>                  from compel/include/log.h:4,
>                  from compel/arch/aarch64/src/lib/infect.c:8:
> compel/arch/aarch64/src/lib/infect.c: In function 'sigreturn_prep_regs_plain':
> compel/include/uapi/compel/asm/sigframe.h:47:99: error: 'mcontext_t {aka struct <anonymous>}' has no member named '__reserved'; did you mean '__glibc_reserved1'?
>  #define RT_SIGFRAME_AUX_CONTEXT(rt_sigframe) ((struct aux_context*)&(rt_sigframe)->uc.uc_mcontext.__reserved)
>                                                                                                    ^
> compel/include/uapi/compel/asm/sigframe.h:48:41: note: in expansion of macro 'RT_SIGFRAME_AUX_CONTEXT'
>  #define RT_SIGFRAME_FPU(rt_sigframe)  (&RT_SIGFRAME_AUX_CONTEXT(rt_sigframe)->fpsimd)
>                                          ^~~~~~~~~~~~~~~~~~~~~~~
> compel/arch/aarch64/src/lib/infect.c:34:34: note: in expansion of macro 'RT_SIGFRAME_FPU'
>   struct fpsimd_context *fpsimd = RT_SIGFRAME_FPU(sigframe);
>                                   ^~~~~~~~~~~~~~~
> make[1]: *** [/builddir/build/BUILD/criu-3.5/scripts/nmk/scripts/build.mk:209: compel/arch/aarch64/src/lib/infect.o] Error 1
> make: *** [Makefile.compel:36: compel/libcompel.a] Error 2
> error: Bad exit status from /var/tmp/rpm-tmp.IExY9K (%build)
> 
> This seems to be related to the following glibc changes:
> 
> https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=4fa9b3bfe6759c82beb4b043a54a3598ca467289


>From the changelog:
   Use __glibc_reserved1 instead of __reserved.

And it's not a macro, so we cannot check it with #ifdef :\ IIRC we've seen smth like that
before, again with uc_mcontext.

-- Pavel


More information about the CRIU mailing list