Open patitieso opened 1 year ago
Most common linux fs allow 255 characters per filename, and no limit on the total path length. The mentioned file has 148 characters in its name. Are you using a nonstandard filesystem? Maybe eCryptfs with filename encryption?
Can you work on a different fs? Or continue without these files? They are only related to some tests.
I was able to do a complete clone from a subdirectory of one character, from root directory, as described above.
The filesystem is EXT4.
Most common linux fs allow 255 characters per filename, and no limit on the total path length.
You can ask your system. Try it getconf -a|grep PATH_MAX
. Example:
$ getconf -a|grep PATH_MAX
PATH_MAX 4096
_POSIX_PATH_MAX 4096
So yeah, there is an upper limit and -- for comparison -- it's about one eighth of what you get on NT-based Windows. And using ecryptfs
, for example, is a likely reason for busting that limit. Check out the actual storage, e.g. at /home/.ecryptfs/$(whoami)/.Private
, and you will notice that the names are all pretty long, despite the names of the respective encrypted files. Therefore it's surprisingly easy to hit the ceiling.
The mentioned file has 148 characters in its name. Are you using a nonstandard filesystem? Maybe eCryptfs with filename encryption?
I would also presume this is ecryptfs
I run into this on a regular basis. And the actual underlying issue is that the overall path length is limited to 4096 (configurable, but this seems to be widely used as a default).
My workaround was to build from another file system location which is on plain ext4. However, this is impractical, because this means I have to work around cargo install
(and cargo install-update
).
PS: all of the various maximums: getconf -a|awk '$1 ~ /_MAX$/ {print}'
On Ubuntu Linux:
uname -a
Linux ... 5.15.0-69-generic #76-Ubuntu SMP Fri Mar 17 17:19:29 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Before installation, running a simple
git clone https://github.com/zellij-org/zellij.git
from a working directory with very few characters in the path, I getThe remainder of the repo seems to have cloned properly.
Maybe a fix could be simply make some of these file names shorter?