From: openmacnews@... Date: 2006-09-24T07:46:51+09:00 Subject: [BUG](s) Ruby 185 incompatibility/issues with openssl ------=_Part_11944_13189705.1159051608793 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline hi, i'd originally posted this @: http://trac.macosforge.org/projects/macports/ticket/4103 on review, it's not clear 2 me if/how that project's fixes get back into main trunk dev. soooo, reposting here. as of 23 Sep 06, building, ruby 1.8.5 "out-of-the-box" on osx 10.4.7 w/ external instance of openssl 0.9.8c, though 'make' is successful, 'make install' dies (still?) @: ... install -c -p -m 0644 ruby.1 /usr/local/man/man1/ruby.1 ./miniruby ./ext/extmk.rb --dest-dir="" --make="make" --mflags="" --make-flags="" --extout=".ext" --extension --extstatic -- install cp -r ./.ext/. /usr/local/ruby/lib/ruby/1.8 Generating RDoc documentation ./miniruby ./runruby.rb --extout=.ext -- "./bin/rdoc" --all --ri --op "/usr/local/ruby/share/ri/1.8/system" "." dyld: NSLinkModule() error dyld: Symbol not found: _ENGINE_load_aep Referenced from: /usr/ports/ruby-1.8.5/.ext/powerpc-darwin8.7.0 /openssl.bundle Expected in: flat namespace per earlier post, noting in: /usr/ports/ruby-1.8.5/ext/openssl/ossl_engine.c the current check (@ ~ line#64) for: #ifndef OPENSSL_NO_STATIC_ENGINE and, hence, adding to CPPFLAGS: -DOPENSSL_NO_STATIC_ENGINE and, after 'make', despite: setenv LDFLAGS "-L/usr/local/lib -lreadline -L/usr/local/ssl/lib -lssl -lcrypto" setenv CPPGLAGS "-I/usr/local/include -I/usr/local/ssl/include -DOPENSSL_NO_STATIC_ENGINE" this is still required to pick up external openssl: /usr/ports/ruby-1.8.5/ext/openssl/Makefile ========================================== @82 --- LIBS = $(LIBRUBYARG_SHARED) -lssl -lcrypto -lpthread -ldl -lcrypt -lobjc +++ LIBS = $(LIBRUBYARG_SHARED) -lpthread -ldl -lcrypt -lobjc -L/usr/local/ssl/lib -lssl -lcrypto ========================================== then, a subsequent: % cd /usr/ports/ruby-1.8.5/ext/openssl % make clean % make % cd /usr/ports/ruby-1.8.5 % rm -rf /usr/local/ruby % make install finishes successfully: ... Generating RI... Files: 494 Classes: 1369 Modules: 721 Methods: 7750 Elapsed: 758.811s % and checking: % rehash % which ruby /usr/local/ruby/bin/ruby % ruby --version ruby 1.8.5 (2006-08-25) [powerpc-darwin8.7.0] % otool -L /usr/local/ruby/lib/ruby/1.8/powerpc-darwin8.7.0/openssl.bundle /usr/local/ruby/lib/libruby.dylib (compatibility version 1.8.0, current version 1.8.5) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.6) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0) /usr/local/ssl/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8) /usr/local/ssl/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) % otool -L /usr/local/ruby/bin/ruby /usr/local/lib/libreadline.5.1.dylib (compatibility version 5.0.0, current version 5.1.0) /usr/local/ssl/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8) /usr/local/ssl/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8) /usr/local/ruby/lib/libruby.dylib (compatibility version 1.8.0, current version 1.8.5) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.6) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) all, now, looks OK. richard ------=_Part_11944_13189705.1159051608793--