Sublime Forum

SlackwareARM ST4 Required File Not Found

#1

I am attempting to use the ARM64.deb download to run SublimeText 4 on a Pinebook Pro installed with SlackwareARM. I used deb2tgz to convert to a tarball and installed the software. I checked to see that all libraries were installed:

phobos:/opt/sublime_text$ ldd sublime_text 
linux-vdso.so.1 (0x0000ffff83850000)
librt.so.1 => /lib64/librt.so.1 (0x0000ffff82b90000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000ffff82b60000)
libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x0000ffff82ae0000)
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x0000ffff82970000)
libGL.so.1 => /usr/lib64/libGL.so.1 (0x0000ffff82870000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x0000ffff82710000)
libm.so.6 => /lib64/libm.so.6 (0x0000ffff82660000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000ffff82630000)
libc.so.6 => /lib64/libc.so.6 (0x0000ffff82470000)
/lib/ld-linux-aarch64.so.1 => /lib64/ld-linux-aarch64.so.1 (0x0000ffff83813000)
libffi.so.8 => /usr/lib64/libffi.so.8 (0x0000ffff82440000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x0000ffff82390000)
libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x0000ffff82340000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x0000ffff82300000)
libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x0000ffff82170000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x0000ffff82130000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000ffff82100000)
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x0000ffff820d0000)

Nothing is missing, but when I attempt to execute sublime_text, I receive the following error:

phobos:/opt/sublime_text$ ./sublime_text-bash: ./sublime_text: cannot execute: required file not found

Is there an environment variable that must be set to locate something in the distribution? Is there an executable that ST4 relies on that might not be installed by default in Slackware? The error does not identify what file it might be attempting to use, so I am at a standstill. Any help would be greatly appreciated. Thank you.

0 Likes

#2

Are you sure you’re running the executable and not the bash script that we ship? Note that we publish tarballs for x64 and arm64; there’s no need to convert a debian package.

1 Like

#3

Positive that I am not executing the script. Had I run ldd on a script I would not have gotten the list of libraries that I listed above.

What is the script that you include? There is no script in the distribution I installed. I have the following list of files:

phobos:/opt/sublime_text$ ls -l
total 33008
drwxr-xr-x 7 root root     4096 Aug  3 22:35 Icon/
drwxrwxr-x 5 root root     4096 Aug  3 22:35 Lib/
drwxr-xr-x 2 root root     4096 Aug  3 22:35 Packages/
-rw-r--r-- 1 root root    59880 Aug  3 22:35 changelog.txt
-rwxr-xr-x 1 root root  1102120 Aug  3 22:35 crash_reporter*
-rw-r--r-- 1 root root  4033800 Dec 13  2022 libcrypto.so.1.1
-rw-r--r-- 1 root root  1040304 Dec 13  2022 libsqlite3.so
-rw-r--r-- 1 root root   905792 Dec 13  2022 libssl.so.1.1
-rwxr-xr-x 1 root root  6601928 Aug  3 22:35 plugin_host-3.3*
-rwxr-xr-x 1 root root  8761400 Aug  3 22:35 plugin_host-3.8*
-rwxr-xr-x 1 root root 11267360 Aug  3 22:35 sublime_text*

If there should be a Bash script in the directory, how can I get it?

0 Likes

#4

Looking at the list of files in the tarball, I found a file ‘/usr/bin/subl’ that is a Bourne shell script. When I execute it, I get the same error as listed above.

phobos:/opt/sublime_text$ /usr/bin/subl
/usr/bin/subl: line 2: /opt/sublime_text/sublime_text: cannot execute: required file not found

The script contains the following:

#!/bin/sh
exec /opt/sublime_text/sublime_text --fwdargv0 "$0" "$@"
0 Likes

#5

Can you run file sublime_text please?

0 Likes

#6

I did. You have the output in my very first post.

phobos:/opt/sublime_text$ ./sublime_text
-bash: ./sublime_text: cannot execute: required file not found
0 Likes

#7

I did. You have the output in my very first post.

I think you misunderstood. Can you please run the command file on the file sublime_text, eg:

phobos:/opt/sublime_text$ file sublime_text
0 Likes

#8

Sorry, I did misread your last message. Here is the output:

phobos:/opt/sublime_text$ file sublime_text
sublime_text: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, stripped
0 Likes

#9

Could you run strace ./sublime_text?

0 Likes

#10
phobos:/opt/sublime_text$ strace ./sublime_text
execve("./sublime_text", ["./sublime_text"], 0xffffe3ec22b0 /* 38 vars */) = -1 ENOENT (No such file or directory)
strace: exec: No such file or directory
+++ exited with 1 +++
0 Likes

#11

Looks like I missed it the first time but from your first post it looks like linux-vdso.so.1 is missing?

0 Likes

#12

No, it gave the link address. Had it not been present, then it would have been “(not found)”.

0 Likes

#13

Then I really don’t know what’s going on. execve can only fail with that error if a dynamic library is missing or the interpreter is missing, neither of which seems to be the case here.

0 Likes

#14

From what I just read, VDSO is a kernel module, and it appears that SlackwareARM compiles this directly into the kernel, not as a module. The following is from /proc/config.gz:

# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
CONFIG_CLZ_TAB=y
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=y
CONFIG_DIMLIB=y
CONFIG_LIBFDT=y
CONFIG_OID_REGISTRY=y
CONFIG_UCS2_STRING=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_FONT_SUPPORT=y
0 Likes

#15

Shot in the dark, can you run uname -a?

0 Likes

#16
phobos:/# uname -a
Linux phobos.xxxxxxxxx.com 6.1.39-armv8 #1 SMP PREEMPT Wed Jul 19 21:05:30 BST 2023 aarch64 GNU/Linux
0 Likes

#17

That’s very confusing. You’ve got both armv8 and aarch64 there. Could you run:

file `which bash`
0 Likes

#18
phobos:/# file `which bash`
/bin/bash: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-aarch64.so.1, stripped
0 Likes

#19

Only think that sticks out is that it’s using a different interpreter: /lib64/ld-linux-aarch64.so.1 instead of /lib/ld-linux-aarch64.so.1. That could be the cause, but I don’t really know enough to help further.

FWIW I just tried installing Sublime Text through the apt repository on my PinePhone Pro (same SOC as you’re using) and it works as expected.

1 Like

#20

It would be the same interpreter. Slackware still maintains 32-bit distros. 64-bit libraries are always put into a …/lib64 directory, while 32-bit libs go into …/lib.

The system would not allow me to add another reply, so I am editing this one. I updated my OS, and with the new version of the kernel, I am able to run Sublime Text 4 now. I don’t know what the difference is, but I thank you for your efforts.

1 Like