On 01/30/2017 08:26 AM, Petr Pisar wrote:
On 2017-01-26, Orion Poplawski <orion(a)cora.nwra.com> wrote:
> With pkgconf, dynafed fails to build. Configure appears to find things, but
> needed include dirs do not seem to be added to the build:
>
[...]
> cd /builddir/build/BUILD/dynafed-1.2.3/src/plugins/lfcclient && /usr/bin/c++
> -DUGR_PLUGIN_DIR_DEFAULT=\"/usr/lib/ugr\" -D_FILE_OFFSET_BITS=64
> -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -Dugrlocplugin_lfc_EXPORTS
> -I/builddir/build/BUILD/dynafed-1.2.3/src/plugins/lfcclient
> -I/builddir/build/BUILD/dynafed-1.2.3
> -I/builddir/build/BUILD/dynafed-1.2.3/src
> -I"/builddir/build/BUILD/dynafed-1.2.3/src/\$PROTOBUF_INCLUDE_DIRS}"
> -I/builddir/build/BUILD/dynafed-1.2.3/src/.
> -I/builddir/build/BUILD/dynafed-1.2.3/src/utils -I/usr -I/usr/include/glib-2.0
> -I/usr/lib/glib-2.0/include -O2 -g -pipe -Wall -Werror=format-security
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
> --param=ssp-buffer-size=4 -grecord-gcc-switches
> -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -march=armv7-a -mfpu=vfpv3-d16
> -mfloat-abi=hard -fPIC -std=c++0x -o
> CMakeFiles/ugrlocplugin_lfc.dir/UgrLocPlugin_lfc.cc.o -c
> /builddir/build/BUILD/dynafed-1.2.3/src/plugins/lfcclient/UgrLocPlugin_lfc.cc
> In file included from
> /builddir/build/BUILD/dynafed-1.2.3/src/plugins/lfcclient/UgrLocPlugin_lfc.cc:22:0:
> /builddir/build/BUILD/dynafed-1.2.3/src/plugins/lfcclient/UgrLocPlugin_lfc.hh:25:22:
> fatal error: gfal_api.h: No such file or directory
> #include <gfal_api.h>
> ^
>
That's because /usr/lib64/pkgconfig/gfal2.pc from gfal2-devel has
trailing spaces after "prefix=/usr" assignment those spaces get propagated
as prefix prefix value info Cflags:
$ rpm -ql gfal2-devel |grep gfal_api.h
/usr/include/gfal2/gfal_api.h
$ pkg-config --cflags gfal2
-D_FILE_OFFSET_BITS=64 -I/usr /include/gfal2 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include
$ cat /usr/lib64/pkgconfig/gfal2.pc
prefix=/usr
exec_prefix= ${prefix}
libdir= ${prefix}/lib64
includedir=${prefix}/include
Name: gfal2.pc
Description: GFAL 2.0 pkgconfig file
Version: 2.12.3
Requires: glib-2.0
Libs: -lgfal2 -L${libdir}
Cflags: -D_FILE_OFFSET_BITS=64 -I${includedir}/gfal2
$ cat /usr/lib64/pkgconfig/gfal2.pc | grep usr | hexdump -C
00000000 70 72 65 66 69 78 3d 2f 75 73 72 20 20 0a |prefix=/usr .|
0000000e
Either pkgconf should trim spaces or gfal2.pc should remove them before
packaging.
-- Petr
yes, sorry for not replying earlier. This ended up getting fixed in gfal2.pc.
--
Orion Poplawski
Technical Manager 720-772-5637
NWRA, Boulder/CoRA Office FAX: 303-415-9702
3380 Mitchell Lane orion(a)nwra.com
Boulder, CO 80301
http://www.nwra.com