Gentoo Archives: gentoo-user

From: Mike Edenfield <kutulu@××××××.org>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] installation aborted due to poor programming practices
Date: Mon, 19 Apr 2010 15:04:33
Message-Id: 4BCC6B29.4010700@kutulu.org
In Reply to: Re: [gentoo-user] installation aborted due to poor programming practices by "Arttu V."
1 On 4/19/2010 10:19 AM, Arttu V. wrote:
2 > On 4/19/10, Helmut Jarausch <jarausch@××××××××××××××××.de> wrote:
3 >> On 19 Apr, Neil Bothwick wrote:
4 >>> On Mon, 19 Apr 2010 12:47:17 +0200 (CEST), Helmut Jarausch wrote:
5 >>>
6 >>>> the installation of a package (unofficial gimp-gap) is 'aborted due to
7 >>>> poor programming practices' probably since there have been lots of
8 >>>> dereferencing type-punned pointers and similar warnings.
9 >>>>
10 >>>> How can I forced portage to install it anyway?
11 >>>
12 >>> Possibly FEATURES="-strict" emerge --opts blah
13 >>>
14 >>
15 >> Unfortunately this didn't help.
16 >
17 > I wonder if strict and stricter FEATURES are somehow hardwired to each
18 > other inside portage code, or whether they're considered separate
19 > entities?
20 >
21 > Anyway, you could try FEATURES="-strict -stricter" to see which way it
22 > works. If that won't work then the next step could be to play around
23 > with the QA_STRICT_* variables mentioned in make.conf man page
24 > (haven't tried, so don't know if they'll help either).
25 >
26
27 The code that's causing the abort doesn't seem to have any options,
28 features, conditions, etc. that you can use to disable it. If it finds
29 any misused type pointers, and you're on a 64-bit arch, it aborts.
30
31 Note that the errors it's checking for aren't your normal sloppy pointer
32 usages. It's specifically looking for functions that are implicitly
33 declared as returning int, then later used as if they returned (void *).
34 That kind of thing can only happen if the developer just flat out
35 forgot to include the prototypes ("poor programming practice" doesn't
36 even come close) and are almost guaranteed to cause something to crash
37 eventually on a 64-bit arch.
38
39 The only thing I can see that may let you install this overtop of
40 portage's complaints is to unset PORTAGE_LOG_FILE so the gcc warnings
41 have nowhere to go and portage won't find them.
42
43 See also: http://bugs.gentoo.org/40023