Opened 11 years ago
Closed 11 years ago
#41857 closed defect (fixed)
Octave @3.6.4_10+docs: docs fail to build with Texinfo 5 active
Reported by: | Andrew@… | Owned by: | michaelld (Michael Dickens) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.1 |
Keywords: | Cc: | larryv (Lawrence Velázquez), gnw3, gtesei@…, kilik52@… | |
Port: | octave |
Description
Hi,
I have a completely fresh MacPorts install I've tried:
sudo port clean octave sudo port selfupdate sudo port upgrade outdated sudo port install octave +docs use_parallel_build=no
I already have gotten atlas installed I get the following warning
WARNING: Dependency 'arpack' is installed with the +accelerate variant, using Apple's Vector Libraries which have known bugs that can cause Octave to crash if using certain functions in arpack. The +atlas variant does not have these issues with Octave, and is considered by Octave developers a better way to go
So, I tried adding +atlas (which I had in before anyway) and the same warning occurs The error message on the screen is:
---> Building octave Error: org.macports.build for port octave returned: command execution failed Please see the log file for port octave for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/main.log To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets Error: Processing of port octave failed
Log file attached/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/main.log
Attachments (5)
Change History (23)
Changed 11 years ago by Andrew@…
comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | me removed |
---|---|
Keywords: | octave 3.6.4_10 build failure mavericks removed |
Owner: | changed from macports-tickets@… to michaelld@… |
Summary: | Octave @3.6.4_10 Build Failure under Mavericks - Fresh Macports Install → Octave @3.6.4_10: build failure with .texi files |
Some kind of texinfo problem? The last lines of the log deal with .texi files. The texinfo port was updated to 5.2 last week; maybe that's a problem for octave.
comment:2 Changed 11 years ago by michaelld (Michael Dickens)
1) I recommend you install arpack with +atlas:
sudo port -f uninstall `port installed | grep arpack | sed -e 's@(active)@@g'` sudo port install arpack +atlas +gcc48
As the warning says, using +accelerate can lead to computational issues in octave.
2) Have you tried updating, cleaning, and so forth?
sudo port clean octave sudo port selfupdate sudo port install octave +gcc48 +docs +atlas
Maybe those will help. If not, please compress the log file before uploading it next time :)
comment:3 Changed 11 years ago by Andrew@…
I'm now not getting the warning about arpack
Not really sure how to go back a version with texinfo - I looked at https://trac.macports.org/wiki/howto/InstallingOlderPort and downloaded the Portfile for the version before 5.2 - and tried
sudo port install
but I got an error
Error: Unable to execute port: Could not open file: /Volumes/Macintosh HD/Users/snelsona/Downloads/Portfile
Wasn't sure how to invoke the other commands to try to get a different version (as I'm a bit of a newbie to Macports)
comment:4 Changed 11 years ago by michaelld (Michael Dickens)
ok; so arpack is good now. The issue with octave is the same as before, something to do with the way .texi files are being handled:
[snip] :info:build octave.texi:132: warning: @end should only appear at a line beginning :info:build ./strings.texi:1139: @itemx must follow @item [snip] :info:build make[3]: *** [octave.info] Error 1 :info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/work/octave-3.6.4/doc/interpreter'
Building octave works on my 10.8 setup; I'll try it on my 10.9 boot hopefully later today. You're running on 10.9, so I'm guessing it's specific to that OSX version.
A key difference in the log file between mine and yours is that yours is trying to rebuild the .texi documentation, while mine is not. I have the latest MacPorts installed and updated, so, again probably a difference in the OSX version.
If you don't think you need documentation, you can always do:
sudo port clean octave sudo port install octave -docs +atlas +gcc48
and maybe that will succeed.
comment:5 Changed 11 years ago by michaelld (Michael Dickens)
Installing "octave -docs +atlas +gcc48" worked for me on my 10.9 drive. I'll try with +docs hopefully tomorrow on that drive to see if I get the same error as you.
comment:6 follow-up: 9 Changed 11 years ago by Andrew@…
Thanks Michael,
sudo port clean octave sudo port install octave -docs +atlas +gcc48
worked!!!
Unfortunately, I'm going to need the docs (I'm doing an online course on Machine Learning). If I try to install the docs will that break it? If not, what should I try.
Thanks for your help.
comment:7 Changed 11 years ago by larryv (Lawrence Velázquez)
The problem is that I updated texinfo
to 5.2 in r114639. Texinfo 5 is a lot stricter than Texinfo 4, and the docs in our current Octave release are just too sloppy for 5. The incompatibilities seem to have been fixed in development, so we could patch the docs.
Alternatively, we could change the port:texinfo
dependency to bin:makeinfo:texinfo
, as OS X 10.8 and 10.9 already provide parts of Texinfo 4.8. (I don’t know about earlier versions, so we might have to patch the docs anyway, but at least this would fix +docs
builds on recent systems.)
Changed 11 years ago by larryv (Lawrence Velázquez)
Attachment: | Portfile-octave.diff added |
---|
adjust Texinfo dependency
comment:9 Changed 11 years ago by larryv (Lawrence Velázquez)
Andrew, can you try running the following?
% sudo port deactivate octave % curl 'https://trac.macports.org/raw-attachment/ticket/41857/Portfile-octave.diff' | sudo patch $(port file octave) % sudo port install octave +docs +atlas +gcc48
(The deactivate step is to make sure your presently-functional installation can be restored easily with sudo port activate octave
.)
Changed 11 years ago by Andrew@…
Attachment: | main.log.2.zip added |
---|
Log File to try +docs on custom Portfile
comment:10 follow-up: 13 Changed 11 years ago by Andrew@…
Hi Larry,
Tried that - didn't work.
But the re-activation did --- whew :)
comment:11 Changed 11 years ago by gnw3
Your log seems to be using macports makeinfo. If you deactivate texinfo you should see a log entry like:
:debug:main Found Dependency: path: /usr/bin filename: makeinfo regex: ^makeinfo$
At least for Snow Leopard, however, the system texinfo is too old, so the log has entries:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_www.\ macports.org_files_ports_math_octave/octave/work/\ octave-3.6.4/doc/interpreter//matrix.texi:1297: Unknown command `leq' :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_www.\ macports.org_files_ports_math_octave/octave/work/\ octave-3.6.4/doc/interpreter//matrix.texi:1297: Misplaced {.
comment:13 Changed 11 years ago by larryv (Lawrence Velázquez)
Apologies. gnwiii is correct; you need to also deactivate texinfo.
% sudo port deactivate octave texinfo % sudo port install octave +docs +atlas +gcc48
comment:14 follow-up: 15 Changed 11 years ago by Andrew@…
Nope - A lot quicker this time - but failed.
comment:15 Changed 11 years ago by gnw3
Replying to Andrew@…:
Nope - A lot quicker this time - but failed.
Can you verify that you see the messages indicating that the system makeinfo is being used and that the errors are the same as comment #11? If so then Apple's texinfo is too old and macports's too new. Here is the key data you need:
$ /opt/local/bin/kpsewhich texinfo.tex /opt/local/share/texmf/tex/texinfo/texinfo.tex $ /opt/local/bin/kpsewhich -expand-var \$TEXMF {/Users/gwhite/.texlive2013/texmf-config,/Users/gwhite/.texlive2013/texmf-var,/Users/gwhite/Library/texmf,!!/opt/local/etc/texmf,!!/opt/local/var/db/texmf,!!/opt/local/share/texmf-local,!!/opt/local/share/texmf,!!/opt/local/share/texmf-texlive}
On my system, "locate texinfo.tex | wc -l" finds 28 copies of "texinfo.tex", but only 10 versions:
$ awk -v FS='\\' '/\\def\\texinfoversion/{print $NF}' $(locate texinfo.tex) | sort -u texinfoversion{2006-10-04.17} texinfoversion{2008-04-18.10} texinfoversion{2009-01-18.17} texinfoversion{2009-05-16.16} texinfoversion{2009-08-14.15} texinfoversion{2009-11-15.11} texinfoversion{2012-01-03.09} texinfoversion{2013-02-01.11} texinfoversion{2013-09-10.16} texinfoversion{2013-09-11.11}
Many programs avoid problems by including the version that works with their docs. There are more copies on the web. I assume octave can't easily provide "texinfo.tex" because documentation isn't all in one place.
Try putting yet another "texinfo.tex" version in "~/Library/texmf/tex/texinfo" and using macport's makeinfo. I used "/opt/local/share/automake-1.14/texinfo.tex". After you copy the other version you can verify that it is found using "/opt/local/bin/kpsewhich" and run the build step (here I'm using the original Portfile to force use of macports' texinfo):
$ mkdir -p ~/Library/texmf/tex/texinfo $ cp -p /opt/local/share/automake-1.14/texinfo.tex ~/Library/texmf/tex/texinfo $ /opt/local/bin/kpsewhich texinfo.tex /Users/gwhite/Library/texmf/tex/texinfo/texinfo.tex $ sudo port build octave +atlas+docs+fltk+gcc48+x11 $ sudo port install octave +atlas+docs+fltk+gcc48+x11 $ rm ~/Library/texmf/tex/texinfo/texinfo.tex
comment:16 Changed 11 years ago by larryv (Lawrence Velázquez)
Cc: | gtesei@… added |
---|
Has likely duplicate #41945.
comment:17 follow-up: 18 Changed 11 years ago by larryv (Lawrence Velázquez)
Cc: | kilik52@… added |
---|---|
Summary: | Octave @3.6.4_10: build failure with .texi files → Octave @3.6.4_10+docs: docs fail to build with Texinfo 5 active |
Has duplicate #42022.
I will try to fix this tonight.
comment:18 Changed 11 years ago by larryv (Lawrence Velázquez)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Log File