[#56333] [CommonRuby - Feature #8723][Open] Array.any? predicate returns true for empty array. — "nurettin (Nurettin Onur TUGCU)" <onurtugcu@...>

12 messages 2013/08/02

[#56368] [ruby-trunk - Bug #8730][Open] "rescue Exception" rescues Timeout::ExitException — "takiuchi (Genki Takiuchi)" <genki@...21g.com>

15 messages 2013/08/04

[#56407] [ruby-trunk - misc #8741][Open] email notification on bugs.ruby-lang.org is broken — "rits (First Last)" <redmine@...>

18 messages 2013/08/05

[#56524] [ruby-trunk - Bug #8770][Open] [PATCH] process.c: avoid EINTR from Process.spawn — "normalperson (Eric Wong)" <normalperson@...>

19 messages 2013/08/10

[#56536] [ruby-trunk - Feature #8772][Open] Hash alias #| merge, and the case for Hash and Array polymorphism — "trans (Thomas Sawyer)" <redmine@...>

24 messages 2013/08/11

[#56544] [ruby-trunk - Bug #8774][Open] rb_file_dirname return wrong encoding string when dir is "." — jiayp@... (贾 延平) <jiayp@...>

10 messages 2013/08/11

[#56569] [ruby-trunk - Feature #8781][Open] Use require_relative() instead of require() if possible — "ko1 (Koichi Sasada)" <redmine@...>

31 messages 2013/08/12
[#56582] [ruby-trunk - Feature #8781] Use require_relative() instead of require() if possible — "drbrain (Eric Hodel)" <drbrain@...7.net> 2013/08/12

[#56584] Re: [ruby-trunk - Feature #8781] Use require_relative() instead of require() if possible — SASADA Koichi <ko1@...> 2013/08/12

(2013/08/13 2:25), drbrain (Eric Hodel) wrote:

[#56636] Re: [ruby-trunk - Feature #8781] Use require_relative() instead of require() if possible — Aaron Patterson <tenderlove@...> 2013/08/16

On Tue, Aug 13, 2013 at 07:38:01AM +0900, SASADA Koichi wrote:

[#56634] [ruby-trunk - Feature #8788][Open] use eventfd on newer Linux instead of pipe for timer thread — "normalperson (Eric Wong)" <normalperson@...>

11 messages 2013/08/16

[#56648] [ruby-trunk - Bug #8795][Open] "Null byte in string error" on Marshal.load — "mml (McClain Looney)" <m@...>

17 messages 2013/08/16

[#56824] [ruby-trunk - Feature #8823][Open] Run trap handler in an independent thread called "Signal thread" — "ko1 (Koichi Sasada)" <redmine@...>

14 messages 2013/08/27

[#56878] [ruby-trunk - misc #8835][Open] Introducing a semantic versioning scheme and branching policy — "knu (Akinori MUSHA)" <knu@...>

11 messages 2013/08/30

[#56890] [ruby-trunk - Feature #8839][Open] Class and module should return the class or module that was opened — "headius (Charles Nutter)" <headius@...>

26 messages 2013/08/30

[#56894] [ruby-trunk - Feature #8840][Open] Yielder#state — "marcandre (Marc-Andre Lafortune)" <ruby-core@...>

14 messages 2013/08/30

[ruby-core:56319] [Backport 200 - Backport #7948] Can not compile pseudo static Ruby binary on OSX

From: "mpapis (Michal Papis)" <mpapis@...>
Date: 2013-08-02 01:37:42 UTC
List: ruby-core #56319
Issue #7948 has been updated by mpapis (Michal Papis).


=begin
Is it possible that http://www.rubyist.net/~eban/goto/r42213 is reason of:

 make[2]: *** No rule to make target `static'.  Stop.
 make[1]: *** [ext/-test-/win32/dln/static] Error 2

where (({/Users/mpapis/.rvm/src/ruby-2.0.0-p247/ext/-test-/win32/dln/mkmf.log})):

 Failed to configure -test-/win32/dln. It will not be installed.

=end

----------------------------------------
Backport #7948: Can not compile pseudo static Ruby binary on OSX
https://bugs.ruby-lang.org/issues/7948#change-40812

Author: mpapis (Michal Papis)
Status: Assigned
Priority: Normal
Assignee: nagachika (Tomoyuki Chikanaga)
Category: 
Target version: 


In ruby 1.9.x I was using `LDFLAGS="-Bstatic $LDFLAGS"` to force pseudo static compilation on OSX (full static is not possible).

This stopped to work with 2.0.0-p0, the binary is compiled but the static flag is not handled properly and the generated binary can not run:

$ ~/.sm/pkg/versions/tokaidoapp/2.0.0-p0/bin/ruby --version
dyld: Symbol not found: _Init_encinit
  Referenced from: /Users/mpapis/.sm/pkg/versions/tokaidoapp/2.0.0-p0/bin/ruby
  Expected in: flat namespace
 in /Users/mpapis/.sm/pkg/versions/tokaidoapp/2.0.0-p0/bin/ruby
Trace/BPT trap

using `otool -L ~/.sm/pkg/versions/tokaidoapp/2.0.0-p0/bin/ruby` I can see the binary depends on a lot more external libraries:

/Users/mpapis/.sm/pkg/versions/tokaidoapp/2.0.0-p0/bin/ruby:
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
	/Users/mpapis/.sm/pkg/versions/openssl/0.9.8y/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
	/Users/mpapis/.sm/pkg/versions/openssl/0.9.8y/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
	/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
	/System/Library/Frameworks/Tk.framework/Versions/8.5/Tk (compatibility version 8.5.0, current version 8.5.7)
	/System/Library/Frameworks/Tcl.framework/Versions/8.5/Tcl (compatibility version 8.5.0, current version 8.5.7)
	/usr/lib/libffi.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libutil.dylib (compatibility version 1.0.0, current version 1.0.0)

compared to `otool -L ~/.sm/pkg/versions/tokaidoapp/1.9.3-p392/bin/ruby`

/Users/mpapis/.sm/pkg/versions/tokaidoapp/1.9.3-p392/bin/ruby:
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)

What is the preferred way to compile static ruby (with minimal external dependencies) on systems like OSX which do not provide default package manager so no default library paths can be assumed.



-- 
http://bugs.ruby-lang.org/

In This Thread