Skip to content

Can't run the executable under linux (name might be reserved?)

I ran into a bizarre issue with the savedomer binary. It seems linux doesn't like the savedomer name and acts like the binary file doesn't exist when I attempt to run it:

~/Downloads/artifacts/target/x86_64-unknown-linux-gnu/release ▶ ls
savadomer
~/Downloads/artifacts/target/x86_64-unknown-linux-gnu/release ▶ ./savedomer
bash: ./savedomer: No such file or directory
~/Downloads/artifacts/target/x86_64-unknown-linux-gnu/release ▶ chmod +x savedomer
chmod: cannot access 'savedomer': No such file or directory

As soon as the binary is renamed, it can then be executed. This happens both with artifacts downloaded from the gitlab and the locally compiled binary. Interestingly enough, wine also can't run savedomer.exe

~/Downloads/artifacts(1)/target/x86_64-pc-windows-gnu/release ▶ ls
savadomer.exe
~/Downloads/artifacts(1)/target/x86_64-pc-windows-gnu/release ▶ wine savedomer.exe
Application could not be started, or no application associated with the specified file.
ShellExecuteEx failed: File not found.

Everything works OK if the binary is renamed, including the windows version ran with wine. I'm not sure why it's behaving this way. My best guess is that savedomer or part of it is a reserved word in linux world.