Bug 173610

Summary: libgnomeui-devel lacks "Requires: libSM-devel"
Product: [Fedora] Fedora Reporter: Thorsten Leemhuis <fedora>
Component: libgnomeuiAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: denisleroy, mharris, michel.salim
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 2.12.0-6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-11-30 07:20:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Thorsten Leemhuis 2005-11-18 16:37:06 UTC
Description of problem:
Compiling several of my fedora-extras packages that use libgnomeui does not work
now that modular X has hit rawhide. They seem to miss the "BuildRequires:
libSM-devel". But in fact it is libgnomeui-devel that lacks "Requires:
libSM-devel" because the linker flag "-lSM" is added by libgnomeui-2.0.pc. See here:

$ grep SM /usr/lib/pkgconfig/*
/usr/lib/pkgconfig/libgnomeui-2.0.pc:Libs: -L${libdir} -lgnomeui-2 
-L/usr/X11R6/lib -lSM -lICE

Version-Release number of selected component (if applicable):
libgnomeui-2.12.0-4

How reproducible:
Always

Suggested resolution:
Add "Requires: libSM-devel" to libgnomeui-devel

Comment 1 Mike A. Harris 2005-11-19 12:50:04 UTC
I haven't checked, but the proper fix is probably for
libgnomeui to _link_ to libSM, and to drop the -lSM from the
libgnomeui-2.0.pc file.  Otherwise it causes every app that links
to libgnomeui-2.0.pc to link to libSM, wether or not the app actually
uses libSM or not, which causes application startup slowdowns as ld.so
has to resolve an additional library that is potentially not used.

Lots of things in our OS are broken this way, including X itself right
now.  The good news is, that Kevin Martin just fixed it all in Xorg
CVS, so when we update to X11R7 RC3, the .pc files in X packaging should
be correct.

It'd make an excellent project for someone to go through every single
library in the OS and check it with "ldd -r -u" both for unresolved
symbols (indicating the library didn't get linked to one of its
dependencies), and for unused symbols (indicating a library is
linked to another library that it does not actually use).

Once all the libraries in the entire OS are cleaned up in this manner,
then a full distribution mass rebuild should be done to get all apps
to build with the fixed library .pc files, which might require some
additional fixes to be done to the application packages.  Then, the
same procedure done on the libraries with ldd, should be repeated on
all binaries in the system, to see if a binary is linked to libraries
it does not actually use.

If someone did this, I wouldn't doubt if our app startup times would
drop bigtime.  Ever look at the list of libraries some simple gnome
or kde apps link to?  Ever wonder if those apps actually use all of
those libraries?  I have.  The results are disturbing.

However, I've taken over this bug report it seems for my own evil
(or not so evil) purposes, so I should stop now.  <grin>



Comment 2 Denis Leroy 2005-11-26 00:29:50 UTC
libgnomeuimm26 currently fails to build because of this bug. Should it
temporarily use 'BuildRequires: libSM-devel' until this bug is resolved one way
or another then ?


Comment 3 Thorsten Leemhuis 2005-11-30 07:20:48 UTC
Tanks Ray for fixing it in 2.12.0-6