Skip to content

Missing library for Tomviz 1.7.0 on Fedora Linux #295

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

Open
cryos opened this issue Jul 25, 2019 · 7 comments
Open

Missing library for Tomviz 1.7.0 on Fedora Linux #295

cryos opened this issue Jul 25, 2019 · 7 comments
Labels

Comments

@cryos
Copy link
Member

cryos commented Jul 25, 2019

The 1.6.0 binaries worked, but the new 1.7.0 result in:

./tomviz: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory

@cryos cryos added the bug label Jul 25, 2019
@cryos
Copy link
Member Author

cryos commented Jul 25, 2019

$ ldd ../Tomviz-1.7.0/bin/tomviz | grep libcrypt
        libcrypt.so.1 => /usr/lib/libcrypt.so.1 (0x00007fe1f8dc4000)

This is new, looking at 1.6 binary there is no link to libcrypt, nor is it packaged. Maybe brought in with Qt or Python updates.

@psavery
Copy link
Contributor

psavery commented Jul 29, 2019

If I run this command in the root directory, it seems to indicate that Python 3.7 is the culprit:

find . -type f -name '*.so*' | xargs readelf -d | grep -B 10 'libcrypt'

The shared libraries that depend on libcrypt.so.1 are ./lib/python3.7/lib-dynload/_crypt.cpython-37m-x86_64-linux-gnu.so and ./lib/libpython3.7m.so.1.0. The tomviz executable appears to depend on libcrypt.so.1 because it dependes on libpython3.7m.so.1.0.

For Linux, python 3.7 is built in the superbuild.

It looks like many linux OS's come with libcrypt.so.1. But a recent version of fedora has libcrypt.so.2 instead, and some older versions look like they have libcrypt.so.

I can try to see if I can remove that dependency so it doesn't cause issues. A temporary fix for fedora users might be to install the libxcrypt-compat package, which appears that it would give them libcrypt.so.1.

@psavery
Copy link
Contributor

psavery commented Jul 29, 2019

It looks like the Linux build for python 3.7 is not being built with ssl support. I'm not sure why libcrypt.so.1 is still a dependency.

@psavery
Copy link
Contributor

psavery commented Jul 29, 2019

Looks like it is a dependency of the crypt module for python 3.7.

@cryos
Copy link
Member Author

cryos commented Jul 29, 2019

We should look at bundling the library, or disabling it. I don't think we have any particular need for the crypt module.

@cryos
Copy link
Member Author

cryos commented Jul 29, 2019

PR #296 may resolve this issue, we will verify once the builds have completed.

@psavery
Copy link
Contributor

psavery commented Jul 29, 2019

Looks like libcrypt.so.1 is installed as of PR #296. It is only ~36 KB as well, so it is relatively small.

I also tried out ldd on the tomviz executable inside a fedora docker container, and it seemed to find it.

We might want to try it out on a native fedora machine as well.

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

No branches or pull requests

2 participants