[CRIU] [Announce] CRIU 3.1 released

Dmitry Safonov 0x7f454c46 at gmail.com
Mon May 22 10:02:24 PDT 2017


2017-05-22 19:52 GMT+03:00 Dmitry Safonov <0x7f454c46 at gmail.com>:
> 2017-05-22 19:03 GMT+03:00 Dmitry Safonov <0x7f454c46 at gmail.com>:
>> 2017-05-22 18:56 GMT+03:00 Adrian Reber <adrian at lisas.de>:
>>> On Mon, May 22, 2017 at 05:17:21PM +0200, Adrian Reber wrote:
>>>> On Mon, May 22, 2017 at 05:12:48PM +0200, Adrian Reber wrote:
>>>> > On Mon, May 22, 2017 at 11:58:35AM +0300, Pavel Emelyanov wrote:
>>>> > > The 3.1 is out. This is not a huge release, we have a couple of bugfixes,
>>>> > > a set of improvements and a few new features. Most of what we have now
>>>> > > is a prerequisite for some "big thing" in the future.
>>>> > >
>>>> > > Changelog: https://criu.org/Download/criu/3.1
>>>> > > Sources: https://download.openvz.org/criu/criu-3.1.tar.bz2
>>>> >
>>>> > I just tried it on Fedora 26 and it does not work anymore:
>>>> >
>>>> > https://lisas.de/~adrian/dump.log (4.11.1-300.fc26.x86_64)
>>>> >
>>>> > The failure above is from the tarball. On a RHEL kernel the git checkout
>>>> > from the tag v3.1 still works.
>>>>
>>>> criu actually just hangs. Nothing happens until I press CTRL+C
>>>
>>> And criu-dev does not build on above kernel:
>>>
>>> In file included from soccr/soccr.c:9:0:
>>> soccr/soccr.h:14:8: error: redefinition of ‘struct tcp_repair_window’
>>>  struct tcp_repair_window {
>>>         ^~~~~~~~~~~~~~~~~
>>> In file included from soccr/soccr.c:5:0:
>>> /usr/include/netinet/tcp.h:312:8: note: originally defined here
>>>  struct tcp_repair_window
>>>         ^~~~~~~~~~~~~~~~~
>>> make[1]: *** [/share/criu/scripts/nmk/scripts/build.mk:111: soccr/soccr.o] Error 1
>>> make: *** [Makefile:200: soccr/built-in.o] Error 2
>>
>> This looks to be mine...
>> I'll check it.
>
> Ok, I think it's simple:
> you've previously built criu on an older kernel with older uapi,
> which has no struct tcp_repair_window.
> Which means that you've criu/include/config.h generated
> for the previous kernel.
>
> Please, run `make mrproper` after updating kernel on dirty criu
> directory before building new criu.

I think we can actually improve this by separating feature-tests
in real *.c files and generate dependencies for them.
Then make will find out that uapi header has newer creation
time and re-run tests.

I'll have it in todo-list.

-- 
             Dmitry



More information about the CRIU mailing list