[#107867] Fwd: [ruby-cvs:91197] 8f59482f5d (master): add some tests for Unicode Version 14.0.0 — Martin J. Dürst <duerst@...>
To everybody taking care of continuous integration:
3 messages
2022/03/13
[#108090] [Ruby master Bug#18666] No rule to make target 'yaml/yaml.h', needed by 'api.o' — duerst <noreply@...>
Issue #18666 has been reported by duerst (Martin D端rst).
7 messages
2022/03/28
[#108117] [Ruby master Feature#18668] Merge `io-nonblock` gems into core — "Eregon (Benoit Daloze)" <noreply@...>
Issue #18668 has been reported by Eregon (Benoit Daloze).
22 messages
2022/03/30
[ruby-core:107987] [Ruby master Bug#18645] fiddle.rb assumes wrong file name for glibc shared object on Alpha
From:
"kou (Kouhei Sutou)" <noreply@...>
Date:
2022-03-18 21:14:27 UTC
List:
ruby-core #107987
Issue #18645 has been updated by kou (Kouhei Sutou).
Assignee set to kou (Kouhei Sutou)
Status changed from Open to Third Party's Issue
Could you report this to https://github.com/ruby/fiddle/ because ruby/fiddle is the upstream?
----------------------------------------
Bug #18645: fiddle.rb assumes wrong file name for glibc shared object on Alpha
https://bugs.ruby-lang.org/issues/18645#change-96939
* Author: glaubitz (John Paul Adrian Glaubitz)
* Status: Third Party's Issue
* Priority: Normal
* Assignee: kou (Kouhei Sutou)
* ruby -v: 3.0.3
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN
----------------------------------------
On Alpha, the fiddle.rb test fails because the code in helper.rb assumes that the name for the libc shared object file is "libc.so.6" which is not correct for all architectures:
```
ruby -v: ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [alpha-linux-gnu]
exec ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems "./test/runner.rb" --ruby="./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems" --excludes-dir=./test/excludes --name=!/memory_leak/ -v --excludes-dir=debian/tests/excludes/any/ --excludes-dir=debian/tests/excludes/alpha/
/<<PKGBUILDDIR>>/.ext/common/fiddle.rb:61:in `initialize': libc.so.6: cannot open shared object file: No such file or directory (Fiddle::DLError)
from /<<PKGBUILDDIR>>/.ext/common/fiddle.rb:61:in `new'
from /<<PKGBUILDDIR>>/.ext/common/fiddle.rb:61:in `dlopen'
from /<<PKGBUILDDIR>>/.ext/common/fiddle/import.rb:86:in `block in dlload'
from /<<PKGBUILDDIR>>/.ext/common/fiddle/import.rb:77:in `collect'
from /<<PKGBUILDDIR>>/.ext/common/fiddle/import.rb:77:in `dlload'
from /<<PKGBUILDDIR>>/test/fiddle/test_import.rb:12:in `<module:LIBC>'
from /<<PKGBUILDDIR>>/test/fiddle/test_import.rb:10:in `<module:Fiddle>'
from /<<PKGBUILDDIR>>/test/fiddle/test_import.rb:9:in `<top (required)>'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1049:in `require'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1049:in `block in non_options'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1043:in `each'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1043:in `non_options'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:65:in `process_args'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:143:in `process_args'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1237:in `process_args'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1242:in `run'
from /<<PKGBUILDDIR>>/tool/lib/test/unit.rb:1249:in `run'
from /<<PKGBUILDDIR>>/tool/test/runner.rb:23:in `<top (required)>'
from ./test/runner.rb:11:in `require_relative'
from ./test/runner.rb:11:in `<main>'
```
Full log: https://buildd.debian.org/status/fetch.php?pkg=ruby3.0&arch=alpha&ver=3.0.3-1&stamp=1647549307&raw=0
The code in question is located in test/fiddle/helper.rb:
```
# Handle musl libc
libc_so, = Dir.glob(File.join(libdir, "libc.musl*.so*"))
if libc_so
libm_so = libc_so
else
# glibc
libc_so = "libc.so.6"
libm_so = "libm.so.6"
end
```
On a machine running Linux on Alpha, the filename for the shared library is libc.so.6.1, the same applies for Itanium:
```
root@alpha-test-01:~# uname -a
Linux alpha-test-01 5.14.0-3-alpha-generic #1 Debian 5.14.12-1 (2021-10-14) alpha GNU/Linux
root@alpha-test-01:~# ls -l /lib/alpha-linux-gnu/libc.so*
-rw-r--r-- 1 root root 273 Feb 21 09:47 /lib/alpha-linux-gnu/libc.so
lrwxrwxrwx 1 root root 12 Feb 21 09:47 /lib/alpha-linux-gnu/libc.so.6.1 -> libc-2.33.so
root@alpha-test-01:~#
```
```
root@yttrium:~# uname -a
Linux yttrium 5.15.0-2-mckinley #1 SMP Debian 5.15.5-1 (2021-11-26) ia64 GNU/Linux
root@yttrium:~# ls -l /lib/ia64-linux-gnu/libc.so*
lrwxrwxrwx 1 root root 12 Jan 26 22:01 /lib/ia64-linux-gnu/libc.so.6.1 -> libc-2.33.so
root@yttrium:~#
```
The code in helper.rb should be modified to set the name for libc_so on Alpha and IA64 to "libc.so.6.1".
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>