[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
Martin Kelly June 28, 2017, 6:06 p.m. | #2
On 05/26/2017 12:03 AM, Mirza Krak 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

>

> 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]

>


I want to put in my $0.02 that I have hit the same issue and would also 
like the fix to be cherry-picked into morty. I tested and agree that it 
seems to work with no issue.

> [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
akuster808 June 29, 2017, 12:31 a.m. | #3
its in http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=morty-next


On 06/28/2017 11:06 AM, Martin Kelly wrote:
> On 05/26/2017 12:03 AM, Mirza Krak 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

>>

>> 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]

>>

>

> I want to put in my $0.02 that I have hit the same issue and would 

> also like the fix to be cherry-picked into morty. I tested and agree 

> that it seems to work with no issue.

>

>> [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
Martin Kelly July 11, 2017, 7:07 p.m. | #4
Hi,

Is there any issue with backporting this to morty? It would help me fix 
a build crash I'm seeing on morty, and I'm currently using the backport 
in a separate repo with no issue.

On 06/28/2017 11:06 AM, Martin Kelly wrote:
> On 05/26/2017 12:03 AM, Mirza Krak 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

>>

>> 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]

>>

>

> I want to put in my $0.02 that I have hit the same issue and would also

> like the fix to be cherry-picked into morty. I tested and agree that it

> seems to work with no issue.

>

>> [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
Khem Raj July 11, 2017, 7:39 p.m. | #5
On Tue, Jul 11, 2017 at 12:07 PM, Martin Kelly <mkelly@xevo.com> wrote:
> Hi,

>

> Is there any issue with backporting this to morty? It would help me fix a

> build crash I'm seeing on morty, and I'm currently using the backport in a

> separate repo with no issue.

>


there should be no issues. Let Armin know of your request.


> On 06/28/2017 11:06 AM, Martin Kelly wrote:

>>

>> On 05/26/2017 12:03 AM, Mirza Krak 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

>>>

>>> 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]

>>>

>>

>> I want to put in my $0.02 that I have hit the same issue and would also

>> like the fix to be cherry-picked into morty. I tested and agree that it

>> seems to work with no issue.

>>

>>> [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
Martin Kelly July 11, 2017, 8:54 p.m. | #6
Hi Armin,

Could we backport this patch to morty?

On 07/11/2017 12:39 PM, Khem Raj wrote:
> On Tue, Jul 11, 2017 at 12:07 PM, Martin Kelly <mkelly@xevo.com> wrote:

>> Hi,

>>

>> Is there any issue with backporting this to morty? It would help me fix a

>> build crash I'm seeing on morty, and I'm currently using the backport in a

>> separate repo with no issue.

>>

>

> there should be no issues. Let Armin know of your request.

>

>

>> On 06/28/2017 11:06 AM, Martin Kelly wrote:

>>>

>>> On 05/26/2017 12:03 AM, Mirza Krak 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

>>>>

>>>> 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]

>>>>

>>>

>>> I want to put in my $0.02 that I have hit the same issue and would also

>>> like the fix to be cherry-picked into morty. I tested and agree that it

>>> seems to work with no issue.

>>>

>>>> [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

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"