Date: Tue, 01 Mar 2011 10:17:15 +0100 From: olli hauer <ohauer@gmx.de> To: freebsd@tern.ru Cc: perl@freebsd.org Subject: Re: Problem with File::Tem (p5-ExtUtils-CBuilder/gcc and some others) Message-ID: <4D6CB99B.8070003@gmx.de> In-Reply-To: <707888276.20110228182148@tern.ru> References: <707888276.20110228182148@tern.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2011-02-28 16:21, freebsd@tern.ru wrote: > > Hello Perl Team. > > I faced a bug ("feature") in File::Temp that prevents use of > p5-ExtUtils-CBuilder-0.2802_1,1 and, as a result, build and install of > such packages like p5-Params-Validate-0.95_3, p5-DateTime-0.66, > p5-XML-Parser-2.40, p5-IPC-ShareLite-0.17 > > When I tried building the above packages I received different kinds of > errors stating that I do not have CBuilder and/or gcc and can't create > temp file. > > After a lot of investigation I finally found that the problem is in > NFS that hosts my ports tree. > > As I've understood, test code tries to create temporary file for test > compile. temp file is created with routine in File::Temp that tries > to set some FS flags/locks that do not work on NFS. Although zero > sized temp files are created successfully (but without the > required flags) the routine fails and as a result compile of test > file also fails. Build stops and empty temp file is left after each > build attempt. > > I have > FreeBSD 7.4-PRERELEASE #2: Tue Feb 1 17:50:19 MSK 2011 i386 > perl 5.8.9_4 > p5-ExtUtils-CBuilder-0.2802_1,1 > > FreeBSD Ports site states that p5-ExtUtils-CBuilder-0.2802_1,1 > requires perl-5.10.1_3l but actual port build does not state this and > tries to use perl 5.8.9 that I have. > > If the above behavior is expectable it would be great to have some > corresponding info published, as I spent vast of time looking for the > problem of gcc/CBuilder in Internet but found nothing relevant. > > PS. Work around - to copy the problem port directory localy (e.g. to > /tmp) I suggest the following entry in your /etc/make.conf, since this workaround is not practicable if the ports tree is shared read only. WRKDIRPREFIX?= /space/portbuild This way you have some benefits. - you can mount the portstree read only - defined space for building and cleanup (not in the directory of the port) - quick cleanup with rm -rf /space/portbuild - you can mount a ramdisk or tmpfs to the directory ( mount -t tmpfs tmpfs /space/portbuild) ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D6CB99B.8070003>