Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 205465 - gnome2 applications compile and link against glib-1.2 when present
Summary: gnome2 applications compile and link against glib-1.2 when present
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-01-12 14:13 UTC by Walter Meinl
Modified: 2008-01-22 07:52 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch for the gconf-2.21.1-pc.in file (gconf-2.21.1-pc.in-correct-glib-dep.patch,341 bytes, patch)
2008-01-13 12:36 UTC, Walter Meinl
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Walter Meinl 2008-01-12 14:13:45 UTC
Dunno if that's an upstream bug.I came across this after overlay glib-2.15.1 installation. Several gnome2 ebuilds failed to compile with tons of error messages about redefinintions:
Example:
/bin/sh ../libtool --tag=CC   --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONF
IG_H -I. -I..  -I.. -I../src/plparser -DTOTEM_PL_PARSER_MINI    -pthread -DORBIT
2=1 -I/usr/include/gnome-vfs-2.0 -I/usr/lib64/gnome-vfs-2.0/include -I/usr/inclu
de/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/glib-1.2 -I/usr/lib64/glib/in
clude -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gnome
-vfs-module-2.0   -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -W
no-sign-compare   -Wall         -Wchar-subscripts -Wmissing-declarations -Wmissi
ng-prototypes   -Wnested-externs -Wpointer-arith        -Wcast-align -Wsign-comp
are     -fno-strict-aliasing    -march=athlon64 -O2 -pipe -MT libtotem_plparser_
mini_la-totem-pl-parser-misc.lo -MD -MP -MF .deps/libtotem_plparser_mini_la-tote
m-pl-parser-misc.Tpo -c -o libtotem_plparser_mini_la-totem-pl-parser-misc.lo `te
st -f 'totem-pl-parser-misc.c' || echo './'`totem-pl-parser-misc.c
In file included from totem-pl-parser.c:39:
/usr/include/glib-1.2/glib.h:163:1: warning: "G_STRUCT_OFFSET" redefined
In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9,
                 from /usr/include/glib-1.2/glib.h:66,
                 from totem-pl-parser.c:39:
/usr/include/glib-2.0/glib/gmacros.h:198:1: warning: this is the location of the
 previous definition
In file included from totem-pl-parser.c:39:
/usr/include/glib-1.2/glib.h:165:1: warning: "G_STRUCT_MEMBER_P" redefined
In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9,
In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9,
                 from /usr/include/glib-1.2/glib.h:66,
                 from totem-pl-parser.c:39:
/usr/include/glib-2.0/glib/gmacros.h:200:1: warning: this is the location of the previous definition
etc, etc, etc........ and then failing with 
/usr/include/glib-1.2/glib.h:502: error: conflicting types for 'gssize'
/usr/lib64/glib-2.0/include/glibconfig.h:59: error: previous declaration of 'gssize' was here

It took me a while to realize what's going on, because some ebuilds compiled while others were broken
I removed glib-1.2.10-r5 from my system and run revdep-rebuild with 39 packages of gnome2 applications that were linked against glib-1.2.so.0
Just in the process of re-emerging but so far all ebuilds compile when glib-1.2.10-r5 is not present in my system.

Reproducible: Always

Steps to Reproduce:
1.Have slotted glib-2.15.1 and glib-1.2.10-r5
2.emerge gnome2 applications
3.

Actual Results:  
Using glib-1 headers for compilation and link against glib-1.2.so.0

Expected Results:  
Gnome2 should not compile and link against glib-1
Comment 1 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-01-13 00:57:40 UTC
paste your emerge --info please
Comment 2 Rémi Cardona (RETIRED) gentoo-dev 2008-01-13 09:13:41 UTC
Could you also paste here the output of `pkg-config glib-2.0 --cflags` and `pkg-config glib-2.0 --libs`

Thanks
Comment 3 Walter Meinl 2008-01-13 12:36:10 UTC
Created attachment 140856 [details, diff]
Patch for the gconf-2.21.1-pc.in file

Well, after rebuilding package by package starting with glib-2.15.1 I found that glib-1.2 was pulled in after I emerged gconf-2.21.1. Looking at the gnome SVN I found that upstream patched the gconf-2.0.pc.in file (unfortunately post-release 2.21.1). The pc.in file in gconf-2.21.1 pulls in glib and not glib-2.0. The patch attached cures all problems reported here. (I don't think you'll need emerge --info and pkg-config glib-2.0 --libs). Ah, the patch was stored on a dos file system could be that you have to change the line endings, sorry for that. Here's the upstream link
http://svn.gnome.org/viewvc/gconf/trunk/gconf-2.0.pc.in?r1=2505&r2=2506&view=patch
Comment 4 Walter Meinl 2008-01-13 20:06:02 UTC
(In reply to comment #2)
> Could you also paste here the output of `pkg-config glib-2.0 --cflags` and
> `pkg-config glib-2.0 --libs`
> 
> Thanks
> 
Here's the more interesting output of 
# pkg-config gconf-2.0 --cflags
-DORBIT2=1 -pthread -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/glib-1.2 -I/usr/lib64/glib/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
# pkg-config gconf-2.0 --libs
-lgconf-2 -lglib 

It's with the original build of gconf-2.21.1 with glib-2.15.1 and glib-1.2.10-r5  installed together
and this is the output after editing gconf-2.0.pc like with the patch
# pkg-config gconf-2.0 --cflags
-DORBIT2=1 -pthread -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  
# pkg-config gconf-2.0 --libs
-lgconf-2 -lglib-2.0
Comment 5 Rémi Cardona (RETIRED) gentoo-dev 2008-01-13 22:43:23 UTC
@herd, patch is good, should anyone want to commit it before me :)
Comment 6 Walter Meinl 2008-01-22 07:52:29 UTC
fixed by gconf-2.21.2 version bump (though this typo made me really headaches)