Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{system}[system/system] OpenSSL v3.0 #15659

Conversation

SebastianAchilles
Copy link
Member

@SebastianAchilles SebastianAchilles commented Jun 10, 2022

@SebastianAchilles
Copy link
Member Author

Test report by @SebastianAchilles
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#2746
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
broadwell-alma9-eb - Linux AlmaLinux 9.0 (Emerald Puma), x86_64, Intel(R) Core(TM) i7-6900K CPU @ 3.20GHz (broadwell), 2 x NVIDIA NVIDIA GeForce GTX 1060 6GB, 510.73.08, Python 3.9.10
See https://gist.github.com/6d6ff413baf2377faa2fa9f2f1f4f7d8 for a full test report.

@SebastianAchilles SebastianAchilles added this to the 4.x milestone Jun 10, 2022
@SebastianAchilles
Copy link
Member Author

Test report by @SebastianAchilles
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#2746
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
eb-centosstream9.novalocal - Linux CentOS Stream 9, x86_64, Intel Xeon Processor (Skylake, IBRS) (skylake_avx512), Python 3.9.10
See https://gist.github.com/1df097501babf31de687bafde5791d57 for a full test report.

@jfgrimm
Copy link
Member

jfgrimm commented Jun 13, 2022

Test report by @jfgrimm
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#2746
FAILED
Build succeeded for 1 out of 2 (1 easyconfigs in total)
node080.pri.viking.alces.network - Linux CentOS Linux 7.9.2009, x86_64, Intel(R) Xeon(R) Gold 6138 CPU @ 2.00GHz (skylake_avx512), Python 3.6.8
See https://gist.github.com/aba24e87c922dcb6bcf26d1baa99a9a1 for a full test report.

@jfgrimm
Copy link
Member

jfgrimm commented Jun 13, 2022

@SebastianAchilles I'm seeing: Can't locate IPC/Cmd.pm in @INC

@SebastianAchilles
Copy link
Member Author

@SebastianAchilles I'm seeing: Can't locate IPC/Cmd.pm in @INC

Yes, in the container I have installed perl-IPC-Cmd and perl-Pod-Html to build OpenSSL v3.0:

https://github.com/easybuilders/easybuild-containers/blob/main/almalinux-9.0/Dockerfile#L22-L23

Either we could add this as osdependencies or we could build a Perl-minimal in the system toolchain. Which solution do you think would be better?

@jfgrimm
Copy link
Member

jfgrimm commented Jun 16, 2022

@SebastianAchilles I'm seeing: Can't locate IPC/Cmd.pm in @INC

Yes, in the container I have installed perl-IPC-Cmd and perl-Pod-Html to build OpenSSL v3.0:

https://github.com/easybuilders/easybuild-containers/blob/main/almalinux-9.0/Dockerfile#L22-L23

Either we could add this as osdependencies or we could build a Perl-minimal in the system toolchain. Which solution do you think would be better?

I'd probably go for the latter?

@boegel
Copy link
Member

boegel commented Jun 20, 2022

Yeah, Perl should be fairly robust to build in multiple OS configurations, I would expect.

But we should test it extensively first, so please open a separate PR for a minimal Perl with system (and mention in what context we plan to use it).

@boegel
Copy link
Member

boegel commented Jun 20, 2022

Worth taking into account in this context: #8973

@SebastianAchilles
Copy link
Member Author

Test report by @SebastianAchilles
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
bwd-rockylinux-92 - Linux Rocky Linux 9.2 (Blue Onyx), x86_64, Intel(R) Core(TM) i7-6900K CPU @ 3.20GHz (broadwell), Python 3.9.16
See https://gist.github.com/SebastianAchilles/6063954e39c1ffe631d8c9ff146518c1 for a full test report.

@SebastianAchilles
Copy link
Member Author

Test report by @SebastianAchilles
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3g1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.3, x86_64, AMD EPYC-Milan Processor (zen3), 1 x NVIDIA NVIDIA A100 80GB PCIe, 545.23.08, Python 3.9.18
See https://gist.github.com/SebastianAchilles/703342ec323df0806e88660145514363 for a full test report.

Copy link
Contributor

@Micket Micket left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw there were forward looking packages in RHEL8
openssl3.x86_64
openssl3-libs.x86_64
openssl3-devel.x86_64

I'll try it out to see that it actually finds and wraps those

easyblock = 'EB_OpenSSL_wrapper'

name = 'OpenSSL'
version = '3.0'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should just have 3 here as they will start following semver going foward.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Micket I opened a PR for OpenSSL/3: #19623

# component list, which will be build and installed as usual.

components = [
(name, '3.0.11', {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and maybe we want to use 3.2.x here?

@boegelbot
Copy link
Collaborator

@SebastianAchilles: Tests failed in GitHub Actions, see https://github.com/easybuilders/easybuild-easyconfigs/actions/runs/7559844651
Output from first failing test suite run:

ERROR: test_conflicts (test.easyconfigs.easyconfigs.EasyConfigTest)
Check whether any conflicts occur in software dependency graphs.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/easybuild-easyconfigs/easybuild-easyconfigs/test/easyconfigs/easyconfigs.py", line 330, in test_conflicts
    self.assertFalse(check_conflicts(self.ordered_specs, modules_tool(), check_inter_ec_conflicts=False),
  File "/home/runner/work/easybuild-easyconfigs/easybuild-easyconfigs/test/easyconfigs/easyconfigs.py", line 282, in ordered_specs
    EasyConfigTest.resolve_all_dependencies()
  File "/home/runner/work/easybuild-easyconfigs/easybuild-easyconfigs/test/easyconfigs/easyconfigs.py", line 214, in resolve_all_dependencies
    cls._parsed_easyconfigs, modules_tool(), retain_all_deps=True)
  File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/easybuild/tools/robot.py", line 463, in resolve_dependencies
    raise_error_missing_deps(totally_missing, extra_msg="no easyconfig file or existing module found")
  File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/easybuild/tools/robot.py", line 326, in raise_error_missing_deps
    raise EasyBuildError(error_msg)
easybuild.tools.build_log.EasyBuildError: 'Missing dependencies: Perl/5.38.0 (no easyconfig file or existing module found)'

======================================================================
ERROR: test_dep_graph (test.easyconfigs.easyconfigs.EasyConfigTest)
Unit test that builds a full dependency graph.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/easybuild-easyconfigs/easybuild-easyconfigs/test/easyconfigs/easyconfigs.py", line 317, in test_dep_graph
    dep_graph(fn, self.ordered_specs)
  File "/home/runner/work/easybuild-easyconfigs/easybuild-easyconfigs/test/easyconfigs/easyconfigs.py", line 282, in ordered_specs
    EasyConfigTest.resolve_all_dependencies()
  File "/home/runner/work/easybuild-easyconfigs/easybuild-easyconfigs/test/easyconfigs/easyconfigs.py", line 214, in resolve_all_dependencies
    cls._parsed_easyconfigs, modules_tool(), retain_all_deps=True)
  File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/easybuild/tools/robot.py", line 463, in resolve_dependencies
    raise_error_missing_deps(totally_missing, extra_msg="no easyconfig file or existing module found")
  File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/easybuild/tools/robot.py", line 326, in raise_error_missing_deps
    raise EasyBuildError(error_msg)
easybuild.tools.build_log.EasyBuildError: 'Missing dependencies: Perl/5.38.0 (no easyconfig file or existing module found)'

======================================================================
ERROR: test_dep_versions_per_toolchain_generation (test.easyconfigs.easyconfigs.EasyConfigTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/easybuild-easyconfigs/easybuild-easyconfigs/test/easyconfigs/easyconfigs.py", line 892, in test_dep_versions_per_toolchain_generation
    for ec in self.ordered_specs:
  File "/home/runner/work/easybuild-easyconfigs/easybuild-easyconfigs/test/easyconfigs/easyconfigs.py", line 282, in ordered_specs
    EasyConfigTest.resolve_all_dependencies()
  File "/home/runner/work/easybuild-easyconfigs/easybuild-easyconfigs/test/easyconfigs/easyconfigs.py", line 214, in resolve_all_dependencies
    cls._parsed_easyconfigs, modules_tool(), retain_all_deps=True)
  File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/easybuild/tools/robot.py", line 463, in resolve_dependencies
    raise_error_missing_deps(totally_missing, extra_msg="no easyconfig file or existing module found")
  File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/easybuild/tools/robot.py", line 326, in raise_error_missing_deps
    raise EasyBuildError(error_msg)
easybuild.tools.build_log.EasyBuildError: 'Missing dependencies: Perl/5.38.0 (no easyconfig file or existing module found)'

----------------------------------------------------------------------
Ran 18955 tests in 962.701s

FAILED (errors=3)
ERROR: Not all tests were successful

bleep, bloop, I'm just a bot (boegelbot v20200716.01)
Please talk to my owner @boegel if you notice me acting stupid),
or submit a pull request to https://github.com/boegel/boegelbot fix the problem.

@easybuilders easybuilders deleted a comment from boegelbot Mar 6, 2024
@easybuilders easybuilders deleted a comment from boegelbot Mar 6, 2024
@boegel
Copy link
Member

boegel commented Mar 6, 2024

Closing this, since we're favoring OpenSSL/3 (cfr. #19623), since OpenSSL 3.x promises a stable ABI (couldn't find a good reference for that though)

@boegel boegel closed this Mar 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants