actions / runner-images

GitHub Actions runner images
MIT License
9.17k stars 2.84k forks source link

`openssl` header files and library can no longer be found #9759

Closed newhoggy closed 2 weeks ago

newhoggy commented 2 weeks ago

Description

During the past few weeks we started getting the following error when compiling our Haskell project:

Failed to build HsOpenSSL-0.11.7.6. The failure occurred during the configure
step.
Build log (
C:\cabal\logs\ghc-9.8.1\HsOpenSSL-0.11.7.6-0a7bd5da69f3c85a05f579d7c0da36dc20e9641b.log
):
[1 of 2] Compiling Main             ( D:\a\cardano-node\cardano-node\dist-newstyle\tmp\src-1627\HsOpenSSL-0.11.7.6\dist\setup\setup.hs, D:\a\cardano-node\cardano-node\dist-newstyle\tmp\src-1627\HsOpenSSL-0.11.7.6\dist\setup\Main.o )
[2 of 2] Linking D:\\a\\cardano-node\\cardano-node\\dist-newstyle\\tmp\\src-1627\\HsOpenSSL-0.11.7.6\\dist\\setup\\setup.exe
Configuring HsOpenSSL-0.11.7.6...
Error: setup.exe: Missing dependencies on foreign libraries:
* Missing (or bad) header file: openssl/asn1.h
* Missing (or bad) C libraries: ssl, crypto
This problem can usually be solved by installing the system packages that
provide these libraries (you may need the "-dev" versions). If the libraries
are already installed but in a non-standard location then you can use the
flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are.If
the library files do exist, it may contain errors that are caught by the C
compiler at the preprocessing stage. In this case you can re-run configure
with the verbosity flag -v3 to see the error messages.
If the header file does exist, it may contain errors that are caught by the C
compiler at the preprocessing stage. In this case you can re-run configure
with the verbosity flag -v3 to see the error messages.

Error: cabal-3.10.2.1.exe: Failed to build HsOpenSSL-0.11.7.6 (which is
required by threepenny-gui-0.9.4.1, lobemo-backend-ekg-0.1.0.1 and others).
See the build log above for details.

What needs to be done to access the openssl headers and libraries?

Platforms affected

Runner images affected

Image version and build link

Current runner version: '2.316.0'
Operating System
  Microsoft Windows Server [2](https://github.com/IntersectMBO/cardano-node/actions/runs/8868069188/job/24347267478?pr=5786#step:1:2)022
  10.0.20348
  Datacenter
Runner Image
  Image: windows-2022
  Version: 20240421.1.0
  Included Software: https://github.com/actions/runner-images/blob/win22/20240421.1/images/windows/Windows2022-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/win22%2F20240421.1
Runner Image Provisioner
  2.0.[3](https://github.com/IntersectMBO/cardano-node/actions/runs/8868069188/job/24347267478?pr=5786#step:1:3)69.1

Is it regression?

yes 2.315.0

Expected behavior

It should be possible to access openssl headers and libraries.

Actual behavior

The openssl headers and libraries cannot be found.

Repro steps

Re-run this job: https://github.com/IntersectMBO/cardano-node/actions/runs/8868069188/job/24347267478?pr=5786

newhoggy commented 2 weeks ago

See https://github.com/msys2/MINGW-packages/issues/20763

sergei-pyshnoi commented 2 weeks ago

Hello @newhoggy . We will take a look on this but its very strange behavior since we have pinned ssl version (see toolset and installation script .

newhoggy commented 2 weeks ago

Yeah, I think we use pacman to install the latest openssl. Seems to break with version 3.3.0.

sergei-pyshnoi commented 2 weeks ago

Glad to hear that you find that. I am closing issue as not runner-image related but feel free to reach me out if you have additional questions.

newhoggy commented 2 weeks ago

Thank you!

CGMossa commented 1 week ago

So two issues opened on the same problem, and now both are closed, without a solution. Why is that?