I set the following env vars: CCACHE_DIR=/proj/user/user2 CCACHE_TEMPDIR=/tmp CCACHE_COMPRESS=1 CCACHE_READONLY=1
I have read access to /proj/user/user2 but not write access. user2 built one .o file already, but not the one in this example. I issue a compilation command directly: ~boreilly/sw/ccache-3.1.8/install/bin/ccache g++ -D_CSU_NAME=\"FooTypeAlgorithm\" -D_CSC_NAME=\"Foo\" [several -I snipped] -Wall -O2 -fno-strict-aliasing -fPIC -c -o src/Processing/Foo/FooTypeAlgorithm/obj/Bar.o src/Processing/Foo/FooTypeAlgorithm/src/Bar.cc I get error: ccache: FATAL: Failed to create /proj/user/user2/8: Permission denied But I set CCACHE_READONLY to 1. OS: RHEL5 g++ version: 4.4 ccache version: 3.1.8 I've attached the strace output. What am I doing wrong?
execve("/home/boreilly/sw/ccache-3.1.8/install/bin/ccache", ["/home/boreilly/sw/ccache-3.1.8/i", "g++", "-D_CSU_NAME=\"FooTypeAlgorithm\"", "-D_CSC_NAME=\"Foo\"", "-I/proj/user/build/3rdparty/OTS", "-Isrc/Processing/Foo/Foo", "-Isrc/Processing/LibraryServic", "-Isrc/Processing/LibraryServic", "-Isrc/Processing/LibraryServic", "-Isrc/Processing/LibraryServic", "-Isrc/Processing/LibraryServic", "-Isrc/Processing/LibraryServic", "-Isrc/Processing/AncillaryProc", "-Isrc/Processing/Foo/DMI_A", "-Isrc/Processing/Foo/DMI_A", "-Isrc/Processing/LibraryServic", ...], [/* 108 vars */]) = 0 brk(0) = 0x18bec000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b207d0a1000 uname({sys="Linux", node="myhost", ...}) = 0 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=232703, ...}) = 0 mmap(NULL, 232703, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b207d0a2000 close(3) = 0 open("/lib64/libm.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\200\3171\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=615136, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b207d0db000 mmap(0x31cf800000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x31cf800000 mprotect(0x31cf882000, 2093056, PROT_NONE) = 0 mmap(0x31cfa81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x81000) = 0x31cfa81000 close(3) = 0 open("/usr/lib64/libz.so.1", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\37\0\3201\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=85928, ...}) = 0 mmap(0x31d0000000, 2178920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x31d0000000 mprotect(0x31d0014000, 2093056, PROT_NONE) = 0 mmap(0x31d0213000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x31d0213000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332\1\3171\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1717800, ...}) = 0 mmap(0x31cf000000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x31cf000000 mprotect(0x31cf14d000, 2097152, PROT_NONE) = 0 mmap(0x31cf34d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14d000) = 0x31cf34d000 mmap(0x31cf352000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x31cf352000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b207d0dc000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b207d0dd000 arch_prctl(ARCH_SET_FS, 0x2b207d0dcd30) = 0 mprotect(0x31cf34d000, 16384, PROT_READ) = 0 mprotect(0x31cfa81000, 4096, PROT_READ) = 0 mprotect(0x31cee1b000, 4096, PROT_READ) = 0 munmap(0x2b207d0a2000, 232703) = 0 brk(0) = 0x18bec000 brk(0x18c0d000) = 0x18c0d000 stat("/proj/user/user2/ccache", {st_mode=S_IFDIR|0750, st_size=64, ...}) = 0 stat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=409600, ...}) = 0 access("/home/boreilly/bin/g++", X_OK) = -1 ENOENT (No such file or directory) access("/home/boreilly/bin/g++", X_OK) = -1 ENOENT (No such file or directory) access("/home/boreilly/bin/g++", X_OK) = -1 ENOENT (No such file or directory) access("/usr/lib64/qt-3.3/bin/g++", X_OK) = -1 ENOENT (No such file or directory) access("/usr/kerberos/bin/g++", X_OK) = -1 ENOENT (No such file or directory) access("/opt/cisco-vpnclient/bin/g++", X_OK) = -1 ENOENT (No such file or directory) access("/opt/PROJ/local/bin/g++", X_OK) = -1 ENOENT (No such file or directory) access("/usr/local/bin/g++", X_OK) = -1 ENOENT (No such file or directory) access("/usr/bin/g++", X_OK) = 0 lstat("/usr/bin/g++", {st_mode=S_IFREG|0755, st_size=253896, ...}) = 0 stat("/usr/bin/g++", {st_mode=S_IFREG|0755, st_size=253896, ...}) = 0 dup(2) = 3 uname({sys="Linux", node="myhost", ...}) = 0 stat("src/Processing/Foo/FooTypeAlgorithm/src/Bar.cc", {st_mode=S_IFREG|0444, st_size=4216, ...}) = 0 stat("src/Processing/Foo/FooTypeAlgorithm/obj/Bar.o", {st_mode=S_IFREG|0644, st_size=79856, ...}) = 0 stat("/usr/bin/g++", {st_mode=S_IFREG|0755, st_size=253896, ...}) = 0 stat("src/Processing/Foo/FooTypeAlgorithm/src/Bar.cc", {st_mode=S_IFREG|0444, st_size=4216, ...}) = 0 open("src/Processing/Foo/FooTypeAlgorithm/src/Bar.cc", O_RDONLY) = 4 read(4, "/*\n * Unlimited Rights\n * WARNIN"..., 4216) = 4216 read(4, "", 4216) = 0 close(4) = 0 stat("/proj/user/user2/ccache/8", 0x7fff54c3ec80) = -1 ENOENT (No such file or directory) mkdir("/proj/user/user2/ccache/8", 0777) = -1 EACCES (Permission denied) write(2, "ccache: FATAL: Failed to create "..., 81ccache: FATAL: Failed to create /proj/user/user2/ccache/8: Permission denied ) = 81 exit_group(1) = ?
_______________________________________________ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache