Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 162711 - [QA] dev-libs/libxslt-1.1.20 has poor programming practices (break strict-aliasing rules)
Summary: [QA] dev-libs/libxslt-1.1.20 has poor programming practices (break strict-ali...
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: 2007-01-18 21:30 UTC by Sandro Bonazzola (RETIRED)
Modified: 2008-10-27 12:36 UTC (History)
5 users (show)

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


Attachments
patch to clear 'type-punned pointer' warnings (gentoo_libxslt.pat,3.18 KB, patch)
2007-02-07 01:51 UTC, William Brack
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sandro Bonazzola (RETIRED) gentoo-dev 2007-01-18 21:30:21 UTC
* QA Notice: Package has poor programming practices which may compile
 *            fine but exhibit random runtime failures.
 * pattern.c:2100: warning: dereferencing type-punned pointer will break strict-aliasing rules
pattern.c:2105: warning: dereferencing type-punned pointer will break strict-aliasing rules
pattern.c:2108: warning: dereferencing type-punned pointer will break strict-aliasing rules
pattern.c:2111: warning: dereferencing type-punned pointer will break strict-aliasing rules
pattern.c:2117: warning: dereferencing type-punned pointer will break strict-aliasing rules
pattern.c:2133: warning: dereferencing type-punned pointer will break strict-aliasing rules
pattern.c:2136: warning: dereferencing type-punned pointer will break strict-aliasing rules
pattern.c:2139: warning: dereferencing type-punned pointer will break strict-aliasing rules
pattern.c:2146: warning: dereferencing type-punned pointer will break strict-aliasing rules
types.c:434: warning: dereferencing type-punned pointer will break strict-aliasing rules
Comment 1 Daniel Gryniewicz (RETIRED) gentoo-dev 2007-01-18 21:32:33 UTC
Why is QA warning about things we have no control over?
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2007-01-19 09:54:03 UTC
(In reply to comment #1)
> Why is QA warning about things we have no control over?

Ask vapier... And also latest gtk+ produces this, and I have at least 50 other logs with this since last PORT_LOGDIR purge; apparently someone thought that flooding devs with this kind of bugs is a good idea.

Rants should go to Bug 162450 and common sense used when filing bugs about this (as in, either attach a patch or moan upstream). Meh.
Comment 3 Sandro Bonazzola (RETIRED) gentoo-dev 2007-01-20 13:16:35 UTC
(In reply to comment #2)

> Rants should go to Bug 162450 and common sense used when filing bugs about this
> (as in, either attach a patch or moan upstream). Meh.


Ok, I will not open any new QA bugs without a patch or a link to an upstream bug.



(In reply to comment #1)
> Why is QA warning about things we have no control over?
> 

We always have control over the source as far as license allow us to patch it.
We can just choose to solve things by ourselves and send upstream a patch or mark a bug like this as RESOLVED UPSTREAM asking to reopen the bug when upstream really solve the bug or someone provides a patch.

As maintainer of app-arch/rpm I think I have won the prize for the longest list of QA notices. I'm trying to solve those issues with the help of the RPM team.
You can choose what to do, Gentoo is the distribution that allow choices, even as maintainer :-)
Comment 4 SpanKY gentoo-dev 2007-01-20 13:30:28 UTC
stop spreading FUD jakub

this warning you have control over ... either you fix the code and send it upstream or you use -fno-strict-aliasing in the ebuild until you get it fixed properly

strict aliasing bugs are not just some random warning to be ignored
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2007-01-20 13:43:01 UTC
What kind of FUD you exactly mean?

# grep -Rni "Package has poor programming practices" /var/log/portage | wc -l
53

That's for the last week or so since last cleanup of the directory; now how on earth you expect to get this kind of stuff fixed w/ ~100 active devs we have? Maybe create a codecleaners QA subproject and get some volunteers to do the job before letting people flood bugzilla with such things?

Comment 6 SpanKY gentoo-dev 2007-01-20 13:50:41 UTC
let's review ... you'd prefer to go ignoring issues and pretend they arent real rather than file bugs and address them as people get time ?  that's just retarded

there are crappy packages in the portage tree ?  should i feel bad about the fact we now warn about it ?
Comment 7 Ciaran McCreesh 2007-01-20 14:39:29 UTC
(In reply to comment #6)
> there are crappy packages in the portage tree ?  should i feel bad about the
> fact we now warn about it ?

You have a really strange definition of crappy.

This focus upon irrelevant things that, let's face it, don't cause random runtime failures (if they did they'd've been caught and fixed by now), complete with user-visible scary notices, is making it very hard for *real* issues to be fixed. Now, if you want to make some kind of tinderbox system for checking for these issues so that you can report them upstream, go right ahead -- that's an appropriate solution. But don't force this kind of crap in users' faces, especially with messages that massively overstate the significance of the problem. Doing so will only cause people to ignore real QA bugs.
Comment 8 SpanKY gentoo-dev 2007-01-20 15:26:52 UTC
overstating as in "may cause issues" ?  we've seen strict aliasing cause problems in the past and developers chalked it up to a broken compiler / stupid users ... shall we continue the route of users hitting random crashes and us telling them to stop being ricers and forcing ebuilds to build at lower optimizations ?
Comment 9 William Brack 2007-01-20 18:01:30 UTC
Returning (just for a brief moment) to the original report, warnings in pattern.c have already been reported upstream, and will be fixed in the next release (considered low priority).  The warning in types.c actually stems from Python's definition of Py_True, and is not considered a libxslt problem.  The reason these warnings have not been fixed previously is that developers on that project normally compile with minimal optimisation (-O instead of -O2), and the warnings therefore have not appeared.
Comment 10 William Brack 2007-02-07 01:51:52 UTC
Created attachment 109395 [details, diff]
patch to clear 'type-punned pointer' warnings

This patch for pattern.c will appear in the next release of libxslt, as yet unscheduled.  The patch for types.c will not go into the library release, since it is only a hack to avoid a warning caused by the python library (and there are so many others ....:-).
Comment 11 Abraham Marín Pérez 2008-01-22 11:12:54 UTC
Just in case it helps, I will comment that most QA notices are absent in version 1.1.22, only the one on types.c remains... I considered avoiding it through the -fno-strict-aliasing commented by SpanKY, but I don't know how to exactly stick this, could you enlight me?

PS: Executing from LiveCD, error appeared while updating portage while installation.

emerge --info:

Portage 2.1.2.2 (default-linux/x86/2007.0, gcc-4.1.1, glibc-2.5-r0, 2.6.19-gentoo-r5 i686)
=================================================================
System uname: 2.6.19-gentoo-r5 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Tue, 22 Jan 2008 08:46:01 +0000
app-shells/bash:     3.1_p17
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/baselayout: 1.12.9
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.61
sys-devel/automake:  1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict stricter userfetch"
GENTOO_MIRRORS="http://ftp.udc.es/gentoo/ http://mirror.ovh.net/gentoo-distfiles/ http://darkstar.ist.utl.pt/gentoo/ http://distfiles.gentoo.org"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="acl berkdb bitmap-fonts cli cracklib crypt cups doc dri fortran gdbm gpm iconv isdnlog midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl ssl tcpd truetype-fonts type1-fonts unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY



Comment 12 SpanKY gentoo-dev 2008-01-22 11:40:56 UTC
you'd use append-flags from the flag-o-matic eclass in the src_compile() function in the ebuild
Comment 13 Abraham Marín Pérez 2008-01-22 15:07:56 UTC
Thanks SpanKY, that perfectly worked. Is there any chance that workaround is adopted and merged into the official ebuild?
Comment 14 SpanKY gentoo-dev 2008-01-23 15:25:55 UTC
flag adding gets forgotten about and ends up living in ebuilds far longer than it should, and in this case doesnt really address the underlying problem

William mentioned something about interaction with python and Py_True ... should find out if it's a fundamental "python is busted" or "libxslt isnt using python correctly" and then persue the issue accordingly
Comment 15 Jakub Moc (RETIRED) gentoo-dev 2008-01-23 16:44:04 UTC
Resume - silence noise and make it invisible for users because noone gives a damn in Gentoo and those bugs belong upstream anyway. At least latest portage versions cut off the huge red warnings that make no sense.
Comment 16 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-05-08 12:31:35 UTC
afaics, 1.1.22 or 1.1.23 don't show these warnings. Closing.
Comment 17 Abraham Marín Pérez 2008-05-08 13:44:57 UTC
(In reply to comment #16)
> afaics, 1.1.22 or 1.1.23 don't show these warnings. Closing.
> 

Well, warnings do appear if the -fno-strict-aliasing flag is not set, I just checked. If it is, merging goes flawlessly; hence, I don't think it's solved, it's just that you didn't try the right environment to make it fails.

I'll re-post my emerge --info in case it helps:

Portage 2.1.4.4 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r4 i686)
=================================================================
System uname: 2.6.24-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Timestamp of tree: Wed, 30 Apr 2008 00:16:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.1.4
dev-lang/python:     2.4.4-r9
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.10.1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/webapps/mantisbt/1.0.8-r1/config-files"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict stricter unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.udc.es/gentoo/ http://mirror.ovh.net/gentoo-distfiles/ http://darkstar.ist.utl.pt/gentoo/ http://distfiles.gentoo.org"
LANG="es_ES.UTF-8"
LC_ALL="es_ES.UTF-8"
LINGUAS="es en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="acl apache2 bash-completion berkdb bzip2 caps cli cracklib crypt doc dri fortran gdbm iconv isdnlog java5 midi mudflap ncurses nls nptl nptlonly openmp pam pcre pppd python readline reflection session spl sse2 ssl tcpd threads unicode vhosts vim-syntax x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="es en" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 18 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-05-08 14:02:01 UTC
Using this:
 FEATURES="test strict stricter mutlilib-strict" emerge -1av libxslt

turns up with nothing. Did you test with 1.1.23 ?
Comment 19 Abraham Marín Pérez 2008-05-08 14:23:32 UTC
(In reply to comment #18)
> Using this:
>  FEATURES="test strict stricter mutlilib-strict" emerge -1av libxslt
> 
> turns up with nothing. Did you test with 1.1.23 ?
> 

I hadn't tried 1.1.23 since it was still masked, but you are right, it doesn't fail any longer with that version. I had a small hack to avoid 1.1.22 failing, so I'll keep it till 1.1.23 gets unmasked.

Now I agree with you, this bug is definitely solved :-). Thanks for your time.
 
Comment 20 Ryan P. Bitanga 2008-07-10 08:26:07 UTC
(In reply to comment #19)
> (In reply to comment #18)
> > Using this:
> >  FEATURES="test strict stricter mutlilib-strict" emerge -1av libxslt
> > 
> > turns up with nothing. Did you test with 1.1.23 ?
> > 
> 
> I hadn't tried 1.1.23 since it was still masked, but you are right, it doesn't
> fail any longer with that version. I had a small hack to avoid 1.1.22 failing,
> so I'll keep it till 1.1.23 gets unmasked.
> 
> Now I agree with you, this bug is definitely solved :-). Thanks for your time.
> 
> 
I tried it with a fresh install from the 2008.0 amd64 livecd and it fails to merge due to the type.c problem. What python version are you using?

FEATURES="test strict stricter multilib-strict" emerge libxslt

fails with libxslt-1.1.24.

Portage 2.1.4.4 (default/linux/amd64/2008.0/developer, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r7 x86_64)
=================================================================
System uname: 2.6.24-gentoo-r7 x86_64 Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz
Timestamp of tree: Wed, 09 Jul 2008 16:00:01 +0000
app-shells/bash:     3.2_p17-r1
dev-lang/python:     2.4.4-r13
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.61-r1
sys-devel/automake:  1.5, 1.9.6-r2, 1.10.1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=nocona"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -march=nocona"
DISTDIR="/usr/portage/distfiles"
FEATURES="collision-protect cvs digest distlocks metadata-transfer multilib-strict sandbox sfperms sign splitdebug strict stricter unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aac acl acpi alsa amd64 apache2 berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam fbcondecor fbsplash firefox fortran gdbm gif glib gnome gpm gstreamer gtk hal iconv ipv6 isdnlog jpeg jpeg2k kde kdehiddenvisibility kerberos ldap libnotify mad mailwrapper midi mikmod mmx mp3 mpeg mudflap multilib mysql ncurses nls nptl nptlonly ogg opengl openmp pam pch pcre pdf perl php png ppds pppd python qt3 qt3support qt4 quicktime readline reflection sdl session snmp spell spl sse sse2 ssl startup-notification subversion svg tcpd threads tiff truetype unicode vorbis xml xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

Comment 21 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-07-10 08:40:18 UTC
do not use FEATURES="stricter" if you don't want build failure for QA issues. QA issues like poor programming practices are to be fixed upstream (provide them with patch, ...).
Comment 22 Abraham Marín Pérez 2008-10-27 12:36:23 UTC
(In reply to comment #20)
> (In reply to comment #19)
> > (In reply to comment #18)
> > > Using this:
> > >  FEATURES="test strict stricter mutlilib-strict" emerge -1av libxslt
> > > 
> > > turns up with nothing. Did you test with 1.1.23 ?
> > > 
> > 
> > I hadn't tried 1.1.23 since it was still masked, but you are right, it doesn't
> > fail any longer with that version. I had a small hack to avoid 1.1.22 failing,
> > so I'll keep it till 1.1.23 gets unmasked.
> > 
> > Now I agree with you, this bug is definitely solved :-). Thanks for your time.
> > 
> > 
> I tried it with a fresh install from the 2008.0 amd64 livecd and it fails to
> merge due to the type.c problem. What python version are you using?
> 
> FEATURES="test strict stricter multilib-strict" emerge libxslt
> 
> fails with libxslt-1.1.24.
> 

This bug is marked as fixed and it's been quite long since your post (sorry for the delay), but still I tried in case it could help you. I just run

FEATURES="test strict stricter multilib-strict" emerge -va --oneshot libxslt

And it worked flawlessly. By the time I run it last version was 1.1.24-r1 instead of 1.1.24, perhaps that -r1 makes the difference between life and death?
Are you still having problemas with this?