[GRASS-dev] [GRASS GIS] #3787: pkg-config references unknown shared library

#3787: pkg-config references unknown shared library
----------------------------+---------------------------------
Reporter: Bas Couwenberg | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone: 7.6.1
Component: Default | Version: svn-releasebranch76
Keywords: | CPU: Unspecified
Platform: Linux |
----------------------------+---------------------------------
The lintian QA tool reported several pkg-config-references-unknown-shared-
library issues:

  * usr/share/pkgconfig/grass.pc -lgrass_gmath
  * usr/share/pkgconfig/grass.pc -lgrass_gis
  * usr/share/pkgconfig/grass.pc -lgrass_datetime
  * usr/share/pkgconfig/grass.pc -lgrass_gproj
  * usr/share/pkgconfig/grass.pc -lgrass_raster
  * usr/share/pkgconfig/grass.pc -lgrass_vector
  * usr/share/pkgconfig/grass.pc -lgrass_dbmibase
  * usr/share/pkgconfig/grass.pc -lgrass_dbmiclient
  * usr/share/pkgconfig/grass.pc -lz
  * usr/share/pkgconfig/grass76.pc -lgrass_gmath
  * usr/share/pkgconfig/grass76.pc -lgrass_gis
  * usr/share/pkgconfig/grass76.pc -lgrass_datetime
  * usr/share/pkgconfig/grass76.pc -lgrass_gproj
  * usr/share/pkgconfig/grass76.pc -lgrass_raster
  * usr/share/pkgconfig/grass76.pc -lgrass_vector
  * usr/share/pkgconfig/grass76.pc -lgrass_dbmibase
  * usr/share/pkgconfig/grass76.pc -lgrass_dbmiclient
  * usr/share/pkgconfig/grass76.pc -lz

The tag description is as follows:

{{{
    The specified pkg-config(1) file references a shared object via, for
    example, Libs: -lfoo but this package appears to not ship the
    associated "libfoo.so" shared library.

    This will result in a linker error and was likely caused by a missing
    installation step.

    Please ensure that your package ships the corresponding libfoo.so
    shared object file.

    Refer to the pkg-config(1) manual page and
    https://bugs.debian.org/919180 for details.
}}}

Part of the problem is that the libraries are in a private directory like:
{{{
./usr/lib/grass76/lib/libgrass_gmath.7.6.so
./usr/lib/grass76/lib/libgrass_gmath.so -> libgrass_gmath.7.6.so
}}}
And not having the .so symlink provided by the grass-dev package like for
normal shared library packages.

Another issue is that `-lm` & `-lz` should probably be moved from `Libs:`
to `Libs.private:`.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3787&gt;
GRASS GIS <https://grass.osgeo.org>