Summary: | dev-lang/ruby-3.2.1 failed to emerge (make: *** [uncommon.mk:1216: builtin_binary.inc] Segmentation fault (core dumped)) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Leonid Kopylov <leonchik1976> |
Component: | Current packages | Assignee: | Gentoo Ruby Team <ruby> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | ARM | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=633422 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
build.log build.log |
Description
Leonid Kopylov
2023-03-05 05:04:20 UTC
Created attachment 856140 [details]
build.log
/usr/bin/ruby --disable=gems -r./aarch64-linux-fake ./enc/make_encmake.rb \ --builtin-encs="enc/ascii.o enc/us_ascii.o enc/unicode.o enc/utf_8.o" --builtin-transes="enc/trans/newline.o" --module enc.mk /usr/bin/ruby --disable=gems "./tool/generic_erb.rb" -o verconf.h ./template/verconf.h.tmpl make: *** [uncommon.mk:1216: builtin_binary.inc] Segmentation fault (core dumped) make: *** Waiting for unfinished jobs.... verconf.h [31;1mupdated[m encdb.h [31;1mupdated[m * ERROR: dev-lang/ruby-3.2.1::gentoo failed (compile phase): * emake failed What page size is your kernel? IIRC Asahi decided to only support one but I'm not an expert on this so could be wrong, but https://github.com/ruby/ruby/commit/b78f871d838c168789648738e5c67b071beb8a19 seems interesting. (In reply to Sam James from comment #3) > What page size is your kernel? IIRC Asahi decided to only support one but > I'm not an expert on this so could be wrong, but > https://github.com/ruby/ruby/commit/b78f871d838c168789648738e5c67b071beb8a19 > seems interesting. how do i find it? zgrep CONFIG_ARM64_*_PAGES /proc/config.gz (In reply to Sam James from comment #5) > zgrep CONFIG_ARM64_*_PAGES /proc/config.gz CONFIG_ARM64_4K_PAGES=y # CONFIG_ARM64_16K_PAGES is not set # CONFIG_ARM64_64K_PAGES is not set Thanks. You're using systemd, so this should be easyish - could you try get me a backtrace from the coredump? See https://wiki.gentoo.org/wiki/GDB#Enabling_core_dumps. You might need to follow the steps on that page, then you can try 'coredumpctl' and see the Ruby process, then 'coredumpctl debug <the PID of the ruby one>', then type 'bt', and share the output. (In reply to Sam James from comment #7) > Thanks. > > You're using systemd, so this should be easyish - could you try get me a > backtrace from the coredump? See > https://wiki.gentoo.org/wiki/GDB#Enabling_core_dumps. You might need to > follow the steps on that page, then you can try 'coredumpctl' and see the > Ruby process, then 'coredumpctl debug <the PID of the ruby one>', then type > 'bt', and share the output. i should run 'emerge ruby:3.2' inside gdb? Can you try running 'coredumpctl' first (no gdb involved) and check if there's a Ruby thing at the bottom of the list with a coredump present? (In reply to Sam James from comment #9) > Can you try running 'coredumpctl' first (no gdb involved) and check if > there's a Ruby thing at the bottom of the list with a coredump present? # coredumpctl TIME PID UID GID SIG COREFILE EXE SIZE Sun 2023-03-05 07:01:25 IST 80060 250 250 SIGSEGV present /var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/miniruby 74.1K Sun 2023-03-05 07:03:02 IST 88210 250 250 SIGSEGV present /var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/miniruby 74.1K (In reply to Sam James from comment #3) > What page size is your kernel? IIRC Asahi decided to only support one but > I'm not an expert on this so could be wrong, but > https://github.com/ruby/ruby/commit/b78f871d838c168789648738e5c67b071beb8a19 > seems interesting. In the report the "jit" USE flag is turned off so YJIT should not have been included. (In reply to Leonid Kopylov from comment #10) > (In reply to Sam James from comment #9) > > Can you try running 'coredumpctl' first (no gdb involved) and check if > > there's a Ruby thing at the bottom of the list with a coredump present? > > # coredumpctl > TIME PID UID GID SIG COREFILE EXE > SIZE > Sun 2023-03-05 07:01:25 IST 80060 250 250 SIGSEGV present > /var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/miniruby 74.1K > Sun 2023-03-05 07:03:02 IST 88210 250 250 SIGSEGV present > /var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/miniruby 74.1K Can you run: coredumpctl debug 88210, then when it opens gdb, type 'bt', then share the output? (In reply to Sam James from comment #12) > (In reply to Leonid Kopylov from comment #10) > > (In reply to Sam James from comment #9) > > > Can you try running 'coredumpctl' first (no gdb involved) and check if > > > there's a Ruby thing at the bottom of the list with a coredump present? > > > > # coredumpctl > > TIME PID UID GID SIG COREFILE EXE > > SIZE > > Sun 2023-03-05 07:01:25 IST 80060 250 250 SIGSEGV present > > /var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/miniruby 74.1K > > Sun 2023-03-05 07:03:02 IST 88210 250 250 SIGSEGV present > > /var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/miniruby 74.1K > > Can you run: coredumpctl debug 88210, then when it opens gdb, type 'bt', > then share the output? # coredumpctl debug 88210 PID: 88210 (miniruby) UID: 250 (portage) GID: 250 (portage) Signal: 11 (SEGV) Timestamp: Sun 2023-03-05 07:03:02 IST (3h 15min ago) Command Line: ./miniruby -I./lib -I. -I.ext/common ./tool/generic_erb.rb -o builtin_binary.inc ./template/builtin_binary.inc.tmpl -- --cross=no Executable: /var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/miniruby Control Group: /user.slice/user-1000.slice/session-5.scope Unit: session-5.scope Slice: user-1000.slice Session: 5 Owner UID: 1000 (leonid) Boot ID: 5f9ea54a76894f20ba72cda5a90a97a9 Machine ID: e8305d629178fe76afb239ff63fe4a1d Hostname: localhost Storage: /var/lib/systemd/coredump/core.miniruby.250.5f9ea54a76894f20ba72cda5a90a97a9.88210.1677992582000000.zst (present) Size on Disk: 74.1K Message: Process 88210 (miniruby) of user 250 dumped core. Module /var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/miniruby without build-id. Module /var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/miniruby Module libgcc_s.so.1 without build-id. Module libstdc++.so.6 without build-id. Module libc.so.6 without build-id. Module libm.so.6 without build-id. Module libcrypt.so.2 without build-id. Module libgmp.so.10 without build-id. Module libjemalloc.so.2 without build-id. Module libz.so.1 without build-id. Module libsandbox.so without build-id. Stack trace of thread 320: #0 0x0020aaaabf3fd2f8 n/a (n/a + 0x0) #1 0x0000aaaabf3fd2f8 n/a (/var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/miniruby + 0x2d2f8) #2 0x001affff88c27400 n/a (n/a + 0x0) #3 0x0000ffff88c274d8 __libc_start_main (libc.so.6 + 0x274d8) ELF object binary architecture: AARCH64 GNU gdb (Gentoo 13.1 vanilla) 13.1 Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "aarch64-unknown-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://bugs.gentoo.org/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/miniruby... (No debugging symbols found in /var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/miniruby) [New LWP 320] [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib64/libthread_db.so.1". Core was generated by `./miniruby -I./lib -I. -I.ext/common ./tool/generic_erb.rb -o builtin_binary.in'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x0020aaaabf3fd2f8 in ?? () (gdb) bt #0 0x0020aaaabf3fd2f8 in ?? () #1 0x000000000000000a in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb) OK, not super useful (not your fault). graaff, could you give leonid some brief instructions to build-but-not-install ruby manually so we can just verify it's not ebuild/sandbox related, then we can get him to report it upstream? (In reply to Sam James from comment #14) > graaff, could you give leonid some brief instructions to > build-but-not-install ruby manually so we can just verify it's not > ebuild/sandbox related, then we can get him to report it upstream? Use "ebuild ruby-3.2.1.ebuild install" ? That runs as a normal user and as far as I know avoids the sandbox. Otherwise, if you want to skip the ebuild completely I guess a "./configure; make" in the source should work. Haven't done that in a long time. :-) (In reply to Hans de Graaff from comment #15) > (In reply to Sam James from comment #14) > > > graaff, could you give leonid some brief instructions to > > build-but-not-install ruby manually so we can just verify it's not > > ebuild/sandbox related, then we can get him to report it upstream? > > Use "ebuild ruby-3.2.1.ebuild install" ? That runs as a normal user and as > far as I know avoids the sandbox. > > Otherwise, if you want to skip the ebuild completely I guess a "./configure; > make" in the source should work. Haven't done that in a long time. :-) it fails => ebuild /var/db/repos/gentoo/dev-lang/ruby/ruby-3.2.1.ebuild install >>> Existing ${T}/environment for 'ruby-3.2.1' will be sourced. Run >>> 'clean' to start with a fresh environment. >>> Checking ruby-3.2.1.tar.xz's mtime... >>> WORKDIR is up-to-date, keeping... * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] >>> It appears that 'setup' has already executed for 'ruby-3.2.1'; skipping. >>> Remove '/var/tmp/portage/dev-lang/ruby-3.2.1/.setuped' to force setup. >>> It appears that 'unpack' has already executed for 'ruby-3.2.1'; skipping. >>> Remove '/var/tmp/portage/dev-lang/ruby-3.2.1/.unpacked' to force unpack. >>> It appears that 'prepare' has already executed for 'ruby-3.2.1'; skipping. >>> Remove '/var/tmp/portage/dev-lang/ruby-3.2.1/.prepared' to force prepare. >>> It appears that 'configure' has already executed for 'ruby-3.2.1'; skipping. >>> Remove '/var/tmp/portage/dev-lang/ruby-3.2.1/.configured' to force configure. >>> Compiling source in /var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1 ... make -j6 V=1 'EXTLDFLAGS=-Wl,-O1 -Wl,--as-needed' 'MJIT_CFLAGS=-march=armv8-a+crypto+crc+lse+rcpc+rdma+dotprod+fp16fml+sb+ssbs+flagm+pauth -O2 -pipe -fno-strict-aliasing' MJIT_OPTFLAGS= MJIT_DEBUGFLAGS= BASERUBY = /usr/bin/ruby --disable=gems CC = aarch64-unknown-linux-gnu-gcc LD = aarch64-unknown-linux-gnu-ld LDSHARED = aarch64-unknown-linux-gnu-gcc -shared CFLAGS = -march=armv8-a+crypto+crc+lse+rcpc+rdma+dotprod+fp16fml+sb+ssbs+flagm+pauth -O2 -pipe -fno-strict-aliasing -fPIC XCFLAGS = -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -mbranch-protection=pac-ret -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/aarch64-linux -I./include -I. -I./enc/unicode/15.0.0 CPPFLAGS = DLDFLAGS = -Wl,-O1 -Wl,--as-needed -Wl,--compress-debug-sections=zlib -Wl,-soname,libruby32.so.3.2 -fstack-protector-strong -Wl,-O1 -Wl,--as-needed SOLIBS = -lz -lrt -lrt -ljemalloc -lgmp -ldl -lcrypt -lm -lpthread LANG = en_US.utf8 LC_ALL = LC_CTYPE = en_US.UTF-8 MFLAGS = -j6 --jobserver-auth=fifo:/var/tmp/portage/dev-lang/ruby-3.2.1/temp/GMfifo26 RUSTC = rustc YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --edition=2021 -g -C opt-level=3 -C overflow-checks=on '--out-dir=/var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1/yjit/target/release/' ./yjit/src/lib.rs /usr/bin/ruby --disable=gems ./tool/file2lastrev.rb -q --revision.h --srcdir="." --output=revision.h --timestamp=.revision.time aarch64-unknown-linux-gnu-gcc (Gentoo 12.2.1_p20230121-r1 p10) 12.2.1 20230121 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. aarch64-unknown-linux-gnu-gcc -march=armv8-a+crypto+crc+lse+rcpc+rdma+dotprod+fp16fml+sb+ssbs+flagm+pauth -O2 -pipe -fno-strict-aliasing -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -mbranch-protection=pac-ret -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/aarch64-linux -I./include -I. -I./enc/unicode/15.0.0 -o loadpath.o -c loadpath.c revision.h unchanged ./miniruby -I./lib -I. -I.ext/common ./tool/generic_erb.rb -o builtin_binary.inc \ ./template/builtin_binary.inc.tmpl -- --cross=no /usr/bin/ruby --disable=gems -r./aarch64-linux-fake ./enc/make_encmake.rb \ --builtin-encs="enc/ascii.o enc/us_ascii.o enc/unicode.o enc/utf_8.o" --builtin-transes="enc/trans/newline.o" --module enc.mk make: *** [uncommon.mk:1216: builtin_binary.inc] Segmentation fault (core dumped) make: *** Waiting for unfinished jobs.... * ERROR: dev-lang/ruby-3.2.1::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=dev-lang/ruby-3.2.1::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-lang/ruby-3.2.1::gentoo'`. * The complete build log is located at '/var/tmp/portage/dev-lang/ruby-3.2.1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-lang/ruby-3.2.1/temp/environment'. * Working directory: '/var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1' * S: '/var/tmp/portage/dev-lang/ruby-3.2.1/work/ruby-3.2.1' OK, can you try: 1. wget https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.1.tar.gz 2. untar it somewhere temporary like /tmp/ruby 3. ./configure && make -j $(nproc) 4. If that fails, report it upstream and link it here? (In reply to Sam James from comment #17) > OK, can you try: > 1. wget https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.1.tar.gz > 2. untar it somewhere temporary like /tmp/ruby > 3. ./configure && make -j $(nproc) > 4. If that fails, report it upstream and link it here? it seams that is succeeded?? what does it mean? linking ruby make[2]: Leaving directory '/tmp/ruby/ruby-3.2.1' make[1]: Leaving directory '/tmp/ruby/ruby-3.2.1' make[1]: Entering directory '/tmp/ruby/ruby-3.2.1' make[1]: Nothing to be done for 'note'. make[1]: Leaving directory '/tmp/ruby/ruby-3.2.1' Generating RDoc documentation Parsing sources... 100% [998/998] yjit.rb Generating RI format into /tmp/ruby/ruby-3.2.1/.ext/rdoc... Files: 998 Classes: 1031 ( 274 undocumented) Modules: 214 ( 66 undocumented) Constants: 2283 ( 632 undocumented) Attributes: 1035 ( 329 undocumented) Methods: 9790 (2288 undocumented) Total: 14353 (3589 undocumented) 74.99% documented Elapsed: 13.7s Could you upload the ebuild's bad build.log again? It looks like a little bit of it is missing at the top(?) -- I want to know the configure args the ebuild uses on your system, so we can try it for the manual build. (In reply to Sam James from comment #19) > Could you upload the ebuild's bad build.log again? It looks like a little > bit of it is missing at the top(?) -- I want to know the configure args the > ebuild uses on your system, so we can try it for the manual build. (the line I need is like: "econf ...") (In reply to Sam James from comment #20) > (In reply to Sam James from comment #19) > > Could you upload the ebuild's bad build.log again? It looks like a little > > bit of it is missing at the top(?) -- I want to know the configure args the > > ebuild uses on your system, so we can try it for the manual build. > > (the line I need is like: "econf ...") or ./configure ... actually Created attachment 856212 [details]
build.log
(In reply to Leonid Kopylov from comment #22) > Created attachment 856212 [details] > build.log tried to rebuild again - same issue Weird. I'll just figure it out manually from: * USE: arm64 berkdb doc elibc_glibc examples gdbm ipv6 jemalloc kernel_linux rdoc ssl tk userland_GNU xemacs ok, try manually: ./configure --enable-shared --enable-pthread --disable-rpath --disable-jit-support --disable-yjit (In reply to Sam James from comment #24) > Weird. I'll just figure it out manually from: > * USE: arm64 berkdb doc elibc_glibc examples gdbm ipv6 jemalloc > kernel_linux rdoc ssl tk userland_GNU xemacs > > ok, try manually: > ./configure --enable-shared --enable-pthread --disable-rpath > --disable-jit-support --disable-yjit on ebuild itself or for tar i downloaded? (In reply to Leonid Kopylov from comment #25) > (In reply to Sam James from comment #24) > > Weird. I'll just figure it out manually from: > > * USE: arm64 berkdb doc elibc_glibc examples gdbm ipv6 jemalloc > > kernel_linux rdoc ssl tk userland_GNU xemacs > > > > ok, try manually: > > ./configure --enable-shared --enable-pthread --disable-rpath > > --disable-jit-support --disable-yjit > > on ebuild itself or for tar i downloaded? ah, sorry, for tar you downloaded configure: Configuration summary for ruby version 3.2.1 * Installation prefix: /usr/local * exec prefix: ${prefix} * arch: aarch64-linux * site arch: ${arch} * RUBY_BASE_NAME: ruby * enable shared: yes * ruby lib prefix: ${libdir}/${RUBY_BASE_NAME} * site libraries path: ${rubylibprefix}/${sitearch} * vendor path: ${rubylibprefix}/vendor_ruby * target OS: linux * compiler: gcc * with thread: pthread * with coroutine: arm64 * enable shared libs: yes * dynamic library ext: so * CFLAGS: ${optflags} ${debugflags} ${warnflags} * LDFLAGS: -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed * DLDFLAGS: -Wl,--compress-debug-sections=zlib * optflags: -O3 -fno-fast-math * debugflags: -ggdb3 * warnflags: -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings \ -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers \ -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value \ -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef * strip command: strip -S -x * install doc: rdoc * MJIT support: no * YJIT support: no * man page type: doc * BASERUBY -v: ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [aarch64-linux] make: make[2]: Entering directory '/tmp/ruby/ruby-3.2.1/.bundle/gems/debug-1.7.1/ext/debug' compiling debug.c compiling iseq_collector.c compiling ossl_ts.c linking shared-object debug/debug.so /usr/lib/gcc/aarch64-unknown-linux-gnu/12/../../../../aarch64-unknown-linux-gnu/bin/ld: cannot open output file ../../../../../.bundle/extensions/aarch64-linux/3.2.0/debug-1.7.1/debug/debug.so: No such file or directory collect2: error: ld returned 1 exit status make[2]: *** [Makefile:317: ../../../../../.bundle/extensions/aarch64-linux/3.2.0/debug-1.7.1/debug/debug.so] Error 1 make[2]: Leaving directory '/tmp/ruby/ruby-3.2.1/.bundle/gems/debug-1.7.1/ext/debug' make[1]: *** [exts.mk:301: .bundle/gems/debug-1.7.1/ext/debug/all] Error 2 make[1]: *** Waiting for unfinished jobs.... compiling ossl_x509.c compiling ifaddr.c compiling ossl_x509attr.c linking shared-object socket.so make[2]: Leaving directory '/tmp/ruby/ruby-3.2.1/ext/socket' compiling ossl_x509cert.c compiling ossl_x509crl.c compiling ossl_x509ext.c linking shared-object zlib.so make[2]: Leaving directory '/tmp/ruby/ruby-3.2.1/ext/zlib' compiling ossl_x509name.c compiling ossl_x509req.c compiling ossl_x509revoked.c compiling ossl_x509store.c linking shared-object openssl.so linking shared-object ripper.so make[2]: Leaving directory '/tmp/ruby/ruby-3.2.1/ext/ripper' make[2]: Leaving directory '/tmp/ruby/ruby-3.2.1/ext/openssl' make[1]: Leaving directory '/tmp/ruby/ruby-3.2.1' make: *** [uncommon.mk:331: build-ext] Error 2 Try ./configure --enable-pthread --disable-jit-support --disable-yjit --disable-debug configure: Configuration summary for ruby version 3.2.1 * Installation prefix: /usr/local * exec prefix: ${prefix} * arch: aarch64-linux * site arch: ${arch} * RUBY_BASE_NAME: ruby * ruby lib prefix: ${libdir}/${RUBY_BASE_NAME} * site libraries path: ${rubylibprefix}/${sitearch} * vendor path: ${rubylibprefix}/vendor_ruby * target OS: linux * compiler: gcc * with thread: pthread * with coroutine: arm64 * enable shared libs: no * dynamic library ext: so * CFLAGS: ${optflags} ${debugflags} ${warnflags} * LDFLAGS: -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic * DLDFLAGS: -Wl,--compress-debug-sections=zlib * optflags: -O3 -fno-fast-math * debugflags: -ggdb3 * warnflags: -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings \ -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers \ -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value \ -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef * strip command: strip -S -x * install doc: rdoc * MJIT support: no * YJIT support: no * man page type: doc * BASERUBY -v: ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [aarch64-linux] make: Parsing sources... 100% [998/998] yjit.rb Generating RI format into /tmp/ruby/ruby-3.2.1/.ext/rdoc... Files: 998 Classes: 1031 ( 274 undocumented) Modules: 214 ( 66 undocumented) Constants: 2283 ( 632 undocumented) Attributes: 1035 ( 329 undocumented) Methods: 9790 (2287 undocumented) Total: 14353 (3588 undocumented) 75.00% documented Elapsed: 13.7s (In reply to Sam James from comment #29) > Try ./configure --enable-pthread --disable-jit-support --disable-yjit > --disable-debug success OK. Back to the ebuild, try: FEATURES="-usersandbox -sandbox -ipc-sandbox -pid-sandbox -mount-sandbox -network-sandbox" emerge -v1 dev-lang/ruby. Created attachment 856214 [details]
build.log
(In reply to Sam James from comment #32) > OK. Back to the ebuild, try: FEATURES="-usersandbox -sandbox -ipc-sandbox > -pid-sandbox -mount-sandbox -network-sandbox" emerge -v1 dev-lang/ruby. failed With tarball (not ebuild): try ./configure --prefix=/usr --build=aarch64-unknown-linux-gnu --host=aarch64-unknown-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --datarootdir=/usr/share --docdir=/usr/share/doc/ruby-3.2.1 --htmldir=/usr/share/doc/ruby-3.2.1/html --libdir=/usr/lib64 --program-suffix=32 --with-soname=ruby32 --with-readline-dir=/usr --enable-shared --enable-pthread --disable-rpath --with-out-ext=win32,win32ole --with-jemalloc --disable-jit-support --disable-yjit --disable-socks --disable-dtrace --enable-install-doc --enable-ipv6 --disable-static --disable-install-static-library --without-static-linked-ext --disable-debug --enable-option-checking=no configure: Configuration summary for ruby version 3.2.1 * Installation prefix: /usr * exec prefix: ${prefix} * arch: aarch64-linux * site arch: ${arch} * RUBY_BASE_NAME: ruby * enable shared: yes * ruby lib prefix: ${libdir}/${RUBY_BASE_NAME} * site libraries path: ${rubylibprefix}/${sitearch} * vendor path: ${rubylibprefix}/vendor_ruby * target OS: linux * compiler: aarch64-unknown-linux-gnu-gcc * with thread: pthread * with coroutine: arm64 * enable shared libs: yes * dynamic library ext: so * CFLAGS: ${optflags} ${debugflags} ${warnflags} * LDFLAGS: -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed * DLDFLAGS: -Wl,--compress-debug-sections=zlib * optflags: -O3 -fno-fast-math * debugflags: -ggdb3 * warnflags: -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings \ -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers \ -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value \ -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef * strip command: aarch64-unknown-linux-gnu-strip -S -x * install doc: rdoc * MJIT support: no * YJIT support: no * man page type: doc * BASERUBY -v: ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [aarch64-linux] make: linking shared-object zlib.so linking shared-object rbs_extension.so /usr/lib/gcc/aarch64-unknown-linux-gnu/12/../../../../aarch64-unknown-linux-gnu/bin/ld: cannot open output file ../../../../../.bundle/extensions/aarch64-linux/3.2.0/rbs-2.8.2/rbs_extension.so: No such file or directory collect2: error: ld returned 1 exit status make[2]: *** [Makefile:317: ../../../../../.bundle/extensions/aarch64-linux/3.2.0/rbs-2.8.2/rbs_extension.so] Error 1 make[2]: Leaving directory '/tmp/ruby/ruby-3.2.1/.bundle/gems/rbs-2.8.2/ext/rbs_extension' make[1]: *** [exts.mk:311: .bundle/gems/rbs-2.8.2/ext/rbs_extension/all] Error 2 make[2]: Leaving directory '/tmp/ruby/ruby-3.2.1/ext/zlib' linking shared-object ripper.so make[2]: Leaving directory '/tmp/ruby/ruby-3.2.1/ext/ripper' make[1]: Leaving directory '/tmp/ruby/ruby-3.2.1' make: *** [uncommon.mk:331: build-ext] Error 2 I don't really understand what this new error means :( Could you try (tarball, not ebuild): INSTALL="/usr/bin/install -c" LIBPATHENV="" ./configure --prefix=/usr --build=aarch64-unknown-linux-gnu --host=aarch64-unknown-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --datarootdir=/usr/share --docdir=/usr/share/doc/ruby-3.2.1 --htmldir=/usr/share/doc/ruby-3.2.1/html --libdir=/usr/lib64 --program-suffix=32 --with-soname=ruby32 --with-readline-dir=/usr --enable-shared --enable-pthread --disable-rpath --with-out-ext=win32,win32ole --with-jemalloc --disable-jit-support --disable-yjit --disable-socks --disable-dtrace --enable-install-doc --enable-ipv6 --disable-static --disable-install-static-library --without-static-linked-ext --disable-debug --enable-option-checking=no you may then need to do, instead of 'make', this: LD_LIBRARY_PATH="$(pwd):/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" make V=1 MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" configure: Configuration summary for ruby version 3.2.1 * Installation prefix: /usr * exec prefix: ${prefix} * arch: aarch64-linux * site arch: ${arch} * RUBY_BASE_NAME: ruby * enable shared: yes * ruby lib prefix: ${libdir}/${RUBY_BASE_NAME} * site libraries path: ${rubylibprefix}/${sitearch} * vendor path: ${rubylibprefix}/vendor_ruby * target OS: linux * compiler: aarch64-unknown-linux-gnu-gcc * with thread: pthread * with coroutine: arm64 * enable shared libs: yes * dynamic library ext: so * CFLAGS: ${optflags} ${debugflags} ${warnflags} * LDFLAGS: -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed * DLDFLAGS: -Wl,--compress-debug-sections=zlib * optflags: -O3 -fno-fast-math * debugflags: -ggdb3 * warnflags: -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings \ -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers \ -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value \ -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef * strip command: aarch64-unknown-linux-gnu-strip -S -x * install doc: rdoc * MJIT support: no * YJIT support: no * man page type: doc * BASERUBY -v: ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [aarch64-linux] make: make[2]: Entering directory '/tmp/ruby/ruby-3.2.1/.bundle/gems/debug-1.7.1/ext/debug' aarch64-unknown-linux-gnu-gcc -I. -I../../../../../.ext/include/aarch64-linux -I../../../../.././include -I../../../../.././.bundle/gems/debug-1.7.1/ext/debug -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef -fPIC -o debug.o -c debug.c aarch64-unknown-linux-gnu-gcc -I. -I../../../../../.ext/include/aarch64-linux -I../../../../.././include -I../../../../.././.bundle/gems/debug-1.7.1/ext/debug -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef -fPIC -o iseq_collector.o -c iseq_collector.c rm -f ../../../../../.bundle/extensions/aarch64-linux/3.2.0/debug-1.7.1/debug/debug.so aarch64-unknown-linux-gnu-gcc -shared -o ../../../../../.bundle/extensions/aarch64-linux/3.2.0/debug-1.7.1/debug/debug.so debug.o iseq_collector.o -L. -L../../../../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -Wl,--compress-debug-sections=zlib -lruby32 -lm -lpthread -ljemalloc -lc /usr/lib/gcc/aarch64-unknown-linux-gnu/12/../../../../aarch64-unknown-linux-gnu/bin/ld: cannot open output file ../../../../../.bundle/extensions/aarch64-linux/3.2.0/debug-1.7.1/debug/debug.so: No such file or directory collect2: error: ld returned 1 exit status make[2]: *** [Makefile:317: ../../../../../.bundle/extensions/aarch64-linux/3.2.0/debug-1.7.1/debug/debug.so] Error 1 make[2]: Leaving directory '/tmp/ruby/ruby-3.2.1/.bundle/gems/debug-1.7.1/ext/debug' make[1]: *** [exts.mk:309: .bundle/gems/debug-1.7.1/ext/debug/all] Error 2 make[1]: Leaving directory '/tmp/ruby/ruby-3.2.1' make: *** [uncommon.mk:331: build-ext] Error 2 ok, I need graaff at this point i still have this issue. but after omitting "march" from: COMMON_FLAGS="-march=armv8-a+crypto+crc+lse+rcpc+rdma+dotprod+fp16fml+sb+ssbs+flagm+pauth -O2 -pipe -fomit-frame-pointer" to be only: COMMON_FLAGS="-O2 -pipe -fomit-frame-pointer": # emerge =dev-lang/ruby-3.2.1 -pvq [ebuild R ] dev-lang/ruby-3.2.1 USE="berkdb doc examples gdbm ipv6 jemalloc rdoc ssl tk xemacs -debug -jit -socks5 -static-libs -systemtap" So what does it mean? |