delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f |
X-Recipient: | djgpp AT delorie DOT com |
Subject: | Re: GCC 10.2.0, collect2.exe error - cannot create temporary file |
To: | djgpp AT delorie DOT com |
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> | |
From: | "Andris Pavenis (andris DOT pavenis AT iki DOT fi) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com> |
Message-ID: | <9d01fbcb-eae3-96c7-cc68-54c072dee20e@iki.fi> |
Date: | Sun, 22 Nov 2020 11:12:07 +0200 |
User-Agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 |
Thunderbird/78.4.3 | |
MIME-Version: | 1.0 |
In-Reply-To: | <CAN1+P_3Tj1yFHQ1ksFxWK-z1uuF+WtDoZ62rPy+wLp4bzUCU_A@mail.gmail.com> |
X-MIME-Autoconverted: | from Quoted-Printable to 8bit by delorie.com id 0AM9Ct3j007281 |
Reply-To: | djgpp AT delorie DOT com |
Errors-To: | nobody AT delorie DOT com |
X-Mailing-List: | djgpp AT delorie DOT com |
X-Unsubscribes-To: | listserv AT delorie DOT com |
On 11/21/20 5:39 AM, Greg Kennedy (kennedy DOT greg AT gmail DOT com) [via djgpp AT delorie DOT com] wrote: > Any ideas on this? I get the same error with 9.3.0. I believe it > could be related to trying to use -flto? Checked sources: -flto will not work without long file name support. Without LTO gcc recent versions for DJGPP should work: [andris AT ap gcc]$ git checkout djgpp/native/gcc-10.2.0 HEAD is now at 0de6b027530 Merge branch 'djgpp/gcc-10' into djgpp/native/gcc-10 [andris AT ap gcc]$ grep make_temp_file gcc/*.c gcc/collect2.c:Â Â Â Â Â c_file = make_temp_file (CDTOR_C_NAME); gcc/collect2.c:Â Â Â Â Â o_file = make_temp_file (CDTOR_O_NAME); gcc/collect2.c:Â Â Â Â Â export_file = make_temp_file (".x"); gcc/collect-utils.c:Â Â Â Â Â response_file = make_temp_file (""); gcc/gcc.c:Â char *temp_file = make_temp_file (""); gcc/gcc.c:Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â temp_filename = make_temp_file (t->suffix); gcc/gcc.c:Â Â Â Â Â temp_stdout_files[attempt] = make_temp_file (".out"); gcc/gcc.c:Â Â Â Â Â temp_stderr_files[attempt] = make_temp_file (".err"); gcc/lto-wrapper.c:Â filename = make_temp_file (".target.o"); gcc/lto-wrapper.c:Â Â Â Â Â char *crtoffloadtable = make_temp_file (".crtoffloadtable.o"); gcc/lto-wrapper.c:Â Â Â outfile = make_temp_file (".debug.temp.o"); gcc/lto-wrapper.c:Â Â Â Â Â flto_out = make_temp_file (".lto.o"); gcc/lto-wrapper.c:Â Â Â Â Â Â Â ltrans_output_file = make_temp_file_with_prefix (prefix, gcc/lto-wrapper.c:Â Â Â Â Â Â Â makefile = make_temp_file (".mk"); gcc/selftest.c:Â m_filename = make_temp_file (suffix); 1) CDTOR_C_NAME and CDTOR_O_NAME should be compatible with SFN (defined inside #ifdef __DJGPP__ ....) 2) gcc/lto-wrapper.c: generated temporary file name are unusable without LFN and expected error message is as seen below. So try without -flto. Andris PS. one can see sources on GitHub (no need to download source archive gcc1020s.zip): - collect2.c: should be OK without LFN support: https://github.com/apavenis/djgpp-gcc/blob/djgpp/native/gcc-10.2.0/gcc/collect2.c - lto-wrapper.c: will not work without LFN: https://github.com/apavenis/djgpp-gcc/blob/djgpp/native/gcc-10.2.0/gcc/lto-wrapper.c - implementation of make_temp_file(): https://github.com/apavenis/djgpp-gcc/blob/djgpp/native/gcc-10/libiberty/make-temp-file.c > On Sat, Oct 31, 2020 at 1:39 AM Greg Kennedy <kennedy DOT greg AT gmail DOT com> wrote: >> Receiving this error when trying to compile AdvanceMAME using DJGPP. >> I have the latest version of all packages (based on the Mini-FAQ). >> This is a 32-bit Windows XP VM in VirtualBox. >> >> I have seen that there is a problem with LFN ? but I assumed that >> only applied to 16-bit systems, while NTVDM supports LFN already. So >> I don't know why this would be happening. >> >> Cannot create temporary file in c:/djgpp/tmp/: Permission denied (EACCES) >> Abort! >> Exiting due to signal SIGABRT >> Raised at eip=0013e551 >> eax=0039d8c4 ebx=00000120 ecx=00000000 edx=00000000 esi=0013e3ca edi=003acec8 >> ebp=0039d9e8 esp=0039d8b0 program=c:\djgpp\libexec\gcc\djgpp\10\collect2.exe >> cs: sel=0257 base=031d0000 limit=003bffff >> ds: sel=025f base=031d0000 limit=003bffff >> es: sel=025f base=031d0000 limit=003bffff >> fs: sel=022f base=0000ff40 limit=0000ffff >> gs: sel=026f base=00000000 limit=0010ffff >> ss: sel=025f base=031d0000 limit=003bffff >> App stack: [0039dc58..0019dc5c] Exceptn stack: [0019dba8..0019bc68] >> >> Call frame traceback EIPs: >> 0x00167a04 >> 0x0013e551 >> 0x0013eb12 >> 0x0013ef45 >> 0x0013f279 >> 0x0000557a >> 0x00003952 >> 0x0017a8e7
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |