[morty,1/1] openssl-native: Compile with -fPIC

Message ID 20170526070344.6053-1-mirza.krak@endian.se
State New
Headers show
Series
  • [morty,1/1] openssl-native: Compile with -fPIC
Related show

Commit Message

Mirza Krak May 26, 2017, 7:03 a.m.
From: Khem Raj <raj.khem@gmail.com>


Fixes
| /usr/bin/ld: libcrypto.a(sha1-x86_64.o): relocation R_X86_64_PC32 against undefined symbol `OPENSSL_ia32cap_P' can not be used when making a shared object; recompile with -fPIC
| /usr/bin/ld: final link failed: Bad value

Signed-off-by: Khem Raj <raj.khem@gmail.com>

(cherry picked from commit 0a19e72081771fca8ed94fb2a2a8996fd3dce00c)
Signed-off-by: Mirza Krak <mirza.krak@endian.se>

---

I hit the same compiler error as in above commit message when running on morty branch.

I simply cherry-picked that fix in to morty branch. I looked in the git log of oe-core and it seems to me that it shall be ok to do that?

This is a re-send since I messed up Subject the first time around [1]

[1]. http://lists.openembedded.org/pipermail/openembedded-core/2017-May/136489.html

 meta/recipes-connectivity/openssl/openssl_1.0.2j.bb | 1 +
 1 file changed, 1 insertion(+)

--
2.13.0

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Comments

Andre McCurdy May 26, 2017, 6:47 p.m. | #1
On Fri, May 26, 2017 at 12:03 AM, Mirza Krak <mirza.krak@endian.se> wrote:
> From: Khem Raj <raj.khem@gmail.com>

>

> Fixes

> | /usr/bin/ld: libcrypto.a(sha1-x86_64.o): relocation R_X86_64_PC32 against undefined symbol `OPENSSL_ia32cap_P' can not be used when making a shared object; recompile with -fPIC

> | /usr/bin/ld: final link failed: Bad value


Although this is an old thread, it appears to suggest that adding
-Wl,-Bsymbolic may be the more "correct" solution:

  https://rt.openssl.org/Ticket/Display.html?user=guest&pass=guest&id=1521

Interestingly, that's actually the default in upstream openssl, but
removed by an OE patch inherited from Debian:

  http://git.openembedded.org/openembedded-core/tree/meta/recipes-connectivity/openssl/openssl/debian/no-symbolic.patch


> Signed-off-by: Khem Raj <raj.khem@gmail.com>

> (cherry picked from commit 0a19e72081771fca8ed94fb2a2a8996fd3dce00c)

> Signed-off-by: Mirza Krak <mirza.krak@endian.se>

> ---

>

> I hit the same compiler error as in above commit message when running on morty branch.

>

> I simply cherry-picked that fix in to morty branch. I looked in the git log of oe-core and it seems to me that it shall be ok to do that?

>

> This is a re-send since I messed up Subject the first time around [1]

>

> [1]. http://lists.openembedded.org/pipermail/openembedded-core/2017-May/136489.html

>

>  meta/recipes-connectivity/openssl/openssl_1.0.2j.bb | 1 +

>  1 file changed, 1 insertion(+)

>

> diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb b/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb

> index 9a7cdedd05..b6fb126349 100644

> --- a/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb

> +++ b/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb

> @@ -5,6 +5,7 @@ require openssl.inc

>  DEPENDS += "cryptodev-linux"

>

>  CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"

> +CFLAG_append_class-native = " -fPIC"

>

>  LIC_FILES_CHKSUM = "file://LICENSE;md5=27ffa5d74bb5a337056c14b2ef93fbf6"

>

> --

> 2.13.0

>

> --

> _______________________________________________

> Openembedded-core mailing list

> Openembedded-core@lists.openembedded.org

> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Patch hide | download patch | download mbox

diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb b/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb
index 9a7cdedd05..b6fb126349 100644
--- a/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb
+++ b/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb
@@ -5,6 +5,7 @@  require openssl.inc
 DEPENDS += "cryptodev-linux"

 CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
+CFLAG_append_class-native = " -fPIC"

 LIC_FILES_CHKSUM = "file://LICENSE;md5=27ffa5d74bb5a337056c14b2ef93fbf6"