Thu 27 Oct 2016 09:46:19 PM UTC, comment #15:
Yeah I think the right fix is to install macros.texi with --disable-docs (I think that was discussed before), since --disable-docs is supposed to be limited to "I don't have TeX installed".
The reason for the failure to install packages is not limited to each package, it is because pkg calls doc_cache_create when any package is installed. If that package has texinfo doc strings, then Octave's doc_cache_create function requires macros.texi to function. If that functions fails, pkg treats it as a fatal error and the package is not installed.
|
Thu 27 Oct 2016 09:41:31 PM UTC, comment #14:
It is a valid option, but one that is normally only used if there is some reason that documentation can't be built.
If OF packages can't be built if Octave is is built with --disable-docs, then maybe the bug is really in the Octave Forge packages. Shouldn't it be possible to build them if Octave is lacking documentation?
And yes, it should be possible to include macros.texi even if --disable-docs is used. Would someone like to prepare a patch? It should be fairly easy.
|
Thu 27 Oct 2016 09:05:39 PM UTC, comment #13:
As "--enable-docs=no" is a valid configure option, but its current side effect of not being able to build & install OF packages is surely unintended, I wonder why this is labeled as "Feature request" instead of e.g., "build failure" or "installation feature" or "incorrect result".
|
Thu 27 Oct 2016 02:45:43 PM UTC, comment #12:
Also found this bug, used workaround in #10 in 4.0.3
|
Sun 26 Jun 2016 09:04:20 PM UTC, comment #11:
Found this bug report as I got bitten by the same issue.
Q:
Isn't it possible to unconditionally include macros.texi in builds regardless of --disable-docs? AFAICS it is required by the help system and it isn't quite in the way.
|
Sun 28 Feb 2016 08:44:13 PM UTC, comment #10:
A trivial workaround for those affected by this bug is either to run octave with the --texi-macros-file pointing to any existing file, e.g.
or to set the path to the file within Octave
or to create an empty file at the built-in path that Octave is expecting to find as suggested in the previous comment.
|
Tue 19 Jan 2016 02:44:34 PM UTC, comment #9:
I've done a bit more experimentation, and I found that creating an empty "macros.texi" file at the path specified in the error causes "pkg install" to finish.
In addition, the reason "odeset" was failing was not because "macros.texi" wasn't available but because that function is simply not available in the version of Octave I am running. I had noticed that "odeset" was added to core Octave, but not yet in the "stable" branch.
|
Tue 19 Jan 2016 01:04:12 PM UTC, comment #8:
I also wanted to point out that in addition to "pkg install" failing, it appears that the "odeset" command is failing as well.
octave:1> options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);
error: unable to open /usr/local/share/octave/4.0.1-rc1/etc/macros.texi for reading
error: called from
_makeinfo_ at line 103 column 5
_unimplemented_ at line 520 column 9
I am running a version of Octave built directly from VCS sources on the "stable" branch (r 21090) and configured with the following options: --disable-docs --disable-readline --disable-gui.
Are there any workarounds for building Octave from VCS without building the TeX docs but still having "pkg install" and "odeset" work?
|
Mon 26 Oct 2015 06:27:38 PM UTC, comment #7:
A doc useflag does not fix this problem for me, and unmasking and upgrading from 3.8.2 to 4.0.0 does not fix.
I'm using Gentoo, too; they have a possibly related bug https://bugs.gentoo.org/show_bug.cgi?id=529628
and forum post
https://forums.gentoo.org/viewtopic-t-997832-highlight-octave.html
(I think Max Miller's "disable-docs" is a typo for "enable-docs"; having the flag disabled does not work for me either).
Added the line
>=sci-mathematics/octave-4.0.0 doc
to /etc/portage/package.use
(see https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/USE#Declaring_USE_flags_for_individual_packages)
Then ran
> emerge --update --newuse --deep --with-bdeps=y @world
at the command-line prompt.
Check it worked:
> eix --installed-with-use doc
[I] sci-mathematics/octave
Available versions: 3.6.4(0/3.6.4) (~)3.6.4-r1(0/3.6.4) (~)3.8.1(0/3.8.1) (~)3.8.1-r1(0/3.8.1) 3.8.2(0/3.8.2) (~)4.0.0(0/4.0.0) {X curl doc fftw +glpk gnuplot gui hdf5 +imagemagick java jit opengl postscript +qhull +qrupdate readline +sparse static-libs zlib ELIBC="FreeBSD"}
Installed versions: 4.0.0(05:48:02 PM 10/26/2015)(X curl doc glpk imagemagick java opengl qhull qrupdate readline sparse zlib -fftw -gnuplot -gui -hdf5 -jit -postscript -static-libs ELIBC="-FreeBSD")
Homepage: http://www.octave.org/
Description: High-level interactive language for numerical computations
So the flag is there, but the files are not...
Starting the program:
> octave
warning: docstring file '/usr/share/octave/4.0.0/etc/built-in-docstrings' not found
GNU Octave, version 4.0.0
Copyright (C) 2015 John W. Eaton and others....
Trying to install a package:
octave:2> pkg install -forge general
unable to open /usr/share/octave/4.0.0/etc/macros.texi for reading
error: called from '__makeinfo__' in file /usr/share/octave/4.0.0/m/help/__makeinfo__.m near line 103, column 5
At the Octave prompt, help:
help pkg
warning: load_path: /home/hazel/octave/general-2.0.0: No such file or directory
error: unable to open /usr/share/octave/4.0.0/etc/macros.texi for reading
error: called from
_makeinfo_ at line 103 column 5
help at line 102 column 22
Back in the system shell,
> ls /usr/share/octave/4.0.0/etc/macros.texi
ls: cannot access /usr/share/octave/4.0.0/etc/macros.texi: No such file or directory
> octave --force-gui
also brings up the command-line interface, not sure that this is related.
Is this something obvious I'm missing? I can't see a way to make it work. Thanks for any help.
|
Sun 25 Oct 2015 04:08:08 PM UTC, comment #6:
This is a bug, not a feature request; it breaks important existing functionalities (installing Octave packages and reading Octave documentation).
I also agree with Bob McKay that the severity ("wish") seems a bit low.
Could someone please post an explicit workaround? Running
EXTRA_ECONF="--enable-docs" emerge octave
did not work for me.
Finally, on May 29, 2015, Octave 4.0.0 was released. It's not stable in Gentoo yet, though.
|
Tue 21 Oct 2014 11:07:13 AM UTC, comment #5:
Confirmed the reported error in "pkg install" and the result that no package is installed when Octave is built without --disable-docs.
|
Sat 26 Jul 2014 06:37:16 PM UTC, comment #4:
"IOW, --disable-docs doesn't save you any build steps, it just prevents files that are already built from being installed."
Please forgive me if I am misunderstanding. I'm not really clear whether this is a source code or a packaging issue. But it seems to be not really about the presence or absence of the doc files, but the presence or absence of a compatible texinfo in the installing system. It's causing problems in a number of downstream systems (just google "texinfo octave"); specifically, it is currently breaking octave in macports.
The problem seems to be that if texinfo is absent or an incompatible version, the install defaults to --disable-docs, (which then fails as Patric describes). If this is the intended behaviour, it needs to work (i.e. if --disable-docs is to be an option, then it should succeed in building octave without docs, and specifically without texinfo calls - and in particular, _makeinfo_.m shouldn't be called in the build). This looks to be non-trivial to fix. But if it's not the intended behaviour - if --disable-docs builds are intended to fail with an error message - then octave has a hard dependency on texinfo, rather than the soft one that is currently described.
Because it's breaking a number of downstream builds, perhaps it needs to be characterised as an installation problem rather than a feature request, with severity rather higher than 'wish'.
|
Fri 16 May 2014 11:48:36 PM UTC, comment #3:
Confirmed the reported error in "pkg install" and the result that no package is installed when Octave is built without --disable-docs.
|
Wed 14 May 2014 04:03:21 PM UTC, comment #2:
It should primarily be possible to install a package although --disable-docs was passed to configure. Instead of failing, you could give the user a notification like "Will not build the package's texinfo pages since octave was build with documentation disabled." or something.
|
Wed 14 May 2014 01:04:13 PM UTC, comment #1:
Thanks for your bug report. I have not tested to confirm, but this seems likely.
Note that if you are building Octave from an official source release, you do not need to --disable-docs or --enable-docs, the docs are already built and available in the source package. IOW, --disable-docs doesn't save you any build steps, it just prevents files that are already built from being installed. This may be an oversight in gentoo's packaging.
What is the expected behavior, do you want the package to be installed but without documentation support? Or a better error message? Just trying to clarify what you are asking to be fixed.
|
Wed 14 May 2014 10:01:15 AM UTC, original submission:
pkg install seems to require a texinfo file which is only installed when --enable-docs is given to configure.
output:
octave:1> pkg install -forge general
unable to open /usr/share/octave/3.8.1/etc/macros.texi for reading
error: called from '__makeinfo__' in file /usr/share/octave/3.8.1/m/help/__makeinfo__.m near line 103,
error: called from:
error: /usr/share/octave/3.8.1/m/pkg/private/install.m at line 240, column 5
error: /usr/share/octave/3.8.1/m/pkg/pkg.m at line 394, column 9
after rebuilding octave with --enable-docs (enabling the doc useflag on gentoo) it works as expected:
octave:1> pkg install -forge general
For information about changes from previous versions of the general package, run 'news general'.
octave:2>
|