More info, yes, please.
Short history: Leiche, and not me, was trying to build avahi packages, he was nearly done when an error happened at time
of rpm building:
Requires: libavahi-client.so.3 libavahi-common.so.3 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libpthread.so.0 libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.1) rtld(GNU_HASH)
Obsoletes: libhowl0
Processing files: libavahi-compat-howl-devel-0.6.28-2Leiche2012.i586
Finding Provides: /usr/lib/rpm/mandriva/filter.sh ' ' ' ' '/home/leiche/src/rpm/BUILDROOT/avahi-0.6.28-2Leiche2012.i386' /usr/lib/rpm/mandriva/find-provides
error: line 800: Illegal char '@' in:
error: Failed to find Provides:
Provides: avahi-compat-howl-devel = 0.6.28-2Leiche2012 libavahi-compat-howl-devel = 0.6.28-2Leiche2012 libhowl0-devel = 1.0.0-7mdk howl-devel = 0.6.28-2Leiche2012 libhowl-devel = 0.6.28-2Leiche2012
Requires(rpmlib): rpmlib(VersionedDependencies) <= 3.0.3-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Obsoletes: libhowl0-devel libavahi-compat-howl0-devel
RPM build errors:
line 800: Illegal char '@' in:
Failed to find Provides:
I helped him to track down where the error come from, in the end the reason was the pkgconfig file mentioned in the original post, containing the illegal char '@'.
There is a similar pkgconfig file where the substitution actually take place, as far as I can understand they are processed the same way. probably not!
I have no idea where to look at ...
$ cat avahi-compat-howl.pc.in
prefix=@prefix@
exec_prefix=${prefix}
libdir=@libdir@
includedir=${prefix}/include/avahi-compat-howl/
Name: avahi-compat-howl
Description: Avahi Multicast DNS Responder (HOWL Compatibility)
Version: @HOWL_COMPAT_VERSION@
Libs: -L${libdir} -lhowl
Cflags: -D_REENTRANT -I${includedir}
$ cat avahi-compat-libdns_sd.pc.in
prefix=@prefix@
exec_prefix=${prefix}
libdir=@libdir@
includedir=${prefix}/include/avahi-compat-libdns_sd/
Name: avahi-compat-libdns_sd
Description: Avahi Multicast DNS Responder (libdns_sd Compatibility)
Version: @PACKAGE_VERSION@
Libs: -L${libdir} -ldns_sd
Cflags: -D_REENTRANT -I${includedir}
after processing the results are:
correct:
$ cat avahi-compat-libdns_sd.pc
prefix=/usr
exec_prefix=${prefix}
libdir=/usr/lib
includedir=${prefix}/include/avahi-compat-libdns_sd/
Name: avahi-compat-libdns_sd
Description: Avahi Multicast DNS Responder (libdns_sd Compatibility)
Version: 0.6.28
Libs: -L${libdir} -ldns_sd
Cflags: -D_REENTRANT -I${includedir}
wrong:
$ cat avahi-compat-howl.pc
prefix=/usr
exec_prefix=${prefix}
libdir=/usr/lib
includedir=${prefix}/include/avahi-compat-howl/
Name: avahi-compat-howl
Description: Avahi Multicast DNS Responder (HOWL Compatibility)
Version: @HOWL_COMPAT_VERSION@
Libs: -L${libdir} -lhowl
Cflags: -D_REENTRANT -I${includedir}
Makefile.inhttp://pastebin.com/vZZdEfZqconfigure.achttp://pastebin.com/xdJ4ntZ6Other info ?