Please see https://github.com/elixir-lang/elixir/pull/14129.


*José Valimhttps://dashbit.co/ <https://dashbit.co/>*


On Mon, Dec 30, 2024 at 4:52 AM Mohd Norhaimi Yahya <haimiya...@gmail.com>
wrote:

> Hi everyone,
>
> The background story is like this, I install Termux from PlayStore on my
> non rooted Poco M6 Pro phone then I install Erlang and Elixir. I created a
> new Elixir project with command ```mix new hello_world```, then I CD to the
> directory then try to compile the project with ```mix compile``. The
> compilation failed with error like below.
>
> ```
> ~/.../elixir/hello_world $ mix compile
> ** (File.LinkError) could not create hard link from
> "/data/data/com.termux/files/usr/tmp/mix_lock/4JzyjFIskDOoiK7WEYxDnA/port_47507"
> to
> "/data/data/com.termux/files/usr/tmp/mix_lock/4JzyjFIskDOoiK7WEYxDnA/lock_1":
> permission denied
>     (mix 1.18.1) lib/mix/sync/lock.ex:201: Mix.Sync.Lock.grab_lock/3
>     (mix 1.18.1) lib/mix/sync/lock.ex:160: Mix.Sync.Lock.try_lock/4
>     (mix 1.18.1) lib/mix/sync/lock.ex:126: Mix.Sync.Lock.lock/2
>     (mix 1.18.1) lib/mix/sync/lock.ex:104: Mix.Sync.Lock.with_lock/3
>     (mix 1.18.1) lib/mix/task.ex:495: anonymous fn/3 in Mix.Task.run_task/5
>     (mix 1.18.1) lib/mix/tasks/compile.ex:135: Mix.Tasks.Compile.run/1
>     (mix 1.18.1) lib/mix/task.ex:495: anonymous fn/3 in Mix.Task.run_task/5
>     (mix 1.18.1) lib/mix/cli.ex:107: Mix.CLI.run_task/2
> ```
> I tried to browse to directory
> ```/data/data/com.termux/files/usr/tmp/mix_lock/4JzyjFIskDOoiK7WEYxDnA```
> and I can see the file port_47507, so I can be certain this is not a file
> writing issue.
>
> Then I CD to directory
> ```/data/data/com.termux/files/usr/tmp/mix_lock/4JzyjFIskDOoiK7WEYxDnA```
> then tried to issue the link command like below and received the error:
>
> ```
> .../mix_lock/4JzyjFIskDOoiK7WEYxDnA $ ln port_47507 lock_1
> ln: failed to create hard link 'lock_1' => 'port_47507': Permission denied
> ```
>
> I seems his locking mechanism prevents the project to be compiled in
> environment without hardlink permission.
>
> So I'm thinking, for short term solution will it better if there is an
> optional parameter to turn off this locking mechanism? And for the long
> term is there any other way to accomplish the locking mechanism without
> using hardlinks?
>
> thank you very much,
>
> --
> You received this message because you are subscribed to the Google Groups
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elixir-lang-core+unsubscr...@googlegroups.com.
> To view this discussion visit
> https://groups.google.com/d/msgid/elixir-lang-core/2250d5e9-b996-4b1a-ad5a-d6531981411bn%40googlegroups.com
> <https://groups.google.com/d/msgid/elixir-lang-core/2250d5e9-b996-4b1a-ad5a-d6531981411bn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4K546NnputXUpFJPuxtrCHxF7bKk8SFxcUA0sXj1kGhiA%40mail.gmail.com.

Reply via email to