Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 271501 - media-sound/solfege-3.14.2 fails to build on some locales
Summary: media-sound/solfege-3.14.2 fails to build on some locales
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-28 09:17 UTC by Raimonds Cicans
Modified: 2009-06-07 13:50 UTC (History)
1 user (show)

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


Attachments
Full build.log (build.log,7.72 KB, text/plain)
2009-05-28 09:20 UTC, Raimonds Cicans
Details
environment (environment,15.50 KB, text/plain)
2009-05-29 10:10 UTC, Raimonds Cicans
Details
emerge --info (emerge_info,6.72 KB, text/plain)
2009-05-29 10:12 UTC, Raimonds Cicans
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Raimonds Cicans 2009-05-28 09:17:42 UTC
media-sound/solfege-3.14.2 fails to build if locale environment variable (LANGUAGE, LANG, LC_*) is set to some "bad" language (for example: pl, ru)

Reproducible: Always

Steps to Reproduce:
LANGUAGE=ru emerge =media-sound/solfege-3.14.2
Actual Results:  
error message:
/usr/bin/python tools/generate_lessonfiles.py
Traceback (most recent call last):
  File "tools/generate_lessonfiles.py", line 219, in <module>
    generate_csound_intonation()
  File "tools/generate_lessonfiles.py", line 217, in generate_csound_intonation
    tree.save("learningtrees/csound-tree.txt")
  File "./src/learningtree.py", line 166, in save
    print >> ofile, " 'title': '%s'," % self.m_title.replace("'", r"\'")
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0107' in position 27: ordinal not in range(128)
make: *** [gen-lessonfiles] Error 1


Expected Results:  
emerge completes successfully

Some "good" locales: en de lv C

Workaround: LANGUAGE=C emerge =media-sound/solfege-3.14.2

Possible workarounds in ebuild:
1. filter out all locale environment variables
or
2. set LANGUAGE=C (it looks LANGUAGE have higher precedence)

P.S. bug don't depend on charset, for example ru_RU.KOI8-R & ru_RU.UTF-8 both have same problem
Comment 1 Raimonds Cicans 2009-05-28 09:20:24 UTC
Created attachment 192687 [details]
Full build.log
Comment 2 Sebastian Luther (few) 2009-05-28 19:45:51 UTC
emerge --info and /mnt/portage/portage/portage/media-sound/solfege-3.14.2/temp/environment please.
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2009-05-29 06:32:15 UTC
How about this workaround, replace line

econf \

with

LC_ALL=C econf \
Comment 4 Raimonds Cicans 2009-05-29 10:10:54 UTC
Created attachment 192842 [details]
environment
Comment 5 Raimonds Cicans 2009-05-29 10:12:33 UTC
Created attachment 192844 [details]
emerge --info
Comment 6 keenblade 2009-05-30 11:46:20 UTC
(In reply to comment #3)
> How about this workaround, replace line
> 
> econf \
> 
> with
> 
> LC_ALL=C econf \
> 
It does not work. This is a UnicodeDecodeError error, not locale. The following still fails;
LC_ALL=C MAKEOPTS="-j1" emerge -v1 media-sound/solfege

with the fail log:

File "tools/generate_lessonfiles.py", line 219, in <module>
    generate_csound_intonation()
  File "tools/generate_lessonfiles.py", line 217, in generate_csound_intonation
    tree.save("learningtrees/csound-tree.txt")
  File "./src/learningtree.py", line 166, in save
    print >> ofile, " 'title': '%s'," % self.m_title.replace("'", r"\'")
UnicodeEncodeError: 'ascii' codec can't encode characters in position 29-30: ordinal not in range(128)
make: *** [gen-lessonfiles] Error 1
 * 
 * ERROR: media-sound/solfege-3.14.2 failed.

emerge --info

Portage 2.2_rc33 (default/linux/amd64/2008.0/desktop, gcc-4.3.3, glibc-2.10.1-r0, 2.6.30-rc5 x86_64)
=================================================================
System uname: Linux-2.6.30-rc5-x86_64-Intel-R-_Core-TM-2_CPU_T7200_@_2.00GHz-with-gentoo-2.0.1
Timestamp of tree: Fri, 29 May 2009 22:30:17 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p24
dev-java/java-config: 2.1.8
dev-lang/python:     2.5.4-r2, 2.6.2-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.6.4
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r2
sys-apps/sandbox:    1.9
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.19.1-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.29
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/media/disk-1/usr/portage/distfiles"
FEATURES="ccache collision-protect distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ "
LANG="tr_TR.UTF-8"
LC_ALL="tr_TR.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="tr"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
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/local/portage/layman/pok3d /usr/local/portage/layman/pd-overlay /usr/local/portage/layman/mpd /usr/local/portage/layman/gechi /usr/local/portage/layman/desktop-effects /usr/local/portage/layman/mozilla /usr/local/portage/layman/emacs /usr/local/portage/layman/pcsx2 /usr/local/portage/layman/java-overlay /usr/local/overlays/crossdev /usr/local/overlays/keenblade /usr/local/overlays/symix /usr/local/overlays/tmp/desktop-effects-live"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amd64 apache2 berkdb bluetooth bzip2 cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam ffmpeg firefox flac fortran gdbm gif glitz gnome gpm gstreamer gtk hal iconv ipv6 isdnlog jack java jpeg kde ladspa lash ldap libnotify lm_sensors mad midi mikmod mmx mng mp3 mpeg mudflap multilib mysql mysqli ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3support qt4 quicktime readline reflection sdl session spell spl sqlite3 sse sse2 ssl startup-notification svg sysfs tcpd tiff truetype unicode usb vorbis xcomposite xinerama xml xorg xulrunner xv xvid zlib" ALSA_CARDS="hda-intel mpu401 usb-audio" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul 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 synaptics joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="tr" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2009-06-05 09:32:09 UTC
(In reply to comment #3)
> How about this workaround, replace line
> 
> econf \
> 
> with
> 
> LC_ALL=C econf \
> 

Well, how about LANGUAGE=C instead of LC_ALL=C ?
Comment 8 keenblade 2009-06-07 10:07:24 UTC
(In reply to comment #7)
> 
> Well, how about LANGUAGE=C instead of LC_ALL=C ?
> 

Thanks. That worked fine. Emerge succeeded with this:
LANGUAGE=C emerge -v1 media-sound/solfege
Comment 9 Samuli Suominen (RETIRED) gentoo-dev 2009-06-07 10:21:02 UTC
No, I meant does it work if you put it in the ebuild as before econf (or does it need to be before emake) but..

Added to ebuild, before econf, as temp. workaround. Reopen if it's still a problem, i'll mail this problem upstream.
Comment 10 Samuli Suominen (RETIRED) gentoo-dev 2009-06-07 12:15:00 UTC
Upstream replied by e-mail as following,

Thanks. I'll fix this and get a new 3.14.x release out soon. I hope
within a week.

Tom Cato
Comment 11 keenblade 2009-06-07 12:58:17 UTC
(In reply to comment #9)
> No, I meant does it work if you put it in the ebuild as before econf (or does
> it need to be before emake) but..
> 
> Added to ebuild, before econf, as temp. workaround. Reopen if it's still a
> problem, i'll mail this problem upstream.
> 
Could you fix the workaround, because it doesn't work. Need to be like these:
It need to be before emake. Like:
LANGUAGE=C	emake 

or put it, on its own line before econf. Like:
LANGUAGE=C
econf \

And thanks for reporting to upstream.
Comment 12 Samuli Suominen (RETIRED) gentoo-dev 2009-06-07 13:50:04 UTC
(In reply to comment #11)
> LANGUAGE=C      emake 

I did this.