Failed to build the project on Linux Mint - Filename too long

Hi,

I've got an error when trying to build latest build on linux:

Step "Compile Clojure source files" failed with error "./target/classes/toucan/hydrate$require_model_namespaces_and_find_hydration_fns$iter__29617__29625$fn__29626$iter__29619__29627$fn__29628$iter__29621__29632$fn__29633$fn__29634.class: File name too long

I've checked the length of the file (including the working dir path) and it's total length is 235. But the file name limit is 255 for my ext4 partition.

Does anybody know what could be the issue?

My environment info:

  • Linux Mint 20.3 (kernel 5.13.0-27-generic)
  • openjdk version "11.0.15"
  • node v16.15.1
  • Leiningen 2.9.7
  • yarn 1.22.19
    Clojure 1.11.1.1139
    branch: On branch fix-sandbox-export commit 4d1927d7787037a8deb5032c6166890655a76372

Thanks

Hi @RobinE
Post the output of the following, and which command you're using to build with.

# OS and version
 sed -nE 's/^PRETTY_NAME="([^"]+)"$/\1/p' /etc/os-release
# Git branch and commit
 echo `git status | head -1 && git log -1 --format="commit %H"`
# Java version and architecture
 java -version
# NodeJS version
 node --version
# Yarn version
 yarn --version
# Clojure version
 clojure --help | grep Version

Ok, I just edited the main post. I'm testing now on my branch, but it's based on latest master.

There are some warning at the start of the build. Maybe it's related:

[2/5] Resolving packages...
warning Resolution field "ansi-regex@5.0.1" is incompatible with requested version "ansi-regex@^2.0.0"
warning Resolution field "set-value@4.0.1" is incompatible with requested version "set-value@^2.0.0"
warning Resolution field "set-value@4.0.1" is incompatible with requested version "set-value@^2.0.1"
warning Resolution field "prismjs@1.27.0" is incompatible with requested version "prismjs@~1.25.0"
warning Resolution field "nth-check@2.0.1" is incompatible with requested version "nth-check@^1.0.2"
warning Resolution field "ansi-regex@5.0.1" is incompatible with requested version "ansi-regex@^2.0.0"
warning Resolution field "ansi-regex@5.0.1" is incompatible with requested version "ansi-regex@^4.0.0"
warning Resolution field "ansi-regex@5.0.1" is incompatible with requested version "ansi-regex@^6.0.1"
warning Resolution field "ansi-regex@5.0.1" is incompatible with requested version "ansi-regex@^2.0.0"
warning Resolution field "nanoid@3.1.31" is incompatible with requested version "nanoid@^3.3.3"

@RobinE I'm not sure what is wrong in your environment, but try building in Docker: https://github.com/metabase/metabase/pull/18402/files
Or use release branch: https://github.com/metabase/metabase/tree/release-x.43.x

Thanks, I've build it using Docker and it worked.

Just reviving this topic, since I've found what the problem was. By default on Mint (and probably also Ubuntu?) the /home partition is encrypted using encryptfs. And the filename length limit using that is 143 chars instead of typical 255 eCryptfs - ArchWiki .

The solution was to build the project on a separate partition which is not encrypted.

1 Like