[Buildroot] [PATCH] ruby: update to 2.7.1

Thomas Petazzoni thomas.petazzoni at bootlin.com
Wed Sep 30 20:16:08 UTC 2020


Hello Waldemar,

On Wed, 30 Sep 2020 12:23:19 +0200
Waldemar Brodkorb <wbx at openadk.org> wrote:

> -RUBY_VERSION_MAJOR = 2.4
> -RUBY_VERSION = $(RUBY_VERSION_MAJOR).10
> -RUBY_VERSION_EXT = 2.4.0
> +RUBY_VERSION_MAJOR = 2.7
> +RUBY_VERSION = $(RUBY_VERSION_MAJOR).1
> +RUBY_VERSION_EXT = 2.7.0

Thanks a lot for taking care of updating Ruby! Unfortunately, this
breaks the build, at least on SuperH/uClibc:

In file included from coroutine/ucontext/Context.c:14:
coroutine/ucontext/Context.h:22:5: error: unknown type name ‘ucontext_t’
     ucontext_t state;
     ^~~~~~~~~~
coroutine/ucontext/Context.h: In function ‘coroutine_initialize_main’:
coroutine/ucontext/Context.h:32:5: warning: implicit declaration of function ‘getcontext’ [-Wimplicit-function-declaration]
     getcontext(&context->state);
     ^~~~~~~~~~
coroutine/ucontext/Context.h: In function ‘coroutine_initialize’:
coroutine/ucontext/Context.h:45:19: error: request for member ‘uc_stack’ in something not a structure or union
     context->state.uc_stack.ss_size = size;
                   ^
In file included from coroutine/ucontext/Context.c:14:
coroutine/ucontext/Context.h:47:19: error: request for member ‘uc_stack’ in something not a structure or union
     context->state.uc_stack.ss_sp = (char*)stack;
                   ^
coroutine/ucontext/Context.h:48:19: error: request for member ‘uc_stack’ in something not a structure or union
     context->state.uc_stack.ss_flags = 0;
                   ^
coroutine/ucontext/Context.h:49:19: error: request for member ‘uc_link’ in something not a structure or union
     context->state.uc_link = NULL;
                   ^
coroutine/ucontext/Context.h:51:5: warning: implicit declaration of function ‘makecontext’ [-Wimplicit-function-declaration]
     makecontext(&context->state, (void(*)(void))coroutine_trampoline, 2, (void*)start, (void*)context);
     ^~~~~~~~~~~
coroutine/ucontext/Context.h: In function ‘coroutine_transfer’:
coroutine/ucontext/Context.h:59:5: warning: implicit declaration of function ‘swapcontext’ [-Wimplicit-function-declaration]
     swapcontext(&current->state, &target->state);
     ^~~~~~~~~~~
coroutine/ucontext/Context.h: In function ‘coroutine_destroy’:
coroutine/ucontext/Context.h:67:19: error: request for member ‘uc_stack’ in something not a structure or union
     context->state.uc_stack.ss_sp = NULL;
                   ^
coroutine/ucontext/Context.h:68:19: error: request for member ‘uc_stack’ in something not a structure or union
     context->state.uc_stack.ss_size = 0;
                   ^
make[1]: *** [Makefile:421: coroutine/ucontext/Context.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/thomas/projets/buildroot/output/build/ruby-2.7.1'

Also, could you review ruby.mk and see if other changes are needed? For
example, when I see:

# workaround for amazing build failure, see
# http://lists.busybox.net/pipermail/buildroot/2014-December/114273.html
define RUBY_REMOVE_VERCONF_H
        rm -f $(@D)/verconf.h
endef
RUBY_POST_CONFIGURE_HOOKS += RUBY_REMOVE_VERCONF_H

It's good to check if that's still needed.

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



More information about the buildroot mailing list