ruby: disable libruby.so

Message ID 20220120222256.1697929-1-alex@linutronix.de
State New
Headers show
Series ruby: disable libruby.so | expand

Commit Message

Alexander Kanavin Jan. 20, 2022, 10:22 p.m. UTC
It was found to cause races in make install, as observed in
https://bugzilla.yoctoproject.org/show_bug.cgi?id=14695

[YOCTO #14695]

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/recipes-devtools/ruby/ruby_3.1.0.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Richard Purdie Jan. 20, 2022, 10:55 p.m. UTC | #1
On Thu, 2022-01-20 at 23:22 +0100, Alexander Kanavin wrote:
> It was found to cause races in make install, as observed in
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=14695
> 
> [YOCTO #14695]
> 
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  meta/recipes-devtools/ruby/ruby_3.1.0.bb | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-devtools/ruby/ruby_3.1.0.bb b/meta/recipes-devtools/ruby/ruby_3.1.0.bb
> index 7183c93d45..128e4527e1 100644
> --- a/meta/recipes-devtools/ruby/ruby_3.1.0.bb
> +++ b/meta/recipes-devtools/ruby/ruby_3.1.0.bb
> @@ -29,7 +29,7 @@ EXTRA_OECONF = "\
>      --disable-versioned-paths \
>      --disable-rpath \
>      --disable-dtrace \
> -    --enable-shared \
> +    --disable-shared \
>      --enable-load-relative \
>      --with-pkg-config=pkg-config \
>      --with-static-linked-ext \

Disabling shared libraries because there is a makefile bug doesn't seem like the
right solution :(. 

Better might be disabling parallelism in make install. It raises questions about
why it is linking/relinking a library in the install step too of course...

Cheers,

Richard
Alexander Kanavin Jan. 20, 2022, 11:58 p.m. UTC | #2
On Thu, 20 Jan 2022 at 23:55, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> Disabling shared libraries because there is a makefile bug doesn't seem
> like the
> right solution :(.
>
> Better might be disabling parallelism in make install. It raises questions
> about
> why it is linking/relinking a library in the install step too of course...
>

It's doing this with ruby executable too; seems like make install
regenerates something that triggers the relink:

| generating enc.mk

I can try to dig deeper, but upstream isn't even enabling the shared
library by default, so they're probably oblivious to the whole thing
:-/

Alex

Patch

diff --git a/meta/recipes-devtools/ruby/ruby_3.1.0.bb b/meta/recipes-devtools/ruby/ruby_3.1.0.bb
index 7183c93d45..128e4527e1 100644
--- a/meta/recipes-devtools/ruby/ruby_3.1.0.bb
+++ b/meta/recipes-devtools/ruby/ruby_3.1.0.bb
@@ -29,7 +29,7 @@  EXTRA_OECONF = "\
     --disable-versioned-paths \
     --disable-rpath \
     --disable-dtrace \
-    --enable-shared \
+    --disable-shared \
     --enable-load-relative \
     --with-pkg-config=pkg-config \
     --with-static-linked-ext \