[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Pkg config lintian error



On Mon, Jul 28, 2014 at 1:29 PM, Valerio Mariani
<valerio.mariani@gmail.com> wrote:
> Dear people on the Debian Science mailing list,
>
>    let us introduce ourselves. We are the developers of CrystFEL, a package
> for the analysis of data from Serial Femtosecond Crystallography, and we are
> stationed at CFEL in DESY, in Hamburg. I am one of the delvelopers of the
> package and I am currently packaging CrystFEL for the inclusion in the
> Debian. I made a lot of progress, mainly with the help of Frederic-Emmanuel
> PICCA. I am now stumbling on a pkgconfig error, but I don't understand where
> it comes from, so I am turning to you for help.
>
> The crystfel.pc file is like this:
>
> ---Start ---
> prefix=@prefix@
> exec_prefix=@exec_prefix@
> libdir=@libdir@
> includedir=@includedir@
>
> Name: CrystFEL
> Description: Useful routines for crystallography using a free-electron laser
> Version: @VERSION@
> Cflags: -I${includedir} @LIBCRYSTFEL_CFLAGS@
> Libs: -L${libdir} -lcrystfel @LIBCRYSTFEL_LIBS@
> --- End ---
>
> After the subtitutions are carried out, this is what I get:
>
> ---Start ---
> prefix=/data/Software/crystfel/stage
> exec_prefix=${prefix}
> libdir=${exec_prefix}/lib
> includedir=${prefix}/include
>
> Name: CrystFEL
> Description: Useful routines for crystallography using a free-electron laser
> Version: 0.5.3a
> Cflags: -I${includedir} -g -O2
> Libs: -L${libdir} -lcrystfel  -lutil -lhdf5 -lgsl -lgslcblas -lm -lfftw3
> --- End ---


are you sure this is the .pc file included in the package after the build?
The CFLAGS during a package build and a non-package build may be
different due to hardening options (see dpkg-buildflags)
This here is the problematic line
Cflags: -I${includedir} @LIBCRYSTFEL_CFLAGS@

this includes all CFLAGS used during the build in the package config
file. You should not do that as it will put also the hardening stuff
or optimization options in there.
You should only put the CFLAGS in there that are required by third
party packages to compile with your package.
In most cases this are only -I<folder> flags and very very rarely ABI
things like -mincoming-stack-boundary or -malign-double.


Reply to: