[#115984] [Ruby master Misc#20107] Update required Oracle Solaris Studio version to 12.5 — "kddnewton (Kevin Newton) via ruby-core" <ruby-core@...>

Issue #20107 has been reported by kddnewton (Kevin Newton).

7 messages 2024/01/02

[#115985] [Ruby master Feature#20108] Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp — "shioimm (Misaki Shioi) via ruby-core" <ruby-core@...>

Issue #20108 has been reported by shioimm (Misaki Shioi).

14 messages 2024/01/02

[#116028] [Ruby master Feature#20152] mkmf / extconf: Add a proper way to not compile the extension — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #20152 has been reported by byroot (Jean Boussier).

21 messages 2024/01/05

[#116039] [Ruby master Bug#20154] aarch64: configure overrides `-mbranch-protection` if it was set in CFLAGS via environment — "jprokop (Jarek Prokop) via ruby-core" <ruby-core@...>

Issue #20154 has been reported by jprokop (Jarek Prokop).

11 messages 2024/01/05

[#116041] [Ruby master Bug#20155] Using value of rb_fiber_scheduler_current() crashes Ruby — "paddor (Patrik Wenger) via ruby-core" <ruby-core@...>

Issue #20155 has been reported by paddor (Patrik Wenger).

12 messages 2024/01/05

[#116065] [Ruby master Feature#20160] rescue keyword for case expressions — "lloeki (Loic Nageleisen) via ruby-core" <ruby-core@...>

Issue #20160 has been reported by lloeki (Loic Nageleisen).

9 messages 2024/01/08

[#116083] [Ruby master Feature#20163] Introduce #bit_count method on Integer — "garrison (Garrison Jensen) via ruby-core" <ruby-core@...>

Issue #20163 has been reported by garrison (Garrison Jensen).

25 messages 2024/01/08

[#116114] [Ruby master Bug#20169] `GC.compact` can raises `EFAULT` on IO — "ko1 (Koichi Sasada) via ruby-core" <ruby-core@...>

Issue #20169 has been reported by ko1 (Koichi Sasada).

14 messages 2024/01/09

[#116129] [Ruby master Bug#20172] Socket.addrinfo failing randomly — "mwaldvogel (Michael Waldvogel) via ruby-core" <ruby-core@...>

Issue #20172 has been reported by mwaldvogel (Michael Waldvogel).

9 messages 2024/01/09

[#116182] [Ruby master Bug#20180] Inconsistent evaluation of `**{}` depending on position in array — "ozydingo (Andrew Schwartz) via ruby-core" <ruby-core@...>

Issue #20180 has been reported by ozydingo (Andrew Schwartz).

8 messages 2024/01/12

[#116203] [Ruby master Bug#20185] String#ascii_only? buggy in ruby 3.3 — "chucke (Tiago Cardoso) via ruby-core" <ruby-core@...>

SXNzdWUgIzIwMTg1IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGNodWNrZSAoVGlhZ28gQ2FyZG9zbyku

7 messages 2024/01/14

[#116223] [Ruby master Bug#20188] `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #20188 has been reported by byroot (Jean Boussier).

32 messages 2024/01/16

[#116315] [Ruby master Misc#20193] DevMeeting-2024-02-14 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

Issue #20193 has been reported by mame (Yusuke Endoh).

16 messages 2024/01/19

[#116347] [Ruby master Bug#20197] Postponed job invocations are significantly reduced in Ruby 3.3 — "osyoyu (Daisuke Aritomo) via ruby-core" <ruby-core@...>

Issue #20197 has been reported by osyoyu (Daisuke Aritomo).

8 messages 2024/01/20

[#116370] [Ruby master Bug#20203] `TestEnumerable` test failures with GCC 14 — "vo.x (Vit Ondruch) via ruby-core" <ruby-core@...>

Issue #20203 has been reported by vo.x (Vit Ondruch).

13 messages 2024/01/22

[#116382] [Ruby master Feature#20205] Enable `frozen_string_literal` by default — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #20205 has been reported by byroot (Jean Boussier).

77 messages 2024/01/23

[#116395] [Ruby master Bug#20207] Segmentation fault for a regexp containing positive and negative lookaheads — "Sundeep (Sundeep Agarwal) via ruby-core" <ruby-core@...>

Issue #20207 has been reported by Sundeep (Sundeep Agarwal).

7 messages 2024/01/24

[#116399] [Ruby master Bug#20208] Net::HTTP errors with Errno::EAFNOSUPPORT when setting local_host with Addrinfo — "jprokop (Jarek Prokop) via ruby-core" <ruby-core@...>

Issue #20208 has been reported by jprokop (Jarek Prokop).

9 messages 2024/01/24

[#116435] [Ruby master Misc#20210] Invalid source encoding raises ArgumentError, not SyntaxError — "kddnewton (Kevin Newton) via ruby-core" <ruby-core@...>

Issue #20210 has been reported by kddnewton (Kevin Newton).

8 messages 2024/01/25

[#116456] [Ruby master Feature#20215] Introduce `IO#readable?` — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #20215 has been reported by ioquatix (Samuel Williams).

17 messages 2024/01/26

[#116460] [Ruby master Bug#20218] aset/masgn/op_asgn with keyword arguments — "jeremyevans0 (Jeremy Evans) via ruby-core" <ruby-core@...>

Issue #20218 has been reported by jeremyevans0 (Jeremy Evans).

18 messages 2024/01/27

[#116491] [Ruby master Bug#20225] Inconsistent behavior of regex matching for a regex has a null loop — "make_now_just (Hiroya Fujinami) via ruby-core" <ruby-core@...>

Issue #20225 has been reported by make_now_just (Hiroya Fujinami).

10 messages 2024/01/30

[#116493] [Ruby master Bug#20226] Inconsistent Sort results on 3.3.0 compared to previous versions — "omerby (Omer Ben Yosef) via ruby-core" <ruby-core@...>

Issue #20226 has been reported by omerby (Omer Ben Yosef).

14 messages 2024/01/30

[ruby-core:116508] [Ruby master Misc#19758] Statically link ext/json

From: "jmarrec (Julien Marrec) via ruby-core" <ruby-core@...>
Date: 2024-01-30 14:02:51 UTC
List: ruby-core #116508
Issue #19758 has been updated by jmarrec (Julien Marrec).


Hello, 

I am facing the same issue today, though I am presently on Ubuntu, not windows. I realized that `Init_ext` was doing nothing (I couldn't then use `require 'bigdecimal'` without a crash) by using a debugger and I noticed that it was picking up the empty one from `dmyext.c` and not the auto-generated `ext/extinit.c` one. I have specifically uncommented all lines in `ext/Setup` (except the win32 ones) to have `option nodynamic` enabled in particular.

I tried specifically not linking to INITOBJS by patching Makefile.in as follow, but I get a failure to build. At that point in time when the `libruby-static.a` target is called, the EXTOBJS / ENCOBJS do not exist on disk yet (EXTOBJS=ext/extinit.o, ENCOBJS=enc/encinit.o enc/libenc.a enc/libtrans.a).

And `libruby-static.a` is needed for miniruby (I think), which is needed to build those EXT/ENC objects. So there needs to be some kind of final pass with AR overriding the `Init_ext`/`Init_enc` or something? And perhaps also merging the inidividual ext/  && enc `.a` libraries into the `libruby-static.a` itself so everything is self-contained?

Do you have any tips please?

----

**(Failed) things I tried:**

I'm not experienced enough with the ruby build system (I have trouble following how the extensions's target are called) to make that happen, so in the interim I tried to manually fix the libruby-static.a via new make target that calls `ar` to replace INITOBJS with EXTOBJS / ENCOBJS but that failed too, because it's missing the individual Init_<ext> (eg: Init_digest, Init_big5, etc).

Truncated failure when `make && make final-libruby_a && verify-static-library`:

``` shell
/usr/bin/ld: libruby-static.a(extinit.o): in function `Init_ext':
/home/julien/Software/Others/ruby-download/ruby-3.2.2-build/ext/extinit.c:12: undefined reference to `Init_bigdecimal'
/usr/bin/ld: /home/julien/Software/Others/ruby-download/ruby-3.2.2-build/ext/extinit.c:13: undefined reference to `Init_escape'
/usr/bin/ld: /home/julien/Software/Others/ruby-download/ruby-3.2.2-build/ext/extinit.c:14: undefined reference to `Init_continuation
```

Bad patch I tried to apply:

``` diff
diff --git a/template/Makefile.in b/template/Makefile.in
--- a/template/Makefile.in
+++ b/template/Makefile.in
@@ -333,7 +333,18 @@ $(LIBRUBY_A):
 		@$(RM) $@
 		@-[ -z "$(EXTSTATIC)" ] || $(PRE_LIBRUBY_UPDATE)
 		$(ECHO) linking static-library $@
-		$(Q) $(AR) $(ARFLAGS) $@ $(LIBRUBY_A_OBJS) $(INITOBJS)
+		$(ECHO) LIBRUBY_A_OBJS=$(LIBRUBY_A_OBJS)
+		$(ECHO) INITOBJS=$(INITOBJS)
+		$(ECHO) EXTOBJS=$(EXTOBJS)
+		$(ECHO) ENCOBJS=$(ENCOBJS)
+		$(ECHO) ext/extinit.$(OBJEXT) enc/encinit.$(OBJEXT)
+		$(Q) if [ -z "$(EXTSTATIC)" ]; then \
+		  $(ECHO0) CMD=$(AR) $(ARFLAGS) $@ $(LIBRUBY_A_OBJS) $(INITOBJS); \
+		  $(AR) $(ARFLAGS) $@ $(LIBRUBY_A_OBJS) $(INITOBJS); \
+		else \
+		  $(ECHO0) CMD=$(AR) $(ARFLAGS) $@ $(LIBRUBY_A_OBJS) $(INITOBJS); \
+		  $(AR) $(ARFLAGS) $@ $(LIBRUBY_A_OBJS) $(INITOBJS); \
+		fi
 		$(Q) if [ 'no' != '$(YJIT_SUPPORT)' ]; then \
 		  set -eu$(V0:1=x) && \
 		  $(ECHO0) 'merging $(YJIT_LIBS) into $@' && \
@@ -346,7 +357,18 @@ $(LIBRUBY_A):
 		fi
 		@-$(RANLIB) $@ 2> /dev/null || true
 
-verify-static-library: $(LIBRUBY_A)
+final-libruby_a:
+		@-[ -z "$(EXTSTATIC)" ]
+		$(ECHO) Replacing INCOBJS with EXTOBJS and ENCOBS in static-library $(LIBRUBY_A)
+		$(ECHO) LIBRUBY_A_OBJS=$(LIBRUBY_A_OBJS)
+		$(ECHO) INITOBJS=$(INITOBJS)
+		$(ECHO) EXTOBJS=$(EXTOBJS)
+		$(ECHO) ENCOBJS=$(ENCOBJS)
+		$(AR) dD $(LIBRUBY_A) $(INITOBJS)
+		$(AR) rD $(LIBRUBY_A) $(EXTOBJS) $(ENCOBJS)
+		@-$(RANLIB) $(LIBRUBY_A) 2> /dev/null || true
+
+verify-static-library:
 		$(ECHO) verifying static-library $@
 		@$(PURIFY) $(CC) $(EXE_LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)conftest$(EXEEXT)
 		@$(RMALL) conftest$(EXEEXT) conftest.c conftest.dSYM
```

My configure call is as follows:


``` shell
../ruby-patching/configure    --prefix=/ '--bindir=${prefix}/bin' '--sbindir=${prefix}/bin' '--libdir=${prefix}/lib' '--includedir=${prefix}/include' '--oldincludedir=${prefix}/include'    --disable-shared --enable-static    --disable-install-doc --with-static-linked-ext --enable-load-relative    --with-zlib-dir=/home/julien/.conan2/p/b/zlib1b2fc466a3731/p    --with-openssl-dir=/home/julien/.conan2/p/b/opensccd63d9154ad3/p    --with-libffi-dir=/home/julien/.conan2/p/b/libffe070527d1c02e/p    --with-libyaml-dir=/home/julien/.conan2/p/b/libyae7bed9b8d84ed/p    --with-readline-dir=/home/julien/.conan2/p/b/readl6fb13f62b9c29/p    --with-gmp-dir=/home/julien/.conan2/p/b/gmp598d198a78496/p    --with-opt-dir=/home/julien/.conan2/p/b/zlib1b2fc466a3731/p:/home/julien/.conan2/p/b/opensccd63d9154ad3/p:/home/julien/.conan2/p/b/libffe070527d1c02e/p:/home/julien/.conan2/p/b/libyae7bed9b8d84ed/p:/home/julien/.conan2/p/b/readl6fb13f62b9c29/p:/home/julien/.conan2/p/b/gmp598d198a78496/p    --disable-j
 it-support     --enable-mkmf-verbose    --enable-debug-env
```

----------------------------------------
Misc #19758: Statically link ext/json
https://bugs.ruby-lang.org/issues/19758#change-106527

* Author: MyCo (Maik Menz)
* Status: Open
* Priority: Normal
* Assignee: nobu (Nobuyoshi Nakada)
----------------------------------------
Hi,

I'm building Ruby both as dynamic and static library with MSVC for a project. Everything appears to work fine, but now I'm trying to use the json ext, and it only works with the dynamically linked version.
In the statically linked version it says it's missing json/pure but on closer inspection the reason it says that is because it can't find json/ext/parser (and probably also json/ext/generator) in the first place.

I can see that both parser & generator created static libs in the build directory but they aren't linked into the ruby lib. 
With my limited knowledge of the building processes, my first attempt was to add both of those libs into `LOCAL_LIBS` and now they apear in the linking process.
But this still doesn't change anything. It's still not finding those 2 libs in the statically linked Ruby build.

What am I missing? What do I have to do, to get those linked into the static lib?

Regards
Maik



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/

In This Thread

Prev Next