Description of problem: /usr/lib/pkgconfig/libgnomeui-devel provides the following cflags: Libs: -L${libdir} -lgnomeui-2 -lSM -lICE but the dependency of the -devel package does not require lib libICE-devel and libSM-devel anymore. So if another package requires libgnomeui-devel as BR (but neither libICE-devel nor libSM-devel directly) the build fails. IMHO in this case if the pkgconfig file requires certain libraries in the Libs variable the devel package should require the according devel packages as well. Version-Release number of selected component (if applicable): 2.24.4-1.fc15, but the bug may be in F14 or F13 as well - most likely it was caused by this commit: http://pkgs.fedoraproject.org/gitweb/?p=libgnomeui.git;a=commitdiff;h=bb6f70bae8df0483764f5a8e30d93de271bd4457;hp=518b996e0995eca6e50f25101951c6477ccd4b9c How reproducible: 100% Actual results: $ rpm -qp --requires ~/Download/libgnomeui-devel-2.24.4-1.fc15.x86_64.rpm |grep -E '(libSM-devel|libICE-devel)' $ Expected results: still ok in libgnomeui-devel-2.24.3-1.fc13.i686: rpm -q --requires libgnomeui-devel|grep -E '(libSM-devel|libICE-devel)' libICE-devel libSM-devel
Thanks for adding me here. As per Guidelines, http://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires, I removed them. I think if other package is having libgnomeui-devel as BR but neither libICE-devel nor libSM-devel then that package should BR libICE-devel and libSM-devel.
Parag, I'm not 100% sure that this was the intention of the Guidelines. ;-) If a package's pkgconfig file defines explicitly additional libraries which should be linked, then this package must ensure, that it requires all necessary other -devel package to build. It may be debatable whether it is correct to link explicitely additional libraries using the "Libs: " entry in pkgconfig, but _if_ a package uses this, then the corresponding -devel packages should be required. I've just check a couple of other packages do this as well: - libxslt: $ cat /usr/lib/pkgconfig/libxslt.pc |grep Libs Libs: -L${libdir} -lxslt -lxml2 -lz -lm -lm $ rpm -q --requires libxslt-devel|grep xml2-devel libxml2-devel >= 2.6.27 or libgnome: $ cat libgnome-2.0.pc |grep Libs Libs: -L${libdir} -lgnome-2 -lpopt $ rpm -q --requires libgnome-devel|grep pop popt-devel I'm very sure that adding the BR in the package which uses the libraries in question is not the correct way. Would you agree in this case?
I have added back following in spec Requires: libSM-devel Requires: libICE-devel and now new build libgnomeui-2.24.4-2.fc15 shows rpm -qp --requires ~/Downloads/libgnomeui-devel-2.24.4-2.fc15.x86_64.rpm |grep -E '(libSM-devel|libICE-devel)' libICE-devel libSM-devel