ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:52845] [Backport 200 - Backport #7948][Open] Can not compile pseudo static Ruby binary on OSX
@ 2013-02-24 18:35 mpapis (Michal Papis)
  2013-02-25  0:25 ` [ruby-core:52856] [Backport 200 - Backport #7948][Feedback] " nobu (Nobuyoshi Nakada)
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: mpapis (Michal Papis) @ 2013-02-24 18:35 UTC (permalink / raw
  To: ruby-core


Issue #7948 has been reported by mpapis (Michal Papis).

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

Author: mpapis (Michal Papis)
Status: Open
Priority: Normal
Assignee: 
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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:52856] [Backport 200 - Backport #7948][Feedback] Can not compile pseudo static Ruby binary on OSX
  2013-02-24 18:35 [ruby-core:52845] [Backport 200 - Backport #7948][Open] Can not compile pseudo static Ruby binary on OSX mpapis (Michal Papis)
@ 2013-02-25  0:25 ` nobu (Nobuyoshi Nakada)
  2013-02-25  1:37 ` [ruby-core:52860] [Backport 200 - Backport #7948] " nobu (Nobuyoshi Nakada)
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: nobu (Nobuyoshi Nakada) @ 2013-02-25  0:25 UTC (permalink / raw
  To: ruby-core


Issue #7948 has been updated by nobu (Nobuyoshi Nakada).

Status changed from Open to Feedback

If you want all extension libraries, including encodings and
transcoders, to be statically linked to ruby, then you can use
--with-static-linked-ext configure option.

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

Do you mean external libraries linked to ruby, by "external
dependencies"?

I couldn't get "no default library paths can be assumed", could you
ellaborate?

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

Author: mpapis (Michal Papis)
Status: Feedback
Priority: Normal
Assignee: 
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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:52860] [Backport 200 - Backport #7948] Can not compile pseudo static Ruby binary on OSX
  2013-02-24 18:35 [ruby-core:52845] [Backport 200 - Backport #7948][Open] Can not compile pseudo static Ruby binary on OSX mpapis (Michal Papis)
  2013-02-25  0:25 ` [ruby-core:52856] [Backport 200 - Backport #7948][Feedback] " nobu (Nobuyoshi Nakada)
@ 2013-02-25  1:37 ` nobu (Nobuyoshi Nakada)
  2013-02-25  1:38 ` [ruby-core:52861] " mpapis (Michal Papis)
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: nobu (Nobuyoshi Nakada) @ 2013-02-25  1:37 UTC (permalink / raw
  To: ruby-core


Issue #7948 has been updated by nobu (Nobuyoshi Nakada).


Just tried:

 $ ./configure -C --prefix $HOME/ruby/2.0.0-p0-static --disable-install-doc --with-out-ext=*win32* LDFLAGS=-Bstatic
 $ make -j4 install

succeeded, and statically linked ruby and extension library shared objects are installed.
----------------------------------------
Backport #7948: Can not compile pseudo static Ruby binary on OSX
https://bugs.ruby-lang.org/issues/7948#change-36973

Author: mpapis (Michal Papis)
Status: Feedback
Priority: Normal
Assignee: 
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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:52861] [Backport 200 - Backport #7948] Can not compile pseudo static Ruby binary on OSX
  2013-02-24 18:35 [ruby-core:52845] [Backport 200 - Backport #7948][Open] Can not compile pseudo static Ruby binary on OSX mpapis (Michal Papis)
  2013-02-25  0:25 ` [ruby-core:52856] [Backport 200 - Backport #7948][Feedback] " nobu (Nobuyoshi Nakada)
  2013-02-25  1:37 ` [ruby-core:52860] [Backport 200 - Backport #7948] " nobu (Nobuyoshi Nakada)
@ 2013-02-25  1:38 ` mpapis (Michal Papis)
  2013-02-25  1:45 ` [ruby-core:52863] " luislavena (Luis Lavena)
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mpapis (Michal Papis) @ 2013-02-25  1:38 UTC (permalink / raw
  To: ruby-core


Issue #7948 has been updated by mpapis (Michal Papis).


in the output above you can see:

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

this are external dependencies that will not be available after moving this ruby to other machines.
----------------------------------------
Backport #7948: Can not compile pseudo static Ruby binary on OSX
https://bugs.ruby-lang.org/issues/7948#change-36974

Author: mpapis (Michal Papis)
Status: Feedback
Priority: Normal
Assignee: 
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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:52863] [Backport 200 - Backport #7948] Can not compile pseudo static Ruby binary on OSX
  2013-02-24 18:35 [ruby-core:52845] [Backport 200 - Backport #7948][Open] Can not compile pseudo static Ruby binary on OSX mpapis (Michal Papis)
                   ` (2 preceding siblings ...)
  2013-02-25  1:38 ` [ruby-core:52861] " mpapis (Michal Papis)
@ 2013-02-25  1:45 ` luislavena (Luis Lavena)
  2013-05-19 14:50 ` [ruby-core:55055] [ruby-trunk - Bug " mpapis (Michal Papis)
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: luislavena (Luis Lavena) @ 2013-02-25  1:45 UTC (permalink / raw
  To: ruby-core


Issue #7948 has been updated by luislavena (Luis Lavena).


mpapis (Michal Papis) wrote:
> in the output above you can see:
> 
> /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)
> 
> this are external dependencies that will not be available after moving this ruby to other machines.

I deal with this in the past and solved by only building dependencies statically.

Can you turn off shared packages and only use static versions?

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

Author: mpapis (Michal Papis)
Status: Feedback
Priority: Normal
Assignee: 
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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:55055] [ruby-trunk - Bug #7948] Can not compile pseudo static Ruby binary on OSX
  2013-02-24 18:35 [ruby-core:52845] [Backport 200 - Backport #7948][Open] Can not compile pseudo static Ruby binary on OSX mpapis (Michal Papis)
                   ` (3 preceding siblings ...)
  2013-02-25  1:45 ` [ruby-core:52863] " luislavena (Luis Lavena)
@ 2013-05-19 14:50 ` mpapis (Michal Papis)
  2013-07-25  0:54 ` [ruby-core:56164] " mpapis (Michal Papis)
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mpapis (Michal Papis) @ 2013-05-19 14:50 UTC (permalink / raw
  To: ruby-core


Issue #7948 has been updated by mpapis (Michal Papis).


found it the problem:

```
dyld: Symbol not found: _Init_encinit
  Referenced from: /Users/mpapis/tmp/ruby-bin-static-ext/bin/ruby
  Expected in: flat namespace
 in /Users/mpapis/tmp/ruby-bin-static-ext/bin/ruby
Trace/BPT trap: 5
```

was conflicting `--enable-load-relative` with: `--with-static-linked-ext` can you add an error in case both are used together? or maybe just fix it?

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

Author: mpapis (Michal Papis)
Status: Feedback
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: 
Backport: 


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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:56164] [ruby-trunk - Bug #7948] Can not compile pseudo static Ruby binary on OSX
  2013-02-24 18:35 [ruby-core:52845] [Backport 200 - Backport #7948][Open] Can not compile pseudo static Ruby binary on OSX mpapis (Michal Papis)
                   ` (4 preceding siblings ...)
  2013-05-19 14:50 ` [ruby-core:55055] [ruby-trunk - Bug " mpapis (Michal Papis)
@ 2013-07-25  0:54 ` mpapis (Michal Papis)
  2013-08-02  1:37 ` [ruby-core:56319] [Backport 200 - Backport " mpapis (Michal Papis)
  2013-08-02  7:14 ` [ruby-core:56324] " mpapis (Michal Papis)
  7 siblings, 0 replies; 9+ messages in thread
From: mpapis (Michal Papis) @ 2013-07-25  0:54 UTC (permalink / raw
  To: ruby-core


Issue #7948 has been updated by mpapis (Michal Papis).


confirmed it again - compiling with `LDFLAGS=-Bstatic` + `--with-static-linked-ext` and without: `--enable-load-relative` works as expected - this two flags can not be used together.
----------------------------------------
Bug #7948: Can not compile pseudo static Ruby binary on OSX
https://bugs.ruby-lang.org/issues/7948#change-40657

Author: mpapis (Michal Papis)
Status: Feedback
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: 
Backport: 


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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:56319] [Backport 200 - Backport #7948] Can not compile pseudo static Ruby binary on OSX
  2013-02-24 18:35 [ruby-core:52845] [Backport 200 - Backport #7948][Open] Can not compile pseudo static Ruby binary on OSX mpapis (Michal Papis)
                   ` (5 preceding siblings ...)
  2013-07-25  0:54 ` [ruby-core:56164] " mpapis (Michal Papis)
@ 2013-08-02  1:37 ` mpapis (Michal Papis)
  2013-08-02  7:14 ` [ruby-core:56324] " mpapis (Michal Papis)
  7 siblings, 0 replies; 9+ messages in thread
From: mpapis (Michal Papis) @ 2013-08-02  1:37 UTC (permalink / raw
  To: ruby-core


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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:56324] [Backport 200 - Backport #7948] Can not compile pseudo static Ruby binary on OSX
  2013-02-24 18:35 [ruby-core:52845] [Backport 200 - Backport #7948][Open] Can not compile pseudo static Ruby binary on OSX mpapis (Michal Papis)
                   ` (6 preceding siblings ...)
  2013-08-02  1:37 ` [ruby-core:56319] [Backport 200 - Backport " mpapis (Michal Papis)
@ 2013-08-02  7:14 ` mpapis (Michal Papis)
  7 siblings, 0 replies; 9+ messages in thread
From: mpapis (Michal Papis) @ 2013-08-02  7:14 UTC (permalink / raw
  To: ruby-core


Issue #7948 has been updated by mpapis (Michal Papis).


=begin
confirming that for static extensions ((({--with-static-linked-ext}))) it is required to ignore extensions that fail, for me on OSX it was:

 --with-out-ext=dl/win32,fiddle/win32,tk/tkutil,win32ole,-test-/win32/dln,-test-/win32/fd_setsize

which makes the static ruby compilation two step pass process:

 make | grep "^Failed to configure"
 ./configure --with-out-ext=...,...,...
 make

this is related to the change http://www.rubyist.net/~eban/goto/r42213 - can we make the "Fail"s to be ignored from static compilation list?
=end

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

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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-08-02  7:43 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-24 18:35 [ruby-core:52845] [Backport 200 - Backport #7948][Open] Can not compile pseudo static Ruby binary on OSX mpapis (Michal Papis)
2013-02-25  0:25 ` [ruby-core:52856] [Backport 200 - Backport #7948][Feedback] " nobu (Nobuyoshi Nakada)
2013-02-25  1:37 ` [ruby-core:52860] [Backport 200 - Backport #7948] " nobu (Nobuyoshi Nakada)
2013-02-25  1:38 ` [ruby-core:52861] " mpapis (Michal Papis)
2013-02-25  1:45 ` [ruby-core:52863] " luislavena (Luis Lavena)
2013-05-19 14:50 ` [ruby-core:55055] [ruby-trunk - Bug " mpapis (Michal Papis)
2013-07-25  0:54 ` [ruby-core:56164] " mpapis (Michal Papis)
2013-08-02  1:37 ` [ruby-core:56319] [Backport 200 - Backport " mpapis (Michal Papis)
2013-08-02  7:14 ` [ruby-core:56324] " mpapis (Michal Papis)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).