Hello, I just tried and the below seems to be the fix.

https://patchwork.openembedded.org/patch/119999/

________________________________
From: Takashi Matsuzawa
Sent: Thursday, February 2, 2017 3:25 PM
To: yocto@yoctoproject.org
Subject: Ruby and OpenSSL version mismatch?


Hello, Yocto.

I am trynig a build of fido based yocto image, with openssl 1.0.2j for security 
reason.
The openssl recipe itself builds successfully, but later in the build I see 
error in jscore.
In fact, ruby is complaining that 'OPENSSL_1.0.0' is not available.

| 
/xxx/sysroots/x86_64-linux/usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
 `require': 
/xxx/sysroots/x86_64-linux/usr/lib/ruby/2.2.0/x86_64-linux-gnu/digest/../../../../libcrypto.so.1.0.0:
 version `OPENSSL_1.0.0' not found (required by 
/xxx/sysroots/x86_64-linux/usr/lib/ruby/2.2.0/x86_64-linux-gnu/digest/sha1.so) 
- /xxx/sysroots/x86_64-linux/usr/lib/ruby/2.2.0/x86_64-linux-gnu/digest/sha1.so 
(LoadError)
|     from 
/xxx/sysroots/x86_64-linux/usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
 `require'
|     from 
/xxx/work/core2-32-poky-linux/qtwebkit/5.5.0+gitAUTOINC+0d592678ba-r0/git/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb:30:in
 `<main>'
| make[2]: *** [LLIntDesiredOffsets.h] Error 1

In fact, if I do objdump -p on sha1.so (in ruby tree):

>  required from libcrypto.so.1.0.0:
>    0x066a2b20 0x00 02 OPENSSL_1.0.0

Whereas, my libcrypt.so.1.0.0 says:

>Version definitions:
>1 0x01 0x0746be50 libcrypto.so.1.0.0
>2 0x00 0x06a2b2e4 OPENSSL_1.0.2d
>3 0x00 0x06a2b2e7 OPENSSL_1.0.2g
>    OPENSSL_1.0.2d

So, this might be the cause of the problem.
But I am not sure why sha1.so (which ruby build generats) define these version 
numbers and not refer to the OpenSSL library in the build.

I googled, but there were some tips on updating ruby to solve OpenSSL version 
mismatch, but it is through grew or apt-get, etc.  Not a tip for yocto build.

I may be not familiar with ruby build yet, but any idea how I can fix this?
I could try updating ruby recipe as well to more recent version, but first I 
want to confirm how ruby is deciding the OpenSSL version for its plugin library 
and causing this mismatch.

Thank you for your knowledge..

-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to