[#84867] [Ruby trunk Bug#14357] thread_safe tests suite segfaults — v.ondruch@...

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

11 messages 2018/01/15

[#84980] [Ruby trunk Feature#13618][Assigned] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — hsbt@...

Issue #13618 has been updated by hsbt (Hiroshi SHIBATA).

10 messages 2018/01/23
[#85012] Re: [Ruby trunk Feature#13618][Assigned] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — Eric Wong <normalperson@...> 2018/01/23

hsbt@ruby-lang.org wrote:

[ruby-core:84964] [Ruby trunk Bug#13069] mkmf: ignore linker warnings on OpenBSD

From: akihiko.odaki.4i@...
Date: 2018-01-22 10:24:35 UTC
List: ruby-core #84964
Issue #13069 has been updated by akihikodaki (Akihiko Odaki).

File mkmf.patch added
ruby -v set to ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]

The issue is affecting my gem, [cld3-ruby](https://github.com/akihikodaki/cld3-ruby).
[Build failure on OpenBSD 揃 Issue #16 揃 akihikodaki/cld3-ruby](https://github.com/akihikodaki/cld3-ruby/issues/16)

> Those warnings are always emitted regardless use of the functions?

I reviewed the source code of Binutils and GCC and found no means to suppress the warning.

I understand many link warnings result in runtime failure, but it is just insane to make all warnings errors. Warnings are not errors because they may not result in actual failure.

The impact of this issue is severe. It would disable many native extensions on OpenBSD. On the other hand, though those warnings sound ridiculous, OpenBSD should not be blamed because they are just adding warnings, not errors. mkmf should be fixed.

I have two suggestions to address this kind of issue:
1. Redirect linker's stderr to mkmf's stderr, and optionally ask the user if he thinks it is fine to continue.
2. Execute the output instead of catching stderr to detect runtime failures if not cross compiling.

I attached a patch to implement suggestion 2.

----------------------------------------
Bug #13069: mkmf: ignore linker warnings on OpenBSD
https://bugs.ruby-lang.org/issues/13069#change-69674

* Author: anton (Anton Lindqvist)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
Installing gems with native extensions fails on my OpenBSD machine since
the linker emits warnings causing stderr to not be empty as expected.
The warnings are security recommendations that does not affect the
linked binary. See examples below from my mkmf.log caused by libruby:

~~~
warning: warning: strcpy() is almost always misused, please use strlcpy()
warning: warning: strcat() is almost always misused, please use strlcat()
warning: warning: sprintf() is often misused, please use snprintf()
warning: warning: vsprintf() is often misused, please use vsnprintf()
~~~

Attached is patch that checks the output for such harmless warnings. Not
sure if this exception should be allowed on all platforms, but instead
wrapped in a `RUBY_PLATFORM =~ /openbsd/` conditional or something
similar.

---Files--------------------------------
ruby-mkmf_openbsd.diff (880 Bytes)
mkmf.patch (4.19 KB)


-- 
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>

In This Thread

Prev Next