[CRIU] [Announce] CRIU v3.3 (Crystal Pelican)

Dmitry Safonov 0x7f454c46 at gmail.com
Wed Jul 19 16:52:50 MSK 2017


2017-07-19 16:39 GMT+03:00 Adrian Reber <adrian at lisas.de>:
> On Wed, Jul 19, 2017 at 11:54:31AM +0300, Pavel Emelyanov wrote:
>> On 07/19/2017 10:26 AM, Adrian Reber wrote:
>> > On Tue, Jul 18, 2017 at 10:01:35PM +0300, Pavel Emelyanov wrote:
>> >> The new version is out. Most of the changes this time are preparation for future new
>> >> features and optimizations, that hasn't yet been well tested and polished.
>> >>
>> >> However, we have several new features. The most important one is the --tcp-close
>> >> option to help migration of Docker containers, that constantly change their IP address.
>> >>
>> >> And, as usually, a set of bugfixes.
>> >>
>> >> Changelog: https://criu.org/Download/criu/3.3
>> >> Sources: http://download.openvz.org/criu/criu-3.3.tar.bz2
>> >
>> > I have a build failure on aarch64:
>> >
>> > In file included from compel/plugins/std/infect.c:13:0:
>> > compel/include/uapi/compel/asm/sigframe.h:30:20: error: field 'uc' has incomplete type
>> >   struct ucontext   uc;
>> >                     ^~
>>
>> Ouch :( As a lame excuse we have aarch64 build passed on Travis :)
>> https://travis-ci.org/xemul/criu/jobs/255093557
>>
>> Adrian, would you try to fix this issue, it looks like just some system header
>> that was included on Travis' Ubuntu is missing on Fedora.
>
> This is another glibc change:
>
> https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=251287734e89a52da3db682a8241eb6bccc050c9;hp=c86ed71d633c22d6f638576f7660c52a5f783d66
>
> 'struct ucontext' has been renamed to 'struct ucontext_t'

Ugh, thanks for noticing that!

>
> Any recommendations how a fix should look like? Old glibc has 'struct
> ucontext' and the new, upcoming release has 'struct ucontext_t'.

There are scripts/feature-tests.mak - simple tests for compiler/environment.
Add there a test something like UCONTEXT_T with a simple
main() { struct ucontext_t tmp; return 0; }

Add this also to FEATURES_LIST in Makefile.config and then define
#ifndef CONFIG_HAS_UCONTEXT_T
#define ucontext ucontext_t;
#endif

Or something like that %)

-- 
             Dmitry


More information about the CRIU mailing list