X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com Date: Sun, 29 Nov 2020 17:17:33 +0200 Message-Id: <834kl8mbua.fsf@gnu.org> From: "Eli Zaretskii (eliz AT gnu DOT org) [via djgpp AT delorie DOT com]" To: djgpp AT delorie DOT com In-Reply-To: (djgpp AT delorie DOT com) Subject: Re: GCC 10.2.0, collect2.exe error - cannot create temporary file References: <9d01fbcb-eae3-96c7-cc68-54c072dee20e AT iki DOT fi> <83zh31nbcx DOT fsf AT gnu DOT org> Reply-To: djgpp AT delorie DOT com > From: "Greg Kennedy (kennedy DOT greg AT gmail DOT com) [via djgpp AT delorie DOT com]" > Date: Sat, 28 Nov 2020 18:41:35 -0600 > > Tried again with that. mkstemps calls open() from fcntl, which is > apparently returning EACCES. So the problem is coming from djgpp's > libc somewhere. Yes, it sounds like that. > While adding this it occurred to me that there are a *lot* of .o files > being linked at once here, plus a couple .a with stuff inside. I > don't know what all happens in the intervening time between the > collect2 and the pex-common calls but it's possible there is a > resource limit being hit in the meantime (open file descriptors, stack > space, memory allocation, whatever). It could be. You can try enlarging the stack of collect2.exe, to eliminate that. Given the small numbers of file descriptor (5), it seems unlikely that this should be the problem, but who knows... > Called make_temp_file((null)), redirecting > Called make_temp_file_with_prefix(cc, ): 'c:/djgpp/tmp/ccXXXXXX' -> > mkstemps(c:/djgpp/tmp/ccXXXXXX, 0): trying open(c:/djgpp/tmp/ccF27J2I, ...) > encountered fatal error during open: : Permission denied (EACCES) > Zeroing pattern and returning -1 > -> '' > Cannot create temporary file in c:/djgpp/tmp/: Permission denied (EACCES) I guess the next question is: with what DOS error code does 'open' fail and why?