Skip Menu |

This queue is for tickets about the Graph CPAN distribution.

Report information
The Basics
Id: 9568
Status: resolved
Priority: 0/
Queue: Graph

People
Owner: Nobody in particular
Requestors: alansz [...] uic.edu
Cc:
AdminCc:

Bug Information
Severity: Unimportant
Broken in: 0.50
Fixed in: (no value)



Subject: AdjacencyMap/Light.pm uses Scalar::Util qw(weaken)
This is perl, v5.8.4 built for i386-linux-thread-multi Linux 2.4.18-1-686 #1 Wed Apr 14 18:20:10 UTC 2004 i686 unknown (Debian woody) Using Graph 0.50 or 0.51 gives the error "Weak references are not implemented in this version of perl" due to the weaken() call in Light.pm. I just removed the use of Scalar::Util and the weaken, and all is well. Not really a bug in Graph, I suspect, but thought you should know.
First of all, I'm curious, how did you manage to install Graph 0.5x without having Scalar::Util (List::Util) installed? The Makefile.PL has that as a prerequirement. Secondly, how come you have Perl 5.8.4 but no Scalar::Util? That should be by definition impossible unless you have a non-standard Perl configuration. Thirdly, the weaken() *is* necessary or one will have a massive memory leakage as no graph gets garbage collected properly because of (intentional) cyclic references that the weaken is meant to break so that the reference-counting GC kicks in right.
Graph 0.52 now has an extra check (in Makefile.PL) for the weaken().