https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111027
Bug ID: 111027 Summary: Install error "tmp-header-vars: Permission denied", build on NFS, improvement possible Product: gcc Version: 13.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: etienne_lorrain at yahoo dot fr Target Milestone: --- On an ARM32 Linux system just installed, i.e. parallellla board just flashed with an SDCard image at https://github.com/parallella/parabuntu/releases/download/parabuntu-2019.1-beta1/parabuntu-2019.1-beta1-headless-z7010.img.gz , full compilation works fine with: mkdir vega # limited SDCard storage so: sudo mount 192.168.1.84:/home/etienne/parallella /home/parallella/vega cd vega wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz tar xf gcc-13.2.0.tar.xz cd gcc-13.2.0/ ./contrib/download_prerequisites cd .. mkdir gcc_build cd gcc_build ../gcc-13.2.0/configure --enable-languages=c,c++,fortran time make -j 3 # SDCard real 2033m27.533s / NFS real: 2065m36.178s But install fails with: $ echo parallella | sudo -S make install ... /usr/bin/install -c -m 644 ../../gcc-13.2.0/gcc/cp/operators.def /usr/local/lib/gcc/armv7l-unknown-linux-gnueabihf/13.2.0/plugin/include/cp/operators.def /usr/bin/install -c -m 644 ../../gcc-13.2.0/gcc/cp/cp-trait.def /usr/local/lib/gcc/armv7l-unknown-linux-gnueabihf/13.2.0/plugin/include/cp/cp-trait.def /usr/bin/install -c -m 644 ../../gcc-13.2.0/gcc/cp/contracts.h /usr/local/lib/gcc/armv7l-unknown-linux-gnueabihf/13.2.0/plugin/include/cp/contracts.h rm -f tmp-header-vars echo USER_H= ... some filenames ... >> tmp-header-vars; echo HASHTAB_H=hashtab.h >> tmp-header-vars; echo OBSTACK_H=obstack.h >> tmp-header-vars; echo SPLAY_TREE_H=splay-tree.h >> tmp-header-vars; ...plenty more .. ; echo GTFILES_LANG_H=gtype-ada.h gtype-c.h gtype-cp.h gtype-d.h gtype-fortran.h gtype-go.h gtype-jit.h gtype-lto.h gtype-m2.h gtype-objc.h gtype-objcp.h gtype-rust.h >> tmp-header-vars; /bin/sh: tmp-header-vars: Permission denied /bin/sh: tmp-header-vars: Permission denied /bin/sh: tmp-header-vars: Permission denied ... lots of identical messages ... Makefile:3736: recipe for target 's-header-vars' failed make[2]: *** [s-header-vars] Error 1 make[2]: Leaving directory '/home/parallella/vega/gcc_build/gcc' Makefile:5361: recipe for target 'install-gcc' failed make[1]: *** [install-gcc] Error 2 make[1]: Leaving directory '/home/parallella/vega/gcc_build' Makefile:2632: recipe for target 'install' failed make: *** [install] Error 2 The problem is simple, I am just creating this bug report so that people can google it. That is the first time "root" (due to sudo) tries to create a simple file in the build directory, and such build directory is mounted on a NFS filesystem. The NFS server may not configure the export with "no_root_squash", so that a standard user can create such a file "tmp-header-vars", but root cannot! Maybe a simple test (and a better error message) could be created when root cannot create a file in the build directory? Obviously root will create files without problems on /usr/local/{bin,lib,....}. Feel free to classify as "NOTABUG", just keep it accessible in search engines! Best Regards, Etienne.