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.
1) Please post your `emerge --info' output in a comment. 2) Please attach the entire build log to this bug report.
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
Working on fixing this.
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"
(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üõ õäü
(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 :)
(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.
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.