Good afternoon, I have been working on this problem for a for almost a a week now. Octave-forge refuses to compile due to a variable that is undefined. The "autoload" in the file PKG_ADD (in usr/share/octave/2.1.73/site/m/octave-forge/comm/ )appears to be undefined. The version of octave is 2.1.73-r2. I have attached a the config and build.log Reproducible: Always Steps to Reproduce: 1.emerge octave-forge 2. 3. Actual Results: 1. Error messages in configure process 2. Fails to compile and fails to install Expected Results: Compile and install info about system emerge --info Portage 2.1.2.3 (default-linux/x86/2006.1/desktop, gcc-4.1.2, glibc-2.5-r1, 2.6.18-gentoo-r2 i686) ================================================================= System uname: 2.6.18-gentoo-r2 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz Gentoo Base System release 1.12.9 Timestamp of tree: Tue, 03 Apr 2007 12:30:08 +0000 dev-java/java-config: 1.3.7, 2.0.31-r5 dev-lang/python: 2.3.6, 2.4.4 dev-python/pycrypto: 2.0.1-r5 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61 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 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.15-r1 sys-devel/libtool: 1.5.23b virtual/os-headers: 2.6.20-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="ccache cvs distcc distlocks metadata-transfer sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://mirror.tucdemonic.org/gentoo/ ftp://gentoo.netnitco.net/pub/mirrors/gentoo/source/ http://gentoo.netnitco.net ftp://ftp.ussg.iu.edu/pub/linux/gentoo" MAKEOPTS="-j2" 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" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aac aalib alsa ansi arts berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus divx4linux dri dvd dvdr eds emboss encode esd faad2 fam fbdev firefox flac fortran gcj gdbm gif gnome gpm gstreamer gtk hal iconv ipv6 isdnlog java jpeg kde ldap libg++ live m4a mad midi mikmod mp3 mp4 mpeg nas ncurses network nls nptl nptlonly ogg opengl oss pam pcre pdf perl png ppds pppd python qt3 qt4 quicktime readline reflection sdl seamonkey session spell spl ssl tcpd truetype truetype-fonts type1-fonts unicode vorbis win32codecs wma wmv x86 xml xorg xv 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="vesa vga fbdev nv nvidia" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 115382 [details] build.log
Created attachment 115383 [details] config.log
Hi Paul-Philippe, Thanks for your bug report. Could you please elaborate on why you think there is a problem with "PKG_ADD"! By looking at your build.log it seems to me there rather is a compilation problem ------------------------- snip -------------- ov-galois.cc: In member function 'virtual double octave_galois::double_value(bool) const': ov-galois.cc:328: error: 'Vdo_fortran_indexing' was not declared in this scope ov-galois.cc: In member function 'virtual Complex octave_galois::complex_value(bool) const': ov-galois.cc:354: error: 'Vdo_fortran_indexing' was not declared in this scope ------------------------------ That said, could you please try with -O2 instead of -O3. Thanks, Markus
Hi Markus, YOu're right about the error the build log I just saw it as I was compiling again with -O2. Unfortunetely, the compiling process did not continue and stop at the same stage. The error about the PKG_ADD during the configure script : ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-X --build=i686-pc-linux-gnu checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-pc-linux-gnu-gcc accepts -g... yes checking for i686-pc-linux-gnu-gcc option to accept ANSI C... none needed checking for mkoctfile... mkoctfile retrieving compile and link flags from mkoctfile checking for F77_FUNC... yes checking for SLList.h... no checking for lo_ieee_nan_value... yes checking for octave_idx_type... no checking for quit.h... yes checking for octave... octave checking for OCTAVE_VERSION in Octave... error: `autoload' undefined near line 23 column 1 error: near line 23 of file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' error: source: error sourcing file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' 2.1.73 checking for octave_config_info('canonical_host_type') in Octave... error: `autoload' undefined near line 23 column 1 error: near line 23 of file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' error: source: error sourcing file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' i686-pc-linux-gnu checking for octave_config_info('SHLEXT') in Octave... error: `autoload' undefined near line 23 column 1 error: near line 23 of file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' error: source: error sourcing file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' so checking whether ln -s works... yes checking for a BSD-compatible install... /usr/bin/install -c checking for i686-pc-linux-gnu-ranlib... i686-pc-linux-gnu-ranlib checking for strip... strip checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E checking for X... libraries , headers in standard search path checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking for autoload in Octave... error: `autoload' undefined near line 23 column 1 error: near line 23 of file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' error: source: error sourcing file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' yes checking for do_fortran_indexing in Octave... error: `autoload' undefined near line 23 column 1 error: near line 23 of file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' error: source: error sourcing file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' yes checking for propagate_empty_matrices in Octave... error: `autoload' undefined near line 23 column 1 error: near line 23 of file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' error: source: error sourcing file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' yes checking for ok_to_lose_imaginary_part in Octave... error: `autoload' undefined near line 23 column 1 error: near line 23 of file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' error: source: error sourcing file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' yes checking for N-dim arrays... yes checking for class in Octave... error: `autoload' undefined near line 23 column 1 error: near line 23 of file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' error: source: error sourcing file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' yes checking for load/save functions in class... yes checking for Octave_map indexing... no checking for old Octave concatenation... no checking for Octave concatenation... yes checking for swap_8_bytes... no checking for op_uplus... yes checking for makeinfo... makeinfo checking for makeinfo --no-split... yes checking for texi2dvi... texi2dvi checking that texi2dvi runs... yes checking for texi2dvi --clean... yes checking for texi2html... texi2html Sorry for the long output. But the I wonder if that has anything to do with the compiling problem. Let me know what I can do to help you further. Thanks! Paul-Philippe (In reply to comment #3) > Hi Paul-Philippe, > > Thanks for your bug report. Could you please elaborate on > why you think there is a problem with "PKG_ADD"! > By looking at your build.log it seems to me there rather is a > compilation problem > > ------------------------- snip -------------- > > ov-galois.cc: In member function 'virtual double > octave_galois::double_value(bool) const': > ov-galois.cc:328: error: 'Vdo_fortran_indexing' was not declared in this scope > ov-galois.cc: In member function 'virtual Complex > octave_galois::complex_value(bool) const': > ov-galois.cc:354: error: 'Vdo_fortran_indexing' was not declared in this scope > > ------------------------------ > > That said, could you please try with -O2 instead of -O3. > > Thanks, > Markus >
*** Bug 174065 has been marked as a duplicate of this bug. ***
Hi Paul-Philippe, Thanks for confirming. I'll have a look at the problem. Unfortunately, I can't reproduce it here despite a fairly identical setup. cheers, Markus
1. Actually, there is more than one file compile error. There is set of files and errors: ov-galois.cc:328: error: 'Vdo_fortran_indexing' was not declared in this scope ov-galois.cc:354: error: 'Vdo_fortran_indexing' was not declared in this scope ov-fixed-mat.cc:315: error: 'Vdo_fortran_indexing' was not declared in this scope ov-fixed-mat.cc:354: error: 'Vdo_fortran_indexing' was not declared in this scope ov-fixed-complex.cc:80: error: 'Vok_to_lose_imaginary_part' was not declared in this scope ov-fixed-complex.cc:254: error: 'Vok_to_lose_imaginary_part' was not declared in this scope ov-fixed-complex.cc:280: error: 'Vok_to_lose_imaginary_part' was not declared in this scope ov-fixed-cx-mat.cc:101: error: 'Vok_to_lose_imaginary_part' was not declared in this scope ov-fixed-cx-mat.cc:356: error: 'Vok_to_lose_imaginary_part' was not declared in this scope ov-fixed-cx-mat.cc:370: error: 'Vdo_fortran_indexing' was not declared in this scope ov-fixed-cx-mat.cc:399: error: 'Vok_to_lose_imaginary_part' was not declared in this scope ov-fixed-cx-mat.cc:412: error: 'Vdo_fortran_indexing' was not declared in this scope ov-fixed-cx-mat.cc:441: error: 'Vok_to_lose_imaginary_part' was not declared in this scope ov-fixed-cx-mat.cc:467: error: 'Vok_to_lose_imaginary_part' was not declared in this scope ov-fixed-cx-mat.cc:493: error: 'Vdo_fortran_indexing' was not declared in this scope 2. Also, if I do after this errors 'make check' and then continue merging package sci-mathematics/octave-forge, then I faced with problem that /usr/bin/octave starts with such error messages: error: `autoload' undefined near line 23 column 1 error: near line 23 of file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' error: source: error sourcing file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' That error messages remain if I unmerge sci-mathematics/octave-forge. And only again merging sci-mathematics/octave cure it. It seems like sci-mathematics/octave-forge and sci-mathematics/octave have files (one or more) which intersects with each other.
The main reason for your problems is the fact that octave-forge thinks that the installed octave has features that it doesn't in fact provide. E.g. your octave-forge is compiled with -DHAVE_DO_FORTRAN_INDEXING which enables code the needs Vdo_fortran_indexing which is long gone from octave's header files. I don't honestly know why octave-forge mis-detects that. That said, could both of you please completely unmerge octave and octave-forge and re-emerge them. If that works, great! If not, I can try back-porting code from cvs to cure this. Thanks, Markus
Tried to emerge -C octave && env-update && . /etc/profile && emerge octave && env-update && . /etc/profile && emerge octave-forge but error remains. :,-(
Hmmm, this is very strange: I try to emulate some line from configure script (changed $OCTAVE to octave): shmyaka maratik # if test `echo 'disp(exist("do_fortran_indexing"))' | octave -qf`X != 0X ; then > echo ok > fi ok But(!): shmyaka maratik # echo 'disp(exist("do_fortran_indexing"))' | octave -qf 0 Seems like "0X != 0X" is TRUE for "test `echo 'disp(exist("do_fortran_indexing"))' | octave -qf`X != 0X"
Created attachment 115972 [details, diff] proposed patch to remove missing variables Could you please try the attached patch for octave-forge and see if that helps! Thanks, Markus
With patch octave-forge compiles perfectly, but after emerging I faced with old error: shmyaka ~ # /usr/bin/octave GNU Octave, version 2.1.73 (x86_64-pc-linux-gnu). Copyright (C) 2006 John W. Eaton. This is free software; see the source code for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, type `warranty'. Additional information about Octave is available at http://www.octave.org. Please contribute if you find this software useful. For more information, visit http://www.octave.org/help-wanted.html Report bugs to <bug@octave.org> (but first, please read http://www.octave.org/bugs.html to learn how to write a helpful report). error: `autoload' undefined near line 23 column 1 error: near line 23 of file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' error: source: error sourcing file `/usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD' octave:1>
Here is file /usr/share/octave/2.1.73/site/m/octave-forge/comm//PKG_ADD: mark_as_command comms dispatch ("conv", "gconv", "galois"); dispatch ("convmtx", "gconvmtx", "galois"); dispatch ("deconv", "gdeconv", "galois"); dispatch ("dftmtx", "gdftmtx", "galois"); dispatch ("fft", "gfft", "galois"); dispatch ("ifft", "gifft", "galois"); dispatch ("roots", "groots", "galois"); dispatch ("diag", "gdiag", "galois"); dispatch ("reshape", "greshape", "galois"); dispatch ("prod", "gprod", "galois"); dispatch ("sum", "gsum", "galois"); dispatch ("sumsq", "gsumsq", "galois"); dispatch ("sqrt", "gsqrt", "galois"); dispatch ("log", "glog", "galois"); dispatch ("exp", "gexp", "galois"); dispatch ("filter", "gfilter", "galois"); dispatch ("lu", "glu", "galois"); dispatch ("inv", "ginv", "galois"); dispatch ("inverse", "ginverse", "galois"); dispatch ("det", "gdet", "galois"); dispatch ("rank", "grank", "galois"); autoload ("bchdeco", which ("gf")); autoload ("bchenco", which ("gf")); autoload ("gdet", which ("gf")); autoload ("gdiag", which ("gf")); autoload ("gexp", which ("gf")); autoload ("gfilter", which ("gf")); autoload ("ginverse", which ("gf")); autoload ("ginv", which ("gf")); autoload ("glog", which ("gf")); autoload ("glu", which ("gf")); autoload ("gprod", which ("gf")); autoload ("grank", which ("gf")); autoload ("greshape", which ("gf")); autoload ("gsqrt", which ("gf")); autoload ("gsum", which ("gf")); autoload ("gsumsq", which ("gf")); autoload ("isgalois", which ("gf")); autoload ("rsdec", which ("gf")); autoload ("rsenc", which ("gf"));
Created attachment 115975 [details, diff] fix autoload bogus Boy, octave-forge on your box seriously mis-detects a whole bunch of stuff. Could you please check if the above patch fixes the autoload bogus! Thanks, Markus
there is no autoload in octave, but octave-forge's configure thinks alternatively: checking for autoload in Octave... yes I check it manually: maratik@shmyaka ~ $ octave [... skipped ...] octave:1> exist ("autoload") ans = 0 octave:2> exist ("class") ans = 5 I think that there is no need to patch *.cc files. Need to patch configure.base: if test `echo 'disp(exist("$1"))' | $OCTAVE -qf`X != 0X ... works incorrectly
The patch I just posted should do just this. Markus
Hi Markus, By applying the patches, octave-forge compiles properly. The only problem is I also get the same error as MaraTik when I launch octave. I will try again and keep you posted Paul-Philippe
Created attachment 116023 [details, diff] Patch to fix the whitespace problem that causes this failure. Rather than the previous patches, this patch should give you the needed results. It patches with a few offsets because it was against a different version...
Created attachment 116028 [details, diff] Earlier patch #18 is not cure problem, this one is good I think, it occures due to encoding (utf8) problem. So, `echo 'disp(0)' | octave -qf` does not give actually ASCII '0', but something other. Then the comparement 'disp(exist("autoload"))' | $OCTAVE -qf`X with `echo 'disp(0)' | $OCTAVE -qf`X is more reasonable.
Created attachment 116050 [details] octave-forge-2006.03.17-r1.ebuild new ebuild with fixed configure and X11 support (configure wants --with-x, not --with-X)
Created attachment 116051 [details, diff] configure-octave-enc.patch patch against configure for ebuild provided by me
Hi MaratIK, Thanks a bunch for tracking the problem down; quite a weird one, I must admit ;) Just to make sure that everybody is happy (and since I can't reproduce it here) could you and Paul-Philippe please confirm that by applying ONLY your configure-octave-enc.patch octave-forge compiles and works fine! Thanks a lot, Markus
>Just to make sure that everybody is happy (and since I can't reproduce it here) >could you and Paul-Philippe please confirm that by applying ONLY your >configure-octave-enc.patch octave-forge compiles and works fine! For me configure-octave-enc.patch works fine (octave-forge compiles and works perfectly without any other older patches). Btw, in addition I just want to point out that there is need to fix ebuild with this: ./configure wants --with-x, not --with-X. So, in ebuild $(use_with X) must be replaced with $(use_with X x).
Yes, thanks! I forgot to mention this in my previous post since I mainly wanted to make sure that your patch fixes ALL the problems reported so far. If Paul-Philippe also has his problems resolved by your patch I'll apply it to portage (+your ebuild fix) unless it breaks horribly on my dev boxes ;) Markus
Markus, may be it's time to remove !amd64 from the string in ebuild: "!amd64? ( ginac? ( sci-mathematics/ginac ) )" ? I just have reported bug #174318, in which I requested stable mark for sci-mathematics/ginac-1.3.7 for architecture amd64(all tests passed). I've just compiled octave-forge with ginac support on amd64 box. Symbolic mathematics work fine.
Hi all, I apologize for the late reply ... I applied the latest patch (configure-octave-enc.patch) with the new ebuild and I still get the undefined autoload error message. I double checked the configure output and it seems that the correct version of Octave still cannot be detected. I'm starting to believe that this maybe and issue with octave installation itself. I'll see if "emerge -eN octave-forge" won't solve the problem. Paul-Philippe (In reply to comment #24) > Yes, thanks! I forgot to mention this in my previous post since I mainly wanted > to make sure that your patch fixes ALL the problems reported so far. > If Paul-Philippe also has his problems resolved by your patch I'll apply it > to portage (+your ebuild fix) unless it breaks horribly on my dev boxes ;) > > Markus >
Hi, Paul-Philippe. Just remove all PKG_ADD: maratik@shmyaka ~ $ locate PKG_ADD /usr/share/octave/2.1.73/m/plot/PKG_ADD /usr/share/octave/2.1.73/m/miscellaneous/PKG_ADD /usr/share/octave/2.1.73/site/m/octave-forge/comm/PKG_ADD /usr/share/octave/2.1.73/site/m/octave-forge/fixed/PKG_ADD /usr/share/octave/2.1.73/site/m/octave-forge/miscellaneous/PKG_ADD /usr/share/octave/2.1.73/site/m/octave-forge/testfun/PKG_ADD /usr/share/octave/2.1.73/site/m/octave-forge/sparse/PKG_ADD /usr/share/octave/2.1.73/site/octave-forge-alternatives/m/graceplot/PKG_ADD then reemerge octave and octave-forge. After this all must be good.
Hi MaratIK, Thanks for your hint! Using your recent patch and ebuild works perfectly. The source compiled smoothly. Cheers, Paul-Philippe (In reply to comment #27) > Hi, Paul-Philippe. > > Just remove all PKG_ADD: > > maratik@shmyaka ~ $ locate PKG_ADD > /usr/share/octave/2.1.73/m/plot/PKG_ADD > /usr/share/octave/2.1.73/m/miscellaneous/PKG_ADD > /usr/share/octave/2.1.73/site/m/octave-forge/comm/PKG_ADD > /usr/share/octave/2.1.73/site/m/octave-forge/fixed/PKG_ADD > /usr/share/octave/2.1.73/site/m/octave-forge/miscellaneous/PKG_ADD > /usr/share/octave/2.1.73/site/m/octave-forge/testfun/PKG_ADD > /usr/share/octave/2.1.73/site/m/octave-forge/sparse/PKG_ADD > /usr/share/octave/2.1.73/site/octave-forge-alternatives/m/graceplot/PKG_ADD > > then reemerge octave and octave-forge. After this all must be good. >
Excellent! I'll see that I test and merge the patch into portage cvs sometime today. Best, Markus
Hi all, I've committed octave-forge-2006.03.17-r1 to portage cvs which includes the patch for configure as well as the fixes to the ebuild. Many thanks to MaratIK for tracking down the problem and the patches and to all of you for testing. Have a nice weekend, Markus
*** Bug 193468 has been marked as a duplicate of this bug. ***
(In reply to comment #31) > *** Bug 193468 has been marked as a duplicate of this bug. *** > I also encountered this bug. Can 2006.03.17-r1 please be marked as stable? 2006.03.17 simply does not compile (and is marked as stable), where 2006.03.17-r1 does compile, and is still marked ~x86 for half a year already. I fear that it may be filed again if it is not _really_ resolved.