Skip site navigation (1)Skip section navigation (2)
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>