r313494 make perl File::Temp broken

Mark Martinec Mark.Martinec+freebsd at ijs.si
Fri Feb 10 13:37:20 UTC 2017


2017-02-10 14:09, Iblis Lin wrote:
> as not a perl programmer myself. I have no idea what is going on.
> I found this issue while compiling math/openblas.
> 
> [iblis at ns]% uname -a
> FreeBSD ns 12.0-CURRENT FreeBSD 12.0-CURRENT #1 r313500: Fri Feb 10 
> 16:39:21
> CST 2017     root at ns:/usr/obj/usr/src/sys/GENERIC  amd64
> 
> [iblis at ns]% cat test.pl
> use File::Temp qw(tempfile);
> $tmpf = new File::Temp( UNLINK => 1 );
> 
> [iblis at ns]% perl test.pl
> Error in tempfile() using template /tmp/XXXXXXXXXX: Could not create 
> temp file
> /tmp/dI5uhUsijR: Bad file descriptor at test.pl line 2.

[...]

> stat("/tmp/",{ mode=drwxrwxrwt 
> ,inode=24317568,size=1024,blksize=32768}) = 0 (0x0)
> stat("/tmp/",{ mode=drwxrwxrwt 
> ,inode=24317568,size=1024,blksize=32768}) = 0 (0x0)
> openat(AT_FDCWD,"/tmp/Nn0Epra5ff",O_RDWR|O_EXLOCK|O_NOFOLLOW|O_CREAT|O_EXCL,0600) 
> ERR#9 'Bad file descriptor'


Perhaps your /tmp is a logical link, and O_NOFOLLOW does not allow that.

   Mark


More information about the freebsd-current mailing list