Bug #10558
closedfailing require digest.so on OSX statically compiled ruby
Description
compiling 2.2.0-preview2 and 2.2.0-preview1 with following flags:
env LDFLAGS=-L/Users/mpapis/.sm/pkg/active/lib -fPIC -Bstatic CFLAGS=-O3 -I/Users/mpapis/.sm/pkg/active/include -fPIC -mmacosx-version-min=10.7 ./configure --prefix=/Users/mpapis/.rvm/rubies/ruby-2.2.0-preview2 --disable-install-doc --enable-load-relative --with-static-linked-ext --with-out-ext=dl/win32,fiddle/win32,tk/tkutil,tk,win32ole,-test-/win32/dln,-test-/win32/fd_setsize --sysconfdir=/etc --disable-install-doc --disable-shared --with-arch=x86_64
it compiles but files on installation with:
/Users/travis/.rvm/src/ruby-2.2.0-preview2/.ext/common/digest.rb:1:in require': cannot load such file -- digest.so (LoadError)` (got the command and error from different machines)
this bug was reported earlier as https://bugs.ruby-lang.org/issues/8721 but now it happens on multiple machines, can not ignore it
this prevents from building a movable OSX ruby binary
        
           Updated by nobu (Nobuyoshi Nakada) almost 11 years ago
          Updated by nobu (Nobuyoshi Nakada) almost 11 years ago
          
          
        
        
      
      - Status changed from Open to Feedback
I can't reproduce it.
$ LDFLAGS="-fPIC -Bstatic" CFLAGS="-O3 -fPIC -mmacosx-version-min=10.7" ../src/configure --prefix=$HOME/.rvm/rubies/ruby-2.2.0-preview2 --disable-install-doc --enable-load-relative --with-static-linked-ext --with-out-ext='win32*,tk*' --sysconfdir=/etc --disable-install-doc --disable-shared --with-arch=x86_64
(snip)
$ make -j8 && make install
(snip)
$ ~/.rvm/rubies/ruby-2.2.0-preview2/bin/ruby -e 'puts $".grep(/digest/)'
digest.so
/Users/nobu/.rvm/rubies/ruby-2.2.0-preview2/lib/ruby/2.2.0/digest.rb
digest/bubblebabble.so
digest/md5.so
digest/rmd160.so
digest/sha1.so
digest/sha2.so
        
           Updated by rkh (Konstantin Haase) almost 11 years ago
          Updated by rkh (Konstantin Haase) almost 11 years ago
          
          
        
        
      
      This is failing on Travis CI and unfortunately preventing us from offering 2.2.0-preview2.
See https://travis-ci.org/travis-ci/travis-rubies/jobs/42454368#L194
Konstantin
        
           Updated by mpapis (Michal Papis) almost 11 years ago
          Updated by mpapis (Michal Papis) almost 11 years ago
          
          
        
        
      
      Nobuyoshi Nakada what OSX version are you trying? mine was 10.10, also could it make difference if it was compiled in sources directory instead of ../src?
        
           Updated by nobu (Nobuyoshi Nakada) almost 11 years ago
          Updated by nobu (Nobuyoshi Nakada) almost 11 years ago
          
          
        
        
      
      Mine is also 10.10.
And I heard that it occurs with 2.1 but not with trunk.
        
           Updated by nobu (Nobuyoshi Nakada) almost 11 years ago
          Updated by nobu (Nobuyoshi Nakada) almost 11 years ago
          
          
        
        
      
      I can't reproduce it:
- plain ruby-2.1.5 tarball
- in-place build
- 
without ~/.sm/pkg/activedirectories
What libraries do you have under ~/.sm/pkg/active/lib?
Isn't ruby linked against a library  there?
        
           Updated by mpapis (Michal Papis) almost 11 years ago
          Updated by mpapis (Michal Papis) almost 11 years ago
          
          
        
        
      
      it's few libraries, most important here openssl 1.0.1j:
CFLAGS="-fPIC" LDFLAGS="-fPIC" ./Configure darwin64-x86_64-cc zlib no-shared --openssldir=/etc/openssl --prefix=~/openssl101j
make install -j 1
sed -e '/^Libs:/ s/Libs:/Libs: -lz/' -i ~/openssl101j/lib/pkgconfig/openssl.pc
and use ~/openssl101j for the -I/-L flags
        
           Updated by mpapis (Michal Papis) almost 11 years ago
          Updated by mpapis (Michal Papis) almost 11 years ago
          
          
        
        
      
      looks like release fixed it: https://github.com/wayneeseguin/rvm/issues/3165#issuecomment-68320898 -- maybe something on the way was fixed
        
           Updated by nobu (Nobuyoshi Nakada) over 9 years ago
          Updated by nobu (Nobuyoshi Nakada) over 9 years ago
          
          
        
        
      
      - Status changed from Feedback to Third Party's Issue