Bug #2459

Cannot statically link ext/digest/sha2

Added by Arnaud Fontaine about 2 years ago. Updated 10 months ago.

[ruby-core:27096]
Status:Feedback Start date:12/08/2009
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:-
Target version:-
ruby -v:ruby 1.8.6 (2009-08-04 patchlevel 383) [i686-linux]

Description

Hello,

Trying to build a static binary for ruby against OpenSSL library does not work if ext/digest/sha2 is enabled because SHA256_Transform and SHA512_Transform are already defined in OpenSSL library. I think this issue has already been reported on a blog before but I can't remember where. Anyway, the patch I have attached is pretty trivial. Moreover, this issue also affects ruby 1.8.7, should I submit a separate bug report against this version? Thanks.

Regards,
Arnaud Fontaine

ruby_static_fix_sha2_multiple_definitions.patch - Static link of ext/digest/sha2 (4.6 kB) Arnaud Fontaine, 12/08/2009 06:23 pm

History

Updated by Nobuyoshi Nakada about 2 years ago

  • Status changed from Open to Feedback
It should have been fixed long ago.
------------------------------------------------------------------------
r2122 | knu | 2002-02-24 17:20:50 +0900 (Sun, 24 Feb 2002) | 3 lines

Merge from rough.
- Avoid namespace pollution. (MD5_* -> rb_Digest_MD5_*, etc.)
------------------------------------------------------------------------

I have no problem at all.

$ make EXTSTATIC=static EXTS=digest,digest/sha2,openssl
$ ./ruby -ve 'p $"'
ruby 1.8.6 (2009-11-20 patchlevel 388) [i686-linux]
["digest.so", "digest/sha2.so", "openssl.so"]

Also available in: Atom PDF