Clang Error Unable To Make Temporary File
Contents |
point to top of the FreeBSD source tree Next message: clang doesn't make temporary files in all instances, causes build races by not using mk*temp(3)
Innodb Error Unable To Create Temporary File
in /tmp Messages sorted by: [ date ] [ thread ] [ subject innodb error unable to create temporary file errno 13 ] [ author ] Hi Dimitriy, I ran into the following error when trying to execute make tinderbox with
Innodb Error Unable To Create Temporary File Errno 2
FreeBSD svn head with ATF changes I'm going to push to benno@: cc -O -pipe -DHAVE_CONFIG_H -I/scratch/freebsd/head-svn/gnu/lib/libgomp -I. -I/scratch/freebsd/head-svn/gnu/lib/libgomp/../../../contrib/gcclibs/libgomp -I/scratch/freebsd/head-svn/gnu/lib/libgomp/../../../contrib/gcclibs/libgomp/config/posix -std=gnu99 -Qunused-arguments -c /scratch/freebsd/head-svn/gnu/lib/libgomp/../../../contrib/gcclibs/libgomp/config/posix/bar.c -o bar.o cc: error: unable to make temporary file: /tmp/bar: can't make unique filename: Permission denied *** [bar.o] Error code 1 Did some poking around in the clang source and it looks like it's doing some less than intelligent things when generating "temporary" paths (from contrib/llvm/tools/clang/lib/Driver/Driver.cpp ): 1598 std::string Driver::GetTemporaryPath(StringRef Prefix, const char *Suffix) 1599 const { 1600 // FIXME: This is lame; sys::Path should provide this function (in particular, 1601 // it should know how to find the temporary files dir). 1602 std::string Error; 1603 const char *TmpDir = ::getenv("TMPDIR"); 1604 if (!TmpDir) 1605 TmpDir = ::getenv("TEMP"); 1606 if (!TmpDir) 1607 TmpDir = ::getenv("TMP"); 1608 if (!TmpDir) 1609 TmpDir = "/tmp"; 1610 llvm::sys::Path P(TmpDir); 1611 P.appendComponent(Prefix); 1612 if (P.makeUnique(false, &Error)) { 1613 Diag(clang::diag::err_unable_to_make_temp) << Error; 1614 return ""; 1615 } 1616 1617 // FIXME: Grumble, makeUnique sometimes leaves the file around!? PR3837. 1618 P.eraseFromDisk(false, 0); 1619 1620 if (Suffix) 1621 P.appendSuffix(Suffix); 1622 return P.str(); This logic (line 1612) is racy and incorrect. This _needs_ to be fixed in clang to properly prefix and rename to the target path in the filesystem where the compilation is being done in order to avoid races with partial compilations, etc. Thanks, -Garrett Previous message: [RFC] adding a variable to .mk and Makefile.inc1 to point to top of the FreeBSD source tree Next message: clang doesn't make temporary files in all instances, causes build races by not using mk*temp(3) in /tmp Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] More information about the freebsd-toolchain mailing list
2 05:04:10 PDT 2012 Previous message: [LLVMbugs] [Bug 13509] Add OpenBSD arch targets Next message: [LLVMbugs] [Bug 12707] GCC 4.6.3's libstdc++ compile error Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] http://llvm.org/bugs/show_bug.cgi?id=13511 Bug #: 13511 Summary: clang is unable to make temporary file when a directory owned by another user with the same basename as the file https://lists.freebsd.org/pipermail/freebsd-toolchain/2013-May/000826.html being compiled exists in /tmp Product: new-bugs Version: trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P Component: new bugs AssignedTo: unassignedbugs at nondot.org ReportedBy: jordy.potman at recoresystems.com CC: llvmbugs at cs.uiuc.edu Classification: Unclassified Steps to reproduce: $ cat test.c int main(void) { } $ sudo mkdir /tmp/test $ http://lists.llvm.org/pipermail/llvm-bugs/2012-August/024527.html clang test.c clang: error: unable to make temporary file: /tmp/test: can't make unique filename: Permission denied $ clang -v clang version 3.2 (http://llvm.org/git/clang.git 207c408b14f0c29d65d6ad311456be94b812d5dd) (http://llvm.org/git/llvm.git 1c3781496081b47412fc70393bcdc5b67b440b02) Target: x86_64-unknown-linux-gnu Thread model: posix It works fine if /tmp contains a file test owned by root instead of a directory test: $ sudo rmdir /tmp/test $ sudo touch /tmp/test $ clang test.c This is caused by Path::makeUnique trying to make a unique directory *in* path if path is a directory instead of making path unique (line 829 and further in llvm/lib/Support/Unix/Path.inc). -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. Previous message: [LLVMbugs] [Bug 13509] Add OpenBSD arch targets Next message: [LLVMbugs] [Bug 12707] GCC 4.6.3's libstdc++ compile error Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] More information about the llvm-bugs mailing list
Support Search GitHub This repository Watch 1,060 Star 29,550 Fork 14,121 Homebrew/legacy-homebrew Code Issues 5 Pull https://github.com/Homebrew/legacy-homebrew/issues/22812 requests 1 Projects 0 Pulse Graphs exim 4.80.1 failed to build on OS X 10.8.5 #22812 Closed hanxue opened this Issue Sep 25, 2013 · 2 comments Projects None yet Labels None yet Milestone No milestone Assignees No one assigned 1 participant hanxue commented Sep 25, 2013 I am getting this error when trying to error unable install exim. I've tried installing other brews (example: xchat) and they worked fine. $ brew doctor Your system is ready to brew. Lees-MacBook-Pro:~ hanxue$ brew install exim ==> Downloading http://ftp.exim.org/pub/exim/exim4/exim-4.80.1.tar.gz Already downloaded: /Library/Caches/Homebrew/exim-4.80.1.tar.gz ==> make /bin/sh ../scripts/Configure-os.c gcc buildconfig.c clang: error: unable to make temporary file: "/tmp"/buildconfig: can't make unique filename: No such file error unable to or directory make[1]: *** [buildconfig] Error 1 make: *** [all] Error 2 READ THIS: https://github.com/mxcl/homebrew/wiki/troubleshooting Troubleshooting details $ brew --config HOMEBREW_VERSION: 0.9.5 ORIGIN: https://github.com/mxcl/homebrew.git HEAD: 4ecef35 HOMEBREW_PREFIX: /usr/local HOMEBREW_CELLAR: /usr/local/Cellar CPU: 8-core 64-bit ivybridge OS X: 10.8.5-x86_64 Xcode: 5.0 CLT: 5.0.0.0.1.1377666378 LLVM-GCC: N/A Clang: 5.0 build 500 X11: 2.7.5_rc2 => /opt/X11 System Ruby: 1.8.7-358 Perl: /usr/bin/perl Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/bin/python2.7 Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby $ HOMEBREW_MAKE_JOBS=1 VERBOSE=1 brew install exim 2>&1 ==> Downloading http://ftp.exim.org/pub/exim/exim4/exim-4.80.1.tar.gz Already downloaded: /Library/Caches/Homebrew/exim-4.80.1.tar.gz tar xf /Library/Caches/Homebrew/exim-4.80.1.tar.gz ==> make make Creating links to source files... New Makefile & lookups/Makefile.predynamic installed Use "make makefile" if you need to force rebuilding of the makefile Missing CFLAGS_DYNAMIC inhibits building dynamic module lookup /bin/sh ../scripts/Configure-os.h /bin/sh ../scripts/Configure-os.c gcc buildconfig.c clang: error: unable to make temporary file: "/tmp"/buildconfig: can't make unique filename: No such file or directory make[1]: *** [buildconfig] Error 1 make: *** [all] Error 2 ==> Configuration HOMEBREW_VERSION: 0.9.5 HEAD: 4ecef35 CPU: 8-core 64-bit ivybridge OS X: 10.8.5-x86_64 Xcode: 5.0 X11: 2.7.5_rc2