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

Update VMS configurations #20983

Closed

Conversation

levitte
Copy link
Member

@levitte levitte commented May 17, 2023

The x86_64 port has been moving forward, there is now a C compiler
available (released in mid-February this year).

Furthermore, OpenSSL has had support for using the OpenVMS port of
Intel's ias for years, but not had any actual information about it.
It's about time that it's mentioned.

levitte added 2 commits May 17, 2023 10:35
A native x86_64 C compiler has appeared.

We preserve the previous config target with a new name to indicate that it's
for cross compilation, at least for the time being.
@levitte levitte added branch: master Merge to master branch approval: review pending This pull request needs review by a committer approval: otc review pending branch: 3.0 Merge to openssl-3.0 branch branch: 3.1 Merge to openssl-3.1 labels May 17, 2023
Copy link
Member

@t8m t8m left a comment

Choose a reason for hiding this comment

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

Is this a bug fix? I do not know.

Copy link
Contributor

@paulidale paulidale left a comment

Choose a reason for hiding this comment

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

Definitely not a bug fix IMO.
This is a feature. It also doesn't meet the config addition only requirement for back porting.

@paulidale paulidale added approval: done This pull request has the required number of approvals triaged: feature The issue/pr requests/adds a feature and removed approval: review pending This pull request needs review by a committer branch: 3.0 Merge to openssl-3.0 branch branch: 3.1 Merge to openssl-3.1 labels May 17, 2023
@openssl-machine openssl-machine added approval: ready to merge The 24 hour grace period has passed, ready to merge and removed approval: done This pull request has the required number of approvals labels May 19, 2023
@openssl-machine
Copy link
Collaborator

This pull request is ready to merge

@paulidale
Copy link
Contributor

and merged.

@paulidale paulidale closed this May 19, 2023
openssl-machine pushed a commit that referenced this pull request May 19, 2023
A native x86_64 C compiler has appeared.

We preserve the previous config target with a new name to indicate that it's
for cross compilation, at least for the time being.

Reviewed-by: Tomas Mraz <[email protected]>
Reviewed-by: Hugo Landau <[email protected]>
Reviewed-by: Paul Dale <[email protected]>
(Merged from #20983)
openssl-machine pushed a commit that referenced this pull request May 19, 2023
Reviewed-by: Tomas Mraz <[email protected]>
Reviewed-by: Hugo Landau <[email protected]>
Reviewed-by: Paul Dale <[email protected]>
(Merged from #20983)
@levitte
Copy link
Member Author

levitte commented May 19, 2023

This is a bug fix. The cross compiling config target should never have been named vms-x86_64, as that suggests native build environment... and as a matter of fact, the guesser mechanism in OpenSSL::config is already setup to answer vms-x86_64 for a VMS instance on x86_64:

# The MACHINE part of the array POSIX::uname() returns on VMS isn't
# worth the bits wasted on it. It's better, then, to rely on perl's
# %Config, which has a trustworthy item 'archname', especially since
# VMS installation aren't multiarch (yet)
[ 'OpenVMS:.*', "$Config{archname}-whatever-OpenVMS" ],

# VMS values found by observation on existing machinery.
[ 'VMS_AXP-.*?-OpenVMS', { target => 'vms-alpha' } ],
[ 'VMS_IA64-.*?-OpenVMS', { target => 'vms-ia64' } ],
[ 'VMS_x86_64-.*?-OpenVMS', { target => 'vms-x86_64' } ],

This means that for 3.0 and 3.1, someone doing the documented minimum configuration and build:

$ perl Configure
$ mms

... will get a very early build failure looking approximately like this:

%DCL-E-OPENIN, error opening SYS$SYSROOT:[SYSMGR]X86_XTOOLS$SYLOGIN.COM; as input
-RMS-E-FNF, file not found

Having the cross compiling config target (misnamed) was always meant to be a temporary measure for the state of affairs a few years, and was meant to be updated to a more correctly defined config target as soon as a native compiler for x86_64 appeared.

So, if this isn't backported fully to 3.0 and 3.1, at least the config target rename in Configurations/50-vms-x86_64.conf should!

@levitte
Copy link
Member Author

levitte commented May 19, 2023

At some point in the future, I fully expect SYS$MANAGER:X86_XTOOLS$SYLOGIN.COM to disappear, as people will most likely move to native building and not install the XTOOLS package any more, and it's quite possible that the XTOOLS package will stop being distributed.

@levitte levitte reopened this May 19, 2023
@levitte levitte added branch: 3.0 Merge to openssl-3.0 branch branch: 3.1 Merge to openssl-3.1 labels May 19, 2023
@t8m
Copy link
Member

t8m commented May 19, 2023

I am OK treating it as a bug fix.

@t8m t8m added the triaged: bug The issue/pr is/fixes a bug label May 19, 2023
@levitte
Copy link
Member Author

levitte commented May 19, 2023

I reopened this and am currently seeking approval to backport, hoping that my explanation helped. If agreement is impossible, this will require an OTC discussion

@hlandau
Copy link
Member

hlandau commented May 22, 2023

OK with this being a bug fix.

@levitte
Copy link
Member Author

levitte commented May 22, 2023

I'll take that as two approvals to backport. Thanks

@levitte
Copy link
Member Author

levitte commented May 22, 2023

Merged to 3.1:

b93c2d3 Update VMS configurations
9458349 Add information on the 'ias' port for OpenVMS

@levitte
Copy link
Member Author

levitte commented May 22, 2023

Merged to 3.0:

5645d5f Update VMS configurations
3dc175c Add information on the 'ias' port for OpenVMS

openssl-machine pushed a commit that referenced this pull request May 22, 2023
A native x86_64 C compiler has appeared.

We preserve the previous config target with a new name to indicate that it's
for cross compilation, at least for the time being.

Reviewed-by: Tomas Mraz <[email protected]>
Reviewed-by: Hugo Landau <[email protected]>
Reviewed-by: Paul Dale <[email protected]>
(Merged from #20983)

(cherry picked from commit d6175dc)
openssl-machine pushed a commit that referenced this pull request May 22, 2023
Reviewed-by: Tomas Mraz <[email protected]>
Reviewed-by: Hugo Landau <[email protected]>
Reviewed-by: Paul Dale <[email protected]>
(Merged from #20983)

(cherry picked from commit d500f04)
@levitte levitte closed this May 22, 2023
openssl-machine pushed a commit that referenced this pull request May 22, 2023
A native x86_64 C compiler has appeared.

We preserve the previous config target with a new name to indicate that it's
for cross compilation, at least for the time being.

Reviewed-by: Tomas Mraz <[email protected]>
Reviewed-by: Hugo Landau <[email protected]>
Reviewed-by: Paul Dale <[email protected]>
(Merged from #20983)

(cherry picked from commit d6175dc)
openssl-machine pushed a commit that referenced this pull request May 22, 2023
Reviewed-by: Tomas Mraz <[email protected]>
Reviewed-by: Hugo Landau <[email protected]>
Reviewed-by: Paul Dale <[email protected]>
(Merged from #20983)

(cherry picked from commit d500f04)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approval: ready to merge The 24 hour grace period has passed, ready to merge branch: master Merge to master branch branch: 3.0 Merge to openssl-3.0 branch branch: 3.1 Merge to openssl-3.1 triaged: bug The issue/pr is/fixes a bug triaged: feature The issue/pr requests/adds a feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants