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

libnsl.so.1 missing from AppImage v0.19-23756 #53

Closed
brianredbeard opened this issue Jan 27, 2021 · 5 comments
Closed

libnsl.so.1 missing from AppImage v0.19-23756 #53

brianredbeard opened this issue Jan 27, 2021 · 5 comments

Comments

@brianredbeard
Copy link

After updating using zsync from v0.19-23578 to v0.19-23756, the FreeCAD appimage fails with the following error:

$ ./FreeCAD_0.19-23756-Linux-Conda_glibc2.12-x86_64.AppImage 
/tmp/.mount_FreeCAuZGeOF/usr/bin/freecad: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory

Indeed, it does seem that the library is missing from the bundle. After using $ ./FreeCAD_0.19-23756-Linux-Conda_glibc2.12-x86_64.AppImage --appimage-mount and changing into the directory specified on STDOUT (/tmp/.mount_FreeCAnPMqLM/) I see the following:

$ cd /tmp/.mount_FreeCAnPMqLM/
$ ls -la
-rwxrwxr-x.  1 root root  1411 Oct 26 01:18 AppRun
lrwxrwxrwx.  1 root root    17 Oct 21 23:41 .DirIcon -> freecad_conda.png
-rwxrwxr-x.  1 root root   250 Oct 21 23:41 freecad_conda.desktop
-rwxrwxr-x.  1 root root  3744 Oct 21 23:41 freecad_conda.png
-rw-rw-r--.  1 root root 14493 Jan 24 06:32 packages.txt
drwxrwxr-x. 24 root root     0 Jan 24 06:32 usr
$ grep -i nsl packages.txt
$ find usr/ -name "libnsl.*"
$ ls -l usr/lib/libns*
-rwxrwxr-x. 1 root root  305080 Jan  3 13:00 usr/lib/libnspr4.so
-rwxrwxr-x. 1 root root 1430424 Jan 22 13:17 usr/lib/libnss3.so
-rwxrwxr-x. 1 root root  585048 Jan 22 13:17 usr/lib/libnssckbi.so
-rwxrwxr-x. 1 root root  192848 Jan 22 13:17 usr/lib/libnssckbi-testlib.so
-rw-rw-r--. 1 root root     899 Jan 22 13:17 usr/lib/libnssdbm3.chk
-rwxrwxr-x. 1 root root  161160 Jan 22 13:17 usr/lib/libnssdbm3.so
-rwxrwxr-x. 1 root root   17856 Jan 22 13:17 usr/lib/libnsssysinit.so
-rwxrwxr-x. 1 root root  241152 Jan 22 13:17 usr/lib/libnssutil3.so

Related to this, I see that there are multiple identical copies of libnsl in older AppImages (in this example v0.19-23578):

$ find usr/lib/ -maxdepth 1  -name "libnsl*"  -ls  -exec sha256sum {} \; 
3464105691     91 -rw-r--r--   1 root     root        93128 Jan  3 01:45 usr/lib/libnsl-2.23.so
a78023950570485a2d80bac92ecbde292f7a1f4a63bf81bc540dca478c963921  usr/lib/libnsl-2.23.so
3464105723     91 -rw-r--r--   1 root     root        93128 Jan  3 01:45 usr/lib/libnsl.so.1
a78023950570485a2d80bac92ecbde292f7a1f4a63bf81bc540dca478c963921  usr/lib/libnsl.so.1

We see that we have the same SHA256 hash with different paths and different inodes. This is different than the behavior of other libraries (e.g. libkrad, which uses a normative set of cascading symbolic links):

$ find usr/lib/ -maxdepth 1  -name "libkrad*"  -ls  -exec sha256sum {} \; 
3254656497      0 lrwxrwxrwx   1 root     root           14 Jan  3 01:44 usr/lib/libkrad.so -> libkrad.so.0.0
c3138cc655fd1dd6987118cd0e2d899bf0b986b252ac5a8c33011ec0057b337c  usr/lib/libkrad.so
3254656535      0 lrwxrwxrwx   1 root     root           14 Jan  3 01:44 usr/lib/libkrad.so.0 -> libkrad.so.0.0
c3138cc655fd1dd6987118cd0e2d899bf0b986b252ac5a8c33011ec0057b337c  usr/lib/libkrad.so.0
3254656573     44 -rw-rw-r--   1 root     root        44880 Nov 17 16:14 usr/lib/libkrad.so.0.0
c3138cc655fd1dd6987118cd0e2d899bf0b986b252ac5a8c33011ec0057b337c  usr/lib/libkrad.so.0.0

My assumption for this being that the cp command originally introduced in 49f8a39 and carried forward into the various build scripts is dereferencing the symbolic link created by the underlying packaging system used to put libnsl in place.

@looooo
Copy link
Contributor

looooo commented Feb 26, 2021

possible the copying is not working anymore after moving to github-actions. Best to look into the log files.

@luzpaz
Copy link
Collaborator

luzpaz commented Feb 26, 2021

@looooo
Copy link
Contributor

looooo commented Feb 26, 2021

@luzpaz you linked the osx-bundle. I guess we are talking about the appimage here.

@luzpaz
Copy link
Collaborator

luzpaz commented Feb 27, 2021

sorry, i meant the appimage link

@luzpaz
Copy link
Collaborator

luzpaz commented Mar 29, 2023

I guess this is obsolete now. Closing

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

3 participants