Works for me. I'll save all this in a "wontfix" trac ticket in case somebody ever complains again.
Brice Le 19/11/2012 21:14, Jeff Squyres a écrit : > It could also be that XML::Simple is just that -- simple... > > Looking at http://search.cpan.org/~grantm/XML-Simple-2.20/lib/XML/Simple.pm, > it says: > > The use of this module in new code is discouraged. Other modules are > available which provide more straightforward and consistent interfaces. In > particular, XML::LibXML is highly recommended. > > So perhaps we should just ignore my report. :-) > > > > On Nov 19, 2012, at 2:59 PM, Brice Goglin wrote: > >> Looks related to these warnings: >> >> Warning: <object> element has non-unique value in 'name' key attribute: >> Intel Corporation I350 Gigabit Network Connection at ./topo.pl line 16 >> Warning: <object> element has non-unique value in 'name' key attribute: >> Intel Corporation I350 Gigabit Network Connection at ./topo.pl line 16 >> Warning: <object> element has non-unique value in 'name' key attribute: >> Intel Corporation I350 Gigabit Network Connection at ./topo.pl line 16 >> Warning: <object> element has non-unique value in 'name' key attribute: >> Cisco Systems Inc VIC PCIe Downstream Port at ./topo.pl line 16 >> >> >> If I replace name=... with foo=... in the XML, those go away and all your >> eth interfaces come back. So it looks like there may be something special >> with the "name" attribute of XML objects. What's strange is that it seems to >> only happen when two children have the same "name" XML attribute. We have >> quite a lot of same "name" attributes, but not always in sibling XML objects. >> >> I am trying to find out whether we misrespect the XML specs, but I couldn't >> so far. Maybe it's a XML::Simple problem? libxml2 and xmllint never >> complained like this. >> >> Brice >> >> >> >> >> Le 19/11/2012 19:01, Jeff Squyres a écrit : >>> Odd. On the SVN trunk, I'm running this code: >>> >>> ----- >>> open (LSTOPO, "lstopo -.xml|") || die "Can't open lstopo"; >>> >>> my $lstopo; >>> >>> while (<LSTOPO>) { >>> >>> $lstopo .= $_; >>> >>> print "Read: $_"; >>> >>> } >>> >>> close(LSTOPO); >>> >>> >>> >>> my $xml; >>> >>> $xml = XMLin($lstopo); >>> >>> print Dumper($xml); >>> ----- >>> >>> In looking at the output, I see that lstopo's XML output includes all PCI >>> devices, but when I look at the Dumper output of the parsed XML, some PCI >>> devices are not listed. In particular: both eth4 and eth5 are included in >>> the "lstopo -.xml" output, but eth4 is not included in the Dumper output. >>> >>> The same thing happens if I "lstopo foo.xml" and then "XMLin("foo.xml")". >>> So it's not a problem with perl reading from lstopo's stdout. >>> >>> I've attached foo.xml -- any ideas why this is happening? >>> >>> >>> >>> >>> _______________________________________________ >>> hwloc-devel mailing list >>> >>> hwloc-de...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel >> _______________________________________________ >> hwloc-devel mailing list >> hwloc-de...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel >