Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Mar 2011 15:51:17 +0300
From:      freebsd@tern.ru
To:        olli hauer <ohauer@gmx.de>
Cc:        perl@freebsd.org
Subject:   Re: Problem with File::Tem (p5-ExtUtils-CBuilder/gcc and some others)
Message-ID:  <279854453.20110301155117@tern.ru>
In-Reply-To: <4D6CB99B.8070003@gmx.de>
References:  <707888276.20110228182148@tern.ru> <4D6CB99B.8070003@gmx.de>

next in thread | previous in thread | raw e-mail | index | archive | help

Hello Olli,

Thank you for your reply and suggestion. It looks worth doing.
But after finding the reason of the  problem  I've successfully built
and installed problem ports.
While  digging  I've  seen similar problem in the Internet without any
solution.  So, I suspect, that this info would be interesting for some
other people.
Also,  I'm  curious  if  the  affected FreeBSD ports can be patched to
work around this problem automatically. The error "no gcc or CBuilder"
does not look suitable in this case.

With best regards,
Alexandre Krasnov.



вторник, 1 марта 2011 г.:
oh> 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)


oh> I suggest the following entry in your /etc/make.conf, since this
oh> workaround is not practicable if the ports tree is shared read only.

oh> WRKDIRPREFIX?= /space/portbuild

oh> This way you have some benefits.
oh>  - you can mount the portstree read only
oh>  - defined space for building and cleanup (not in the directory of the port)
oh>  - quick cleanup with rm -rf /space/portbuild
oh>  - you can mount a ramdisk or tmpfs to the directory
oh>    ( mount -t tmpfs tmpfs /space/portbuild)
oh>  ...














Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?279854453.20110301155117>