question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[package] openssl/1.0.2u: linking against libcrypto.a causes linker to set the EXEC_STACK bit in the executable

See original GitHub issue

When building and linking 64 bit ELF binaries, the linker follows rather arcane rules for determining whether the resulting executable needs an executable stack (good summary of rules is at http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka14320.html). As it turns out, libcrypto.a as built by this recipe contains several .o files which include .note.GNU-stack as well as a handful of .o files that do not have that section, and the linker marks the resulting executable as needing an executable stack.

This is a direct consequence of the recipe using ./Configure rather than ./config. The ./config script contains specific checks that ensure that the assembler gets invoked with --noexecstack if the assembler supports that option, whereas Configure contains no such logic, and from what I can tell offers no option to enable such a thing.

It’s not clear why the recipe chose “Configure” rather than “config” for unix targets. I also haven’t been able to test against a packaged 1.1.1.

Package and Environment Details (include every applicable attribute)

  • Package Name/Version: openssl/1.0.2u
  • Operating System+version: Linux Centos 7.6
  • Compiler+version: devtoolset-7 (gcc-7)
  • Conan version: conan 1.21.0

Conan profile (output of conan profile show default or conan profile show <profile> if custom profile is in use)

Put your profile output here

Steps to reproduce (Include if Applicable)

Logs (Include/Attach if Applicable)

Click to expand log
Put your log output here

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
Croydoncommented, Feb 15, 2020

They are still releasing lettered 1.0.2 (most recent was 1.0.2u in late december 2019)

1.0.2u is the last patch in the 1.0.2 series. As @SSE4 said, it is EOL

0reactions
cleelandcommented, Feb 13, 2020

Yes, this still needs to be fixed.

They are still releasing lettered 1.0.2 (most recent was 1.0.2u in late december 2019), and moving from 1.0.x to 1.1.x is a breaking change.

Basically, we moved from a system-distributed openssl to the conan-based variant of the same release line, and things broke in very subtle but significant ways that cost probably 100+ engineering hours to hunt down. Plus it’s a viral security risk.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Compilation and Installation - OpenSSLWiki
OpenSSL uses a custom build system to configure the library. Configuration will allow the library to set up the recursive makefiles from ...
Read more >
Homebrew refusing to link OpenSSL - Stack Overflow
This is what worked for me: brew update brew install openssl ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/ ln -s ...
Read more >
How to install openssl 1.0.2 with default openssl (1.1.1) on ...
This article has a complete answer: Reformatted slightly: cURL Method. # (Install cURL library) sudo apt-get install php5-curl # (Install ...
Read more >
OpenSSL 3.0.7 and 1.1.1s Binaries for Microsoft Windows
Install VC_redist.x86.exe on 32-bit systems. To use OpenSSL, simply open an elevated Command Prompt then (adjusting the path in OPENSSL_HOME to ...
Read more >
Issue 34028: Python 3.7.0 wont compile with SSL Support 1.1 ...
h for all versions of OpenSSL 1.1.0. Could not build the ssl module! Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found