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

cygwin installer error: cygwin installatin package libssl3 is a Base package and is therefore required #5

Open
paweljasinski opened this issue Jun 27, 2023 · 3 comments

Comments

@paweljasinski
Copy link

I get the following message from cygwin installed on the target system:
"cygwin installatin package libssl3 is a Base package and is therefore required" when trying to install base system using generated package directory.

When I investigate, I noticed that the libssl3 is part of the base and can be found on the internet connected system under openssl:

rejap@wzet ~/Downloads/cygwin64
$ find . | grep openssl
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl/libssl1.1
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl/libssl1.1/libssl1.1-1.1.1f-1.tar.xz
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl/libssl1.1/libssl1.1-1.1.1l-1.tar.xz
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl/libssl1.1/libssl1.1-1.1.1m-1.tar.zst
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl/openssl-1.1.1f-1.tar.xz
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl/openssl-1.1.1l-1.tar.xz
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl/openssl-1.1.1m-1.tar.zst
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl10
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl10/libssl1.0
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl10/libssl1.0/libssl1.0-1.0.2t-1.tar.xz
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl10/libssl1.0/libssl1.0-1.0.2u+za-1.tar.zst
./https%3a%2f%2fftp.fau.de%2fcygwin%2f/x86_64/release/openssl10/libssl1.0/libssl1.0-1.0.2u-1.tar.xz
./https%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin%2f/x86_64/release/openssl
./https%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin%2f/x86_64/release/openssl/libssl1.1
./https%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin%2f/x86_64/release/openssl/libssl1.1/libssl1.1-1.1.1u-1.tar.zst
./https%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin%2f/x86_64/release/openssl/libssl3
./https%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin%2f/x86_64/release/openssl/libssl3/libssl3-3.0.9-0.1.tar.zst
./https%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin%2f/x86_64/release/openssl/openssl-1.1.1u-1.tar.zst

and is missing in the offline version generated by pgcyg.
The original list was create with 'replica' command and it contains the libssl3 twice, under base and libs section:

##
## Base
##
...
libssl1.1                       # A general purpose cryptography toolkit with TLS implementation (runtime)
libssl3                         # A general purpose cryptography toolkit with TLS implementation (runtime)
...
##
## Libs
##
...
libssl1.0                       # A general purpose cryptography toolkit with TLS implementation (runtime)
libssl1.1                       # A general purpose cryptography toolkit with TLS implementation (runtime)
libssl3                         # A general purpose cryptography toolkit with TLS implementation (runtime)
...

however after creating offline install the package file is missing:

cygwin/x86_64/release/openssl10
cygwin/x86_64/release/openssl10/libopenssl100
cygwin/x86_64/release/openssl10/libopenssl100/libopenssl100-1.0.2u-1.tar.xz
cygwin/x86_64/release/openssl10/libssl1.0
cygwin/x86_64/release/openssl10/libssl1.0/libssl1.0-1.0.2u+za-1.tar.zst
cygwin/x86_64/release/openssl
cygwin/x86_64/release/openssl/openssl-1.1.1u-1.tar.zst
cygwin/x86_64/release/openssl/libssl1.1
cygwin/x86_64/release/openssl/libssl1.1/libssl1.1-1.1.1u-1.tar.zst

when I copy the missing package by hand, the installer is happy.

@paweljasinski
Copy link
Author

one more detail, adding or removing -o yes parameter doesn't make a difference.

@rwpenney
Copy link
Owner

rwpenney commented Jul 1, 2023

Thanks for looking into this.
Having taken a look at the latest setup.xz, it looks like libssl3 is categorized into the "test" epoch, rather than the default or "prev" epoch. It's not obvious why any of the packages in the default epoch should force inclusion of a "test" version of libssl3; if they do, that's probably something that should be fixed upstream in the official Cygwin package list. Although pmcyg tries to keep up with the evolution of the format of setup.{ini,bz2,xz}, there may be assumptions embedded in that file which aren't publicly documented. Nevertheless, I'll see if I can find some form of workaround.

@rwpenney
Copy link
Owner

rwpenney commented Jul 1, 2023

In 445726a there's an attempt to provide a fallback to using package files from the "test" epoch if they're not available in the default or user-selected epochs. From a few experiments on my system, this seems to successfully pull-in libssl3. Could you give this a try and see if it fixes the issue before I push this version into PyPi?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants