outrun
outrun copied to clipboard
/tmp permissions issue
Trying to compile some ocaml and running into this, not sure where to begin to look.
$ outrun gary@gary-dev dune build
Error: open: /tmp/dune22fe0d.output: Permission denied
Thoughts?
I don't expect this to be fast due to i/o of lots of small files, but wanted to try it :-).
I think it's just attempting to open a read-only input stream on a temp file, which sounds pretty normal? https://github.com/ocaml/dune/blob/d75bd885262b98075299e9145a2aa3bd1a54a35d/src/dune_rules/assets.ml#L31
https://github.com/ocaml/ocaml/blob/trunk/stdlib/stdlib.ml#L409
Can you run the command with --debug
?
$ outrun --debug gary@gary-dev dune build
Trying to compile a simple c++ project and running into this as well.
$ outrun desktop make -B
[email protected]'s password:
[sudo] password for dennis:
g++ src/World.cpp -c -o out/World.o
Cannot create temporary file in /tmp/: Permission denied
make: *** [Makefile:4: out/World.o] Aborted
with --debug
$ outrun --debug desktop make -B
2022-04-24 23:28:27,244 - DEBUG - running ['ssh', '-o', 'LogLevel=error', '-R', '30419:localhost:30419', '-R', '30666:localhost:30666', '-R', '30064:localhost:30064', '-tt', 'desktop', 'outrun', '--remote', '--unshare', '--protocol=1.0.0', '--platform=x86_64', '--config=~/.outrun/config', '--timeout=5000', '--environment-port=30419', '--filesystem-port=30666', '--debug', '--cache-port=30064', '.', '.']
[email protected]'s password:
[sudo] password for dennis:
2022-04-24 23:28:33,912 - INFO - no config file at /home/dennis/.outrun/config
2022-04-24 23:28:34,045 - DEBUG - rpc::None() - 130 ms
2022-04-24 23:28:34,054 - DEBUG - rpc::None() - 3 ms
2022-04-24 23:28:34,056 - DEBUG - rpc::get_app_specific_machine_id() - 1 ms
2022-04-24 23:28:34,057 - DEBUG - rpc::set_prefetchable_paths("('/bin', '/sbin', '/lib', '/lib32', '/lib64', '/etc', '/opt', '/usr')",) - 1 ms
2022-04-24 23:28:34,103 - DEBUG - rpc::get_changed_metadata("{'/bin': Metadata(attr=Attributes(st_mode=41471, st_ino=5994, st_dev=32, st_nlink=1, st_uid=0, st_gid=0, st_size=7, st_atime_ns=1649240977658867761, st_mtime_ns=1626911226000000000, st_ctime_ns=1636810298359195756), link='usr/bin', error=None), '/usr/b...",) - 32 ms
2022-04-24 23:28:34,104 - DEBUG - rpc::mark_previously_fetched_contents("['/usr/bin/bash', '/usr/lib64/libtinfo.so.6.2', '/usr/lib64/libc.so.6', '/usr/lib64/ld-linux-x86-64.so.2', '/etc/ld.so.cache', '/usr/share/locale/locale.alias', '/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION', '/usr/lib64/gconv/gconv-modules.cache', '/u...",) - 1 ms
2022-04-24 23:28:34,112 - DEBUG - rpc::getattr('/', 'None') - 3 ms
2022-04-24 23:28:34,116 - DEBUG - rpc::getattr('/dev', 'None') - 3 ms
2022-04-24 23:28:34,124 - DEBUG - rpc::getattr('/proc', 'None') - 1 ms
2022-04-24 23:28:34,133 - DEBUG - rpc::getattr('/sys', 'None') - 1 ms
2022-04-24 23:28:34,141 - DEBUG - rpc::getattr('/run', 'None') - 2 ms
2022-04-24 23:28:34,152 - DEBUG - rpc::get_command() - 3 ms
2022-04-24 23:28:34,153 - DEBUG - rpc::get_working_dir() - 1 ms
2022-04-24 23:28:34,155 - DEBUG - rpc::get_environment() - 1 ms
2022-04-24 23:28:34,159 - DEBUG - rpc::getattr('/home', 'None') - 1 ms
2022-04-24 23:28:34,160 - DEBUG - rpc::getattr('/home/dennis', 'None') - 1 ms
2022-04-24 23:28:34,162 - DEBUG - rpc::getattr('/home/dennis/Workspace', 'None') - 1 ms
2022-04-24 23:28:34,163 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl', 'None') - 1 ms
2022-04-24 23:28:34,232 - DEBUG - rpc::readdir('/home/dennis/Workspace/doolhof-sdl',) - 3 ms
2022-04-24 23:28:34,236 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/Makefile', 'None') - 3 ms
2022-04-24 23:28:34,239 - DEBUG - rpc::open('/home/dennis/Workspace/doolhof-sdl/Makefile', '32768') - 3 ms
2022-04-24 23:28:34,242 - DEBUG - rpc::read('47', '0', '4096') - 3 ms
2022-04-24 23:28:34,246 - DEBUG - rpc::flush('47',) - 3 ms
2022-04-24 23:28:34,251 - DEBUG - rpc::release('47',) - 4 ms
2022-04-24 23:28:34,251 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/src', 'None') - 4 ms
2022-04-24 23:28:34,252 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/RCS', 'None') - 1 ms
2022-04-24 23:28:34,253 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/SCCS', 'None') - 1 ms
2022-04-24 23:28:34,255 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/Makefile', 'None') - 1 ms
2022-04-24 23:28:34,256 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/default', 'None') - 1 ms
2022-04-24 23:28:34,257 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/bin', 'None') - 1 ms
2022-04-24 23:28:34,259 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/bin/doolhof', 'None') - 1 ms
2022-04-24 23:28:34,260 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/src/main.cpp', 'None') - 1 ms
2022-04-24 23:28:34,261 - DEBUG - rpc::readdir('/home/dennis/Workspace/doolhof-sdl/src',) - 1 ms
2022-04-24 23:28:34,283 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/src/RCS', 'None') - 21 ms
2022-04-24 23:28:34,284 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/src/SCCS', 'None') - 1 ms
2022-04-24 23:28:34,285 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/out', 'None') - 1 ms
2022-04-24 23:28:34,286 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/out/World.o', 'None') - 1 ms
2022-04-24 23:28:34,288 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/src/World.cpp', 'None') - 1 ms
2022-04-24 23:28:34,289 - DEBUG - rpc::getattr('/home/dennis/Workspace/doolhof-sdl/src/World.h', 'None') - 1 ms
g++ src/World.cpp -c -o out/World.o
2022-04-24 23:28:34,304 - DEBUG - rpc::getattr('/tmp', 'None') - 2 ms
2022-04-24 23:28:34,306 - DEBUG - rpc::getattr('/tmp/ccQ2MhmO.s', 'None') - 1 ms
2022-04-24 23:28:34,307 - DEBUG - rpc::create('/tmp/ccQ2MhmO.s', '32962', '33152') - 1 ms
2022-04-24 23:28:34,308 - DEBUG - rpc::getattr('/tmp/ccQ2MhmO.s', '52') - 1 ms
Cannot create temporary file in /tmp/: Permission denied
2022-04-24 23:28:34,309 - DEBUG - rpc::release('52',) - 1 ms
make: *** [Makefile:4: out/World.o] Aborted
Can you show the stat
output of your /tmp
?
This is stat /tmp
on the remote machine ('desktop' in 'outrun desktop make -B' from above)
$ stat /tmp
File: /tmp
Size: 12288 Blocks: 24 IO Block: 4096 directory
Device: 826h/2086d Inode: 523266 Links: 15
Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-04-22 14:53:22.410395315 +0200
Modify: 2022-05-09 20:49:21.605324570 +0200
Change: 2022-05-09 20:49:21.605324570 +0200
Birth: 2022-04-13 15:06:59.364090920 +0200
And stat
on the local machine?
stat /tmp
on local machine
$ stat /tmp
File: /tmp
Size: 440 Blocks: 0 IO Block: 4096 directory
Device: 29h/41d Inode: 1 Links: 18
Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:tmp_t:s0
Access: 2022-05-10 09:59:13.478963247 +0200
Modify: 2022-05-10 10:44:21.938478073 +0200
Change: 2022-05-10 10:44:21.938478073 +0200
Birth: -
Local machine is on fedora 35 and remote on debian 11
Strange, I'll try to find the time to reproduce and investigate this.
Happening to me as well trying to compile linux, getting the following:
❯ outrun overcurrent make -j8
[sudo] password for typecasto:
SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h
SYSTBL arch/x86/include/generated/asm/syscalls_32.h
SYSHDR arch/x86/include/generated/asm/unistd_32_ia32.h
SYSHDR arch/x86/include/generated/asm/unistd_64_x32.h
HOSTCC scripts/basic/fixdep
Cannot create temporary file in /tmp/: Permission denied
make[1]: *** [scripts/Makefile.host:95: scripts/basic/fixdep] Error 134
make: *** [Makefile:565: scripts_basic] Error 2
make: *** Waiting for unfinished jobs...
sudo chmod -t /tmp
fixed it for me. I ran it on both host and client.
source: https://unix.stackexchange.com/a/687711