Problem with File::Tem (p5-ExtUtils-CBuilder/gcc and some
others)
freebsd at tern.ru
freebsd at tern.ru
Tue Mar 1 12:51:25 UTC 2011
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 at 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> ...
More information about the freebsd-perl
mailing list