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

app-editors/atom-bin-1.40.1: should depend on dev-libs/openssl? #188

Open
simonvanderveldt opened this issue Oct 29, 2019 · 4 comments
Open

Comments

@simonvanderveldt
Copy link

After the stable upgrade to dev-libs/openssl-1.1.1d-r2 (meaning I don't have a 1.0 version installed anymore) I'm getting this every time I update.

!!! existing preserved libs:
>>> package: dev-libs/openssl-1.1.1d-r2
 *  - /usr/lib64/libcrypto.so.1.0.0
 *      used by /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send (app-editors/atom-bin-1.40.1)
 *  - /usr/lib64/libssl.so.1.0.0
 *      used by /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send (app-editors/atom-bin-1.40.1)
Use emerge @preserved-rebuild to rebuild packages using these libraries

Interestingly enough it seems like that binary links to both 1.0 and 1.1

ldd /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send
/usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send: /usr/lib64/libcrypto.so.1.0.0: no version information available (required by /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send)
/usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send: /usr/lib64/libssl.so.1.0.0: no version information available (required by /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send)
	linux-vdso.so.1 (0x00007ffc07f55000)
	libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f9db25fc000)
	libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0 (0x00007f9db258c000)
	libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 (0x00007f9db234c000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f9db2332000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f9db2328000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9db2305000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f9db2135000)
	libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007f9db20a5000)
	libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007f9db1df0000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f9db1dea000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f9db26a5000)

I'm not really sure how the library usage detection works, but it might be enough to just add a dependency on dev-libs/openssl:0 as well as 0/1.1?

@jorgicio
Copy link
Owner

I hope this fixes the issue. The log means it may require the slot 0 but any sub-slot (1.1, etc.).

@simonvanderveldt
Copy link
Author

Thanks for the quick bump! Unfortunately the issue is still the same.

I don't know if it's correct, but the ldd output seems to suggest that that binary links to both versions of openssl. So we might need to have both installed? 😕
I think at the very least we need to have libssl.so.1.0.0 installed, which probably comes from the 1.0.2t-r1 ebuild. I'm not sure it's possible to depend on the (non-existing) zeroth subslot, so might be better to simply depend on version 1.0.x?
Also I don't think it's even possible to install the 0th subslot at all when the 0/1.1 one is installed, not sure about that though, subslots are not super clear to me.

@jorgicio jorgicio reopened this Oct 30, 2019
@jorgicio
Copy link
Owner

jorgicio commented Oct 31, 2019

You should not have installed both versions of OpenSSL, so that's weird that libraries included in atom-bin may require both versions of OpenSSL.

An option should be report the issue to the Atom issue tracker, since it's a binary package and building it from sources requires a recent version of Electron (Atom requires 4.x version, but in the Portage Tree, the most recent version is 2.x).

@jorgicio
Copy link
Owner

jorgicio commented Oct 31, 2019

I tried to run the executable you mentioned in this issue and yes, it does require the 1.0 version of OpenSSL (openssl-compat:1.0.0 in Gentoo).
hackenherr:~ # /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send [22:20:33] /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

BREAKING NEWS: Just installed openssl-compat:1.0.0, and this happens.

hackenherr:~ # ldd /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send [22:43:10] /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send: /usr/lib64/libcrypto.so.1.0.0: version OPENSSL_1.0.0' not found (required by /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send)
/usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send: /usr/lib64/libssl.so.1.0.0: version OPENSSL_1.0.0' not found (required by /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git-imap-send) linux-vdso.so.1 (0x00007ffcf7d73000) libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007fa79da57000) libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0 (0x00007fa79d9e2000) libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 (0x00007fa79d79d000) libz.so.1 => /lib64/libz.so.1 (0x00007fa79d785000) librt.so.1 => /lib64/librt.so.1 (0x00007fa79d77b000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa79d758000) libc.so.6 => /lib64/libc.so.6 (0x00007fa79d582000) libnghttp2.so.14 => /usr/lib64/libnghttp2.so.14 (0x00007fa79d55a000) libidn2.so.0 => /usr/lib64/libidn2.so.0 (0x00007fa79d53c000) libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x00007fa79d4fa000) libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007fa79d46a000) libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007fa79d1af000) libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007fa79d15f000) libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007fa79d07f000) libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007fa79d04a000) libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fa79d045000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fa79d02c000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fa79d026000) /lib64/ld-linux-x86-64.so.2 (0x00007fa79db46000) libunistring.so.2 => /usr/lib64/libunistring.so.2 (0x00007fa79cea1000) libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007fa79ce93000) libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007fa79ce8d000)

I think the problem here is the packaging of the binary Atom. I noted it requires the strict 1.0.0 version and not 1.0.2 as available in the Gentoo Portage Tree because that binary is linked against that version.

simonvanderveldt added a commit to simonvanderveldt/gentoo-config that referenced this issue Aug 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants