Bug#865125: libomp5: symbols file contains syntax errors

James Cowgill jcowgill at debian.org
Mon Jun 19 14:24:35 UTC 2017


Package: libomp5
Version: 4.0-1
Severity: serious

Hi,

The build log reports that libomp5.symbols contains syntax errors. This
caused dpkg-gensymbols to ignore everything after the syntax errors and
now libomp5 contains a number of incorrect symbol versions containing
the Debian revision number.

Build log:
>    dh_makeshlibs -a
> Use of uninitialized value $rest in pattern match (m//) at /usr/share/perl5/Dpkg/Shlibs/Symbol.pm line 125, <$filehandle> line 272.
> dpkg-gensymbols: warning: failed to parse line in debian/libomp5.symbols:  (optional=templinst|arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el) __kmpc_atomic_fixed1_add at VERSION 0.20130412
> Use of uninitialized value $rest in pattern match (m//) at /usr/share/perl5/Dpkg/Shlibs/Symbol.pm line 125, <$filehandle> line 272.
> dpkg-gensymbols: warning: failed to parse line in debian/libomp5.symbols:  (optional=templinst|arch=!mips !mipsel !ppc64 !ppc64el !mips64 !mips64el) __kmpc_atomic_fixed1_add at VERSION 0.20130412
> dpkg-gensymbols: warning: some libraries disappeared in the symbols file: (optional=templinst|arch=!mips
> dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see diff output below
> dpkg-gensymbols: warning: debian/libomp5/DEBIAN/symbols doesn't match completely debian/libomp5.symbols

Excerpt from libomp5 DEBIAN/symbols near the first syntax error:
>  __kmpc_atomic_fixed1u_div_cpt_rev_fp at VERSION 4.0
>  __kmpc_atomic_fixed1u_div_fp at VERSION 0.20130412
>  __kmpc_atomic_fixed1u_div_rev at VERSION 0.20130412
>  __kmpc_atomic_fixed1u_div_rev_fp at VERSION 4.0
>  __kmpc_atomic_fixed1u_mul_cpt_fp at VERSION 4.0-1
>  __kmpc_atomic_fixed1u_mul_fp at VERSION 4.0-1
>  __kmpc_atomic_fixed1u_shr at VERSION 4.0-1
>  __kmpc_atomic_fixed1u_shr_cpt at VERSION 4.0-1

All the remaining symbols have version "4.0-1"

Also, some of these symbols look very suspicious. For instance, the
above symbol "__kmpc_atomic_fixed1_add" is marked as
"optional=templinst" but it is clearly not a C++ template instantiation.
Do you know the reason why these symbols need to be optional?

Thanks,
James

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-llvm-team/attachments/20170619/945cd898/attachment.sig>


More information about the Pkg-llvm-team mailing list