delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2020/11/29/10:21:41

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]" <djgpp AT delorie DOT com>
To: djgpp AT delorie DOT com
In-Reply-To:
<CAN1+P_1tsGCRndvZfSMFOcPEvCHvcunpCiffNrNDryQwwbEFpw AT mail DOT gmail DOT com>
(djgpp AT delorie DOT com)
Subject: Re: GCC 10.2.0, collect2.exe error - cannot create temporary file
References: <CAN1+P_3UpFdU_V5bhaF+bT=9YG=qxjyVf7cgiM8etZL9EuKSGw AT mail DOT gmail DOT com>
<CAN1+P_3Tj1yFHQ1ksFxWK-z1uuF+WtDoZ62rPy+wLp4bzUCU_A AT mail DOT gmail DOT com>
<9d01fbcb-eae3-96c7-cc68-54c072dee20e AT iki DOT fi> <CAN1+P_0V5Y7Bn_K1AWpybNHqiEOpH1i5qc+Ca965nY9AAS+tvg AT mail DOT gmail DOT com>
<CAN1+P_0MxAHta=HQ06dh5=CFpNS=STDQYtPfGSume6mokpLDuQ AT mail DOT gmail DOT com> <83zh31nbcx DOT fsf AT gnu DOT org> <CAN1+P_1tsGCRndvZfSMFOcPEvCHvcunpCiffNrNDryQwwbEFpw AT mail DOT gmail DOT com>
Reply-To: djgpp AT delorie DOT com

> From: "Greg Kennedy (kennedy DOT greg AT gmail DOT com) [via djgpp AT delorie DOT com]" <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?

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019