Skip to content

[package] openssl/any: impossible to use platform Perl with MSVC #29680

@kambala-decapitator

Description

@kambala-decapitator

Description

GitHub Actions public runners have Strawberry Perl preinstalled, so I tried to use it on CI using platform_tool_requires + replace_tool_requires. However, the openssl recipe is hardcoded to use Perl only from the CCI recipe and it throws error in my case:

ERROR: openssl/3.6.1: Error in generate() method, line 417
	env.define_path("PERL", self._perl)
while calling '_perl', line 505
	return self.dependencies.build["strawberryperl"].conf_info.get("user.strawberryperl:perl", check_type=str)
	KeyError: "'strawberryperl' not found in the dependency set"

see here (and same in the 1.x.x recipe):

if self._use_nmake:
return self.dependencies.build["strawberryperl"].conf_info.get("user.strawberryperl:perl", check_type=str)

For example, NASM recipe also requires Strawberry Perl, but it doesn't query the conf and doesn't fail.

Package and Environment Details

  • Package Name/Version: openssl/any
  • Operating System+version: Windows 10
  • Compiler+version: MSVC v142
  • Conan version: conan 2.26.1
  • Python version: Python 3.12.10

Conan profile

the most important part is:

[platform_tool_requires]
strawberryperl/5.32.1

[replace_tool_requires]
strawberryperl/*: strawberryperl/5.32.1

Steps to reproduce

conan install --require openssl/3.6.1 --build=openssl

Logs

see https://github.com/vcmi/vcmi-dependencies/actions/runs/22521854152/job/65247819592#step:13:1736

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions