Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 501756 - sci-mathematics/octave-3.8.0 LC_ALL=et_EE - octave.cc:485:56: error: 'Fallow_noninteger_range_as_index' was not declared in this scope
Summary: sci-mathematics/octave-3.8.0 LC_ALL=et_EE - octave.cc:485:56: error: 'Fallow_...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mark Wright
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-19 09:18 UTC by Priit Laes (IRC: plaes)
Modified: 2014-02-21 23:58 UTC (History)
0 users

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


Attachments
octave-3.8.0-build.log.xz (octave-build.log.xz,46.15 KB, application/x-xz)
2014-02-19 14:09 UTC, Priit Laes (IRC: plaes)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Priit Laes (IRC: plaes) 2014-02-19 09:18:26 UTC
sci-mathematics/octave-3.8.0:0/3.8.0  USE="X curl glpk gnuplot imagemagick jit opengl qhull qrupdate readline sparse zlib -doc -fftw -hdf5 -java -postscript -static-libs"

Getting following build error when building octave-3.8.0 under et_EE locale (while it builds fine with LC_ALL=C):
[snip]
...
octave.cc: In function 'void maximum_braindamage()':
octave.cc:485:56: error: 'Fallow_noninteger_range_as_index' was not declared in this scope
   Fallow_noninteger_range_as_index (octave_value (true));
                                                        ^
octave.cc:487:49: error: 'Fconfirm_recursive_rmdir' was not declared in this scope
   Fconfirm_recursive_rmdir (octave_value (false));
                                                 ^
octave.cc:488:49: error: 'Fcrash_dumps_octave_core' was not declared in this scope
   Fcrash_dumps_octave_core (octave_value (false));
                                                 ^
octave.cc:489:54: error: 'Fsave_default_options' was not declared in this scope
   Fsave_default_options (octave_value ("-mat-binary"));
                                                      ^
...
[/snip]

The first suspects are multiple [a-z] range sed patterns in `libinterp/mkbuiltins`, but there could be wrong.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2014-02-19 11:54:50 UTC
1) Please post your `emerge --info' output in a comment.
2) Please attach the entire build log to this bug report.
Comment 2 Priit Laes (IRC: plaes) 2014-02-19 14:09:49 UTC
Created attachment 370776 [details]
octave-3.8.0-build.log.xz

plaes@chi ~ $ emerge --info
Portage 2.2.8-r1 (default/linux/amd64/13.0/desktop/gnome, gcc-4.8.2, glibc-2.18-r1, 3.14.0-rc1 x86_64)
=================================================================
System uname: Linux-3.14.0-rc1-x86_64-Intel-R-_Core-TM-2_CPU_L7400_@_1.50GHz-with-gentoo-2.2
KiB Mem:     3068148 total,    315164 free
KiB Swap:    2000088 total,   1676560 free
Timestamp of tree: Wed, 19 Feb 2014 05:30:01 +0000
ld GNU ld (GNU Binutils) 2.24
app-shells/bash:          4.2_p45-r1
dev-java/java-config:     2.2.0
dev-lang/python:          2.7.6, 3.2.5-r3, 3.3.4
dev-util/cmake:           2.8.12.2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4, 1.14.1
sys-devel/binutils:       2.24-r2
sys-devel/gcc:            4.8.2
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.13 (virtual/os-headers)
sys-libs/glibc:           2.18-r1
Repositories: gentoo mate-overlay Crossdev-Overlay esteid gnome plaes-s-local-overlay
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-mtune=core2 -O2 -pipe -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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"
CXXFLAGS="-mtune=core2 -O2 -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="et_EE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/mate /var/lib/portage/crossdev /home/plaes/code/gentoo/esteid /home/plaes/code/gentoo/gnome /home/plaes/code/gentoo/local"
USE="X a52 aac acl acpi alsa amd64 avahi berkdb bindist bluetooth branding bzip2 cairo cdda cjk cli colord cracklib crypt cxx daap dbus dconf djvu dri dts dvd dvdr eds emboss encode evo exif fam fat ffmpeg firefox flac fontconfig gdbm gif gles1 gles2 gmp gnome gnome-keyring gstreamer gtk iconv introspection ipv6 jit jpeg lcms libass libnotify libsecret mad matplotlib mms mmx mng modemmanager modules mp3 mp4 mpeg multilib nautilus ncurses nls nptl offensive ogg opengl openmp openvg pam pango pcre pdf png policykit ppds pulseaudio qt3support qt4 readline sdl session sid socialweb spell sse sse2 ssl ssse3 startup-notification svg systemd tcpd theora tiff truetype udev udisks unicode upnp-av upower usb vorbis wayland wifi wxwidgets x264 xcb xetex xinerama xml xmp xv xvid xvmc zeroconf zlib" ABI_X86="64" 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" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="gnutls" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_USER_TARGETS="i386" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Comment 3 Mark Wright gentoo-dev 2014-02-20 04:25:46 UTC
Working on fixing this.
Comment 4 Mark Wright gentoo-dev 2014-02-20 05:42:01 UTC
Fix bug 501756 - sci-mathematics/octave-3.8.0 LC_ALL=et_EE - octave.cc:485:56: error: Fallow_noninteger_range_as_index was not declared in this scope. Thanks to Priit Laes for reporting and debugging.

The fix is to fix the broken sed with this sed:

sed -e 's@A-Za-z0-9@[:alnum:]@g' \
  -e 's@A-Za-z@[:alpha:]@g' \
  -i "${S}/libinterp/mkbuiltins" \
  || die "Could not patch ${S}/libinterp/mkbuiltins for some non-English locales"
Comment 5 Priit Laes (IRC: plaes) 2014-02-20 10:24:11 UTC
(In reply to Mark Wright from comment #4)
> Fix bug 501756 - sci-mathematics/octave-3.8.0 LC_ALL=et_EE -
> octave.cc:485:56: error: Fallow_noninteger_range_as_index was not declared
> in this scope. Thanks to Priit Laes for reporting and debugging.
> 
> The fix is to fix the broken sed with this sed:
> 
> sed -e 's@A-Za-z0-9@[:alnum:]@g' \
>   -e 's@A-Za-z@[:alpha:]@g' \
>   -i "${S}/libinterp/mkbuiltins" \
>   || die "Could not patch ${S}/libinterp/mkbuiltins for some non-English
> locales"

Trouble with [:alnum:] is, that it depends on the locale - allowing characters outside a-z range:

plaes@chi ~ $ cat test.txt 
st
ss
stüõ
õäü

plaes@chi ~ $ LC_ALL=et_EE.UTF8 egrep '[[:alnum:]]' test.txt
st
ss
stüõ
õäü
Comment 6 Priit Laes (IRC: plaes) 2014-02-20 10:33:31 UTC
(In reply to Priit Laes (IRC: plaes) from comment #5)
> (In reply to Mark Wright from comment #4)
> > Fix bug 501756 - sci-mathematics/octave-3.8.0 LC_ALL=et_EE -
> > octave.cc:485:56: error: Fallow_noninteger_range_as_index was not declared
> > in this scope. Thanks to Priit Laes for reporting and debugging.
> > 
> > The fix is to fix the broken sed with this sed:
> > 
> > sed -e 's@A-Za-z0-9@[:alnum:]@g' \
> >   -e 's@A-Za-z@[:alpha:]@g' \
> >   -i "${S}/libinterp/mkbuiltins" \
> >   || die "Could not patch ${S}/libinterp/mkbuiltins for some non-English
> > locales"
> 
> Trouble with [:alnum:] is, that it depends on the locale - allowing
> characters outside a-z range:
> 
> plaes@chi ~ $ cat test.txt 
> st
> ss
> stüõ
> õäü
> 
> plaes@chi ~ $ LC_ALL=et_EE.UTF8 egrep '[[:alnum:]]' test.txt
> st
> ss
> stüõ
> õäü

Here's example: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/arch/x86/vdso?id=f2dbe03dccc95f41429d60e4221b02fc0f112cc4 :)
Comment 7 Mark Wright gentoo-dev 2014-02-20 14:46:00 UTC
(In reply to Priit Laes (IRC: plaes) from comment #5)
> Trouble with [:alnum:] is, that it depends on the locale - allowing
> characters outside a-z range:
> 
> plaes@chi ~ $ cat test.txt 
> st
> ss
> stüõ
> õäü
> 
> plaes@chi ~ $ LC_ALL=et_EE.UTF8 egrep '[[:alnum:]]' test.txt
> st
> ss
> stüõ
> õäü

Thanks for pointing that out.  I do not think it matters here though,
as the sed is processing programming source files, which is matching
identifiers.  I expect that these source files only contain characters
in the English character set.

I tested that it builds fine for me in the et_EE.UTF8 locale.

As you already know, but for anyone else reading: the original problem reported
was caused by a-z A-Z ranges not matching all the English characters in the
et_EE.UTF8 locale as the character order is different.

I don't think it matters if it matches more alphabetic characters in foreign
character sets, as long as it matches the English characters.

It would be neat if you wanted to report the bug upstream on Octave.
Comment 8 Mark Wright gentoo-dev 2014-02-21 23:58:55 UTC
I fixed it earlier and tested that octave-3.8.0 builds fine in the et_EE.UTF8
locale. Please re-open if the build fails for you (in which case please
supply the build.log and libinterp/mkbuiltins files). The fix is also included
in the sci-mathematics/octave-3.8.1_rc3 ebuild.