* [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).