Gentoo Archives: gentoo-user

From: Daniel Pielmeier <daniel.pielmeier@××××××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] jpg support
Date: Sat, 08 Nov 2008 15:56:00
Message-Id: 4915B683.6090405@googlemail.com
In Reply to: Re: [gentoo-user] jpg support by Alan McKinnon
1 Alan McKinnon schrieb am 08.11.2008 16:00:
2 > On Saturday 08 November 2008 16:08:22 Michael P. Soulier wrote:
3 >> On Sat, Nov 8, 2008 at 6:15 AM, Daniel Pielmeier
4 >>
5 >> <daniel.pielmeier@××××××××××.com> wrote:
6 >>> So there are two possibilities. First there is no need for a jpg useflag
7 >>> as it will work out of the box. Second the jpg support or needed
8 >>> libraries if they are indeed needed are detected automagically which is
9 >>> bad and a bug should be filed. But from a quick glance into the relevant
10 >>> files I did not recognize such things.
11 >>>
12 >>> So I guess rebuilding the affected packages and trying again is the best
13 >>> option.
14 >> I tried rebuilding gqview and feh with no success. feh complains about
15 >> no imlib support for jpegs so I rebuild imlib, which didn't help.
16 >> Before going to bed I started a full world rebuild. I'll reboot after
17 >> that to ensure I pick up new shared libraries and we'll see what
18 >> happens. This violates the principle of least surprise though.
19 >
20 > You are going about this the wrong way. Gentoo can't really make a package
21 > more configurable than what it's author provides. feh has no option
22 > to ./configure to explicitly enable jpeg support, thus there cannot be a USE
23 > flag for it, as described earlier in the thread. If you need/want to know
24 > what's going in with such things, emerge the package and look for the full
25 > build log in /var/log/portage/. Examine it, it will tell you how the package
26 > builds.
27 >
28 > imlib is the same, no explicit switch for jpeg, so you have to rely on the
29 > autodetect voodoo^Wmagic. it sucks, it shouldn't be that way but gentoo
30 > didn't make it that way.
31 >
32 > Why did you decide to rebuild world? That's a bit like a sledge hammer to kill
33 > a flea....
34 >
35 > You can't validly claim this violates least surprise. Even if your
36 > expectations were correct and gentoo does violate them, it's not something
37 > gentoo can fix, the problem is in the configure script.
38 >> I am finding this about gentoo. On FreeBSD I could disable X11
39 >> support, but it's on by default. I agree with that. On gentoo I have
40 >> to explicitely enable jpg support?? Why the hell would I not want it?
41 >> I find that needlessly difficult. The default should be the common
42 >> case, not the uncommon one.
43 >
44 > I'll bet your profile points to a server profile, not a desktop one. For the
45 > server profile, the default is no X server and thus no jpeg. A quick search
46 > shows me that all the desktop profiles enable jpeg by default - the expected
47 > state for most users. You profile is dictated by what the /etc/make.profile
48 > symlink points to.
49 >
50 > I think you need to re-read the gentoo handbook, the full thing from beginning
51 > to end. As you have made several mistakes thus far that show me you don't
52 > know where or how to select the thing you want.
53 >
54
55 Thank you Alan for your always helpful answers. While having nothing to
56 do I investigated a bit more on this issue and have something to add here.
57
58 First USE _jpeg_ should be enabled by default for desktop profiles.
59
60 I can view jpegs without problems in gqview and gqview doesn't require
61 anything jpeg related to view them. qgview only requires gtk+.
62
63 I took a look at the shared libraries (1) linked against gqview and with
64 the help of the reverse dependencies (2) of the packages owning that
65 shared libraries I was able to validate that gqview only needs gtk+
66 because all libraries used by gqview need gtk+ in some way. So the gtk+
67 dependency pulls in everything needed for gqview.
68
69 Now I took a look at the output of strace gqview (3). Here are the
70 relevant lines:
71
72 read(4, " 5 \"gtk20\" \"The JPEG image format"..., 1024) = 1024
73 stat64("/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-jpeg.so",
74 {st_mode=S_IFREG|0755, st_size=17756, ...}) = 0
75 open("/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-jpeg.so",
76 O_RDONLY) = 6
77 open("/usr/lib/libjpeg.so.62", O_RDONLY) = 6
78
79 Owners of the relevant libraries:
80 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-jpeg.so is owned by
81 x11-libs/gtk+-2.12.11
82 /usr/lib/libjpeg.so.62 is owned by media-libs/jpeg-6b-r8
83
84 So gtk+ can open jpegs but why can't you on your system?
85
86 USE flags for gtk+:
87 x11-libs/gtk+-2.12.11 USE="X cups jpeg tiff -debug -doc -vim-syntax
88 -xinerama"
89
90 The answer is gqview does not need a jpeg use flag nor does probably
91 feh, but gtk+ has to be built with jpeg support.
92
93 So there is no need for rebuilding world, adding the jpeg flag to gtk
94 should be enough. Or better if you use Gentoo on a desktop enable the
95 desktop profile. Plus instead of blaming Gentoo, learn how it works and
96 to use it properly. I know nothing about FreeBSD so I would not allow me
97 any prejudices against it. *sigh*
98
99
100 Just for your information I used the following commands for investigation
101
102 1) Packages needed by qgview by finding the owners of the shared
103 libraries needd by gqview:
104
105 ldd /usr/bin/gqview | sed -n 's/\s*\(.*\)\s=>\s.*/\1/p' | xargs qfile
106 --nocolor
107
108 2) Reverse dependencies of said Packages:
109
110 ldd /usr/bin/gqview | sed -n 's/\s*\(.*\)\s=>\s.*/\1/p' | xargs qfile
111 --nocolor | sed -n 's/\(.*\)\s.*/\1/p' | xargs emerge -pv --depclean
112
113 3) strace
114
115 strace gqview some.jpg 2>&1 | tee strace

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
[gentoo-user] desktop & sever profiles; was: Re: jpg support Stroller <stroller@××××××××××××××××××.uk>