[csw-maintainers] Issue with checkpkg

Yann Rouillard yann at pleiades.fr.eu.org
Thu Jun 13 13:01:19 CEST 2013


It looks like a simple translation issue: ldd is launched with the german
locale hence the parsing code doesn't understand the output.

It can be easily solved by making sure LC_ALL=C is set before checkpkg
launchd ldd but there is even better:
Following a discussion with Maciej, I rewrote the dependency check to use
elfdump information instead of ldd. The test isn't as perfect as using ldd
but will work the same in most case and will avoid some troubles with ldd
(having to parse a package on the same architecture, possible side effect
of the runtime environment of ldd, ldd output modifications or ldd bugs).

The new test is already in place but I wanted to wait sometime before
disabling ldd information retrieval, it's ok now, so I will remove the ldd
code and this problem will disappear.

Yann




2013/6/13 Dagobert Michelsen <dam at opencsw.org>

> Hi folks,
>
> I am currently trying with Joerg to roll a new set of his packages like
> star, snake and
> cdrtools but get an error on checkpkg that some output can not be parsed.
> Notably these
> packages have not been built with GAR as Joerg uses his cross-platform
> build system to
> make package for all architectures at once, so there may be some other
> flags to parse than
> in our normal case. Nonetheless I would think making checkpkg more
> flexible and not
> bail out would be a good thing:
>
> > dam at login [login]:/home/joerg/newpackages > ls -l /home/dam/bin/checkpkg
> > lrwxrwxrwx   1 dam      csw           27 Mrz 28  2011
> /home/dam/bin/checkpkg -> ../mgar/gar/v2/bin/checkpkg
> > dam at login [login]:/home/joerg/newpackages > checkpkg
> --catalog-architecture sparc --os-release SunOS5.9 *sparc*.pkg.gz
> > INFO:root:Juicing the svr4 package stream files...
> > Traceback (most recent call last):
>
>                                           |
> >   File "/home/dam/bin/checkpkg", line 211, in <module>
> >     main()
> >   File "/home/dam/bin/checkpkg", line 120, in main
> >     stats_list = collector.CollectStatsFromFiles(file_list, None)
> >   File "/home/dam/mgar/gar/v2/lib/python/package_stats.py", line 527, in
> CollectStatsFromFiles
> >     stats.CollectStats(force=force_unpack)
> >   File "/home/dam/mgar/gar/v2/lib/python/package_stats.py", line 184, in
> CollectStats
> >     return self._CollectStats(register_files=register_files)
> >   File "/home/dam/mgar/gar/v2/lib/python/package_stats.py", line 224, in
> _CollectStats
> >     "ldd_info": dir_pkg.GetLddMinusRlines(),
> >   File "/home/dam/mgar/gar/v2/lib/python/inspective_package.py", line
> 394, in GetLddMinusRlines
> >     result = self._ParseLddDashRline(line, binary_abspath)
> >   File "/home/dam/mgar/gar/v2/lib/python/inspective_package.py", line
> 573, in _ParseLddDashRline
> >     % (repr(line), common_re))
> > package.StdoutSyntaxError: Could not parse '   nicht referenziertes
> Objekt=/lib/libnsl.so.1; nicht verwendete Abh\xc3\xa4ngigkeit von
> /var/tmp/pkg_mQb_eN/CSWcdrtools/reloc/bin/isovfy' with
> (^\t(?P<soname>\S+)\s+=>\s+(?P<path_found>\S+)|^\tsymbol not
> found:\s(?P<symbol>\S+)\s+\((?P<path_not_found>\S+)\)|^\t(?P<path_only>\S+)$|^\t(?P<soname_version_not_found>\S+)
> \((?P<lib_name>\S+)\) =>\t \(version not found\)|^\trelocation \S+ symbol:
> (?P<relocation_symbol>\S+): file (?P<relocation_path>\S+): relocation bound
> to a symbol with STV_PROTECTED visibility$|^\trelocation \S+ sizes differ:
> (?P<sizes_differ_symbol>\S+)$|^\t\t\(file (?P<sizediff_file1>\S+)
> size=(?P<size1>0x\w+); file (?P<sizediff_file2>\S+)
> size=(?P<size2>0x\w+)\)$|^\t\t(?P<sizediffused_file>\S+) size used;
> possible insufficient data copied$|^\s*unreferenced object=(?P<object>.*);
> unused dependency of (?P<binary>.*)$|^\s*unused object=.*$|^\s*unused
> search path=.*  \((?:LD_LIBRARY_PATH|RUNPATH/RPATH from file .*)\)$|^\s*$|^
>  \tmove (?P<move_index>\d+) offset invalid: \(unknown\):
> offset=(?P<move_offset>0x[0-9a-f]+) lies outside memory image; move
> discarded|relocation R_(386|AMD64|X86_64|SPARC)_\w+ sizes differ:
> (?P<reloc_symbol>.*)|\t\t\(file .* size=0(?:x[0-9a-f]+)?; file
> .*size=0x(?:[0-9a-f]+)?\)|\t.* size used; possible data truncation|\tsymbol
> (?P<copy_reloc_symbol>\S+): file \S+: copy relocation symbol may have been
> displacement relocated)
> > zsh: 14307 exit 1     checkpkg --catalog-architecture sparc --os-release
> SunOS5.9 *sparc*.pkg.gz
> > dam at login [login]:/home/joerg/newpackages >
>
>
> Best regards
>
>   -- Dago
>
> --
> "You don't become great by trying to be great, you become great by wanting
> to do something,
> and then doing it so hard that you become great in the process." - xkcd
> #896
>
> _______________________________________________
> maintainers mailing list
> maintainers at lists.opencsw.org
> https://lists.opencsw.org/mailman/listinfo/maintainers
> .:: This mailing list's archive is public. ::.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opencsw.org/pipermail/maintainers/attachments/20130613/9007bf74/attachment-0001.html>


More information about the maintainers mailing list