New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 738114 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 649672



Sign in to add a comment

Fix vboot_reference / futility for OpenSSL 1.1 to build chromeos-ec and coreboot

Project Member Reported by djkurtz@chromium.org, Jun 29 2017

Issue description

chromeos-base/chromeos-ec-0.0.1-r3971 fails to build with dev-libs/openssl-1.1.0f.

The error is:

chromeos-ec-0.0.1-r3971: futility: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

So, futility doesn't work in the chroot.  futility is installed by chromeos-base/vboot_reference.

Building vboot_reference fails with:

host/lib/util_misc.c: In function 'vb_keyb_from_rsa':
host/lib/util_misc.c:83:38: error: dereferencing pointer to incomplete type
  nwords = BN_num_bits(rsa_private_key->n) / 32;
                                      ^
host/lib/util_misc.c:112:28: error: dereferencing pointer to incomplete type
  BN_copy(N, rsa_private_key->n);
                            ^

host/lib21/host_key.c: In function 'vb2_rsa_sig_alg':
host/lib21/host_key.c:568:27: error: dereferencing pointer to incomplete type
  int exp = BN_get_word(rsa->e);
                           ^
host/lib21/host_key.c:569:28: error: dereferencing pointer to incomplete type
  int bits = BN_num_bits(rsa->n);
                            ^
 
Summary: Fix vboot_reference / futility for OpenSSL 1.1 to build chromeos-ec (was: Fix vboot_reference / futilitu for OpenSSL 1.1 to build chromeos-ec )
Summary: Fix vboot_reference / futility for OpenSSL 1.1 to build chromeos-ec and coreboot (was: Fix vboot_reference / futility for OpenSSL 1.1 to build chromeos-ec )
A copy of futility is also built when emerging coreboot, so this breaks the coreboot build.  An interesting thing to note is that, even if vboot_reference is cros_workon'ed and built, local changes to the vboot_reference repository only take affect when building coreboot when coreboot itself is also cros_workon'ed.
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/bce7904376beee2912932433a4634c1c25afe2f5

commit bce7904376beee2912932433a4634c1c25afe2f5
Author: Daniel Kurtz <djkurtz@chromium.org>
Date: Fri Jul 07 07:57:17 2017

Update for openssl 1.1

OpenSSL 1.1 has made significant non-backwards compatible changes to its
API as outlined in:
https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes

BRANCH=none
BUG=chromium:738114
TEST=cros_workon --host start vboot_reference
TEST=w/ openssl-1.0.2k: sudo emerge vboot_reference
TEST=w/ openssl-1.1.0e: sudo emerge vboot_reference
 => both build ok
 $ futility version
  => command runs without error
TEST=cros_workon --board=soraka start vboot_reference coreboot
TEST=w/ openssl-1.0.2k: emerge-soraka vboot_reference coreboot
TEST=w/ openssl-1.1.0e: emerge-soraka vboot_reference coreboot
 => All build ok

Change-Id: I37cfc8cbb04a092eab7b0b3224f475b82609447c
Reviewed-on: https://chromium-review.googlesource.com/557739
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/bce7904376beee2912932433a4634c1c25afe2f5/host/lib21/host_key.c
[modify] https://crrev.com/bce7904376beee2912932433a4634c1c25afe2f5/utility/dumpRSAPublicKey.c
[modify] https://crrev.com/bce7904376beee2912932433a4634c1c25afe2f5/futility/cmd_create.c
[modify] https://crrev.com/bce7904376beee2912932433a4634c1c25afe2f5/futility/vb2_helper.c
[modify] https://crrev.com/bce7904376beee2912932433a4634c1c25afe2f5/host/lib/util_misc.c
[add] https://crrev.com/bce7904376beee2912932433a4634c1c25afe2f5/host/include/openssl_compat.h

Sign in to add a comment