Opened 10 years ago

Closed 10 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)

main.log (2.7 MB) - added by Andrew@… 10 years ago.
Log File
main.log.zip (119.4 KB) - added by Andrew@… 10 years ago.
Log File (zipped ;)
Portfile-octave.diff (530 bytes) - added by larryv (Lawrence Velázquez) 10 years ago.
adjust Texinfo dependency
main.log.2.zip (119.4 KB) - added by Andrew@… 10 years ago.
Log File to try +docs on custom Portfile
main.log.3.zip (9.1 KB) - added by Andrew@… 10 years ago.
Texinfo Deactivated

Change History (23)

Changed 10 years ago by Andrew@…

Attachment: main.log added

Log File

comment:1 Changed 10 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 InstallOctave @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 10 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 :)

Changed 10 years ago by Andrew@…

Attachment: main.log.zip added

Log File (zipped ;)

comment:3 Changed 10 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 10 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 10 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 Changed 10 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 10 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.)

comment:8 Changed 10 years ago by larryv (Lawrence Velázquez)

Cc: larryv@… added

Cc Me!

Changed 10 years ago by larryv (Lawrence Velázquez)

Attachment: Portfile-octave.diff added

adjust Texinfo dependency

comment:9 in reply to:  6 Changed 10 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 10 years ago by Andrew@…

Attachment: main.log.2.zip added

Log File to try +docs on custom Portfile

comment:10 Changed 10 years ago by Andrew@…

Hi Larry,

Tried that - didn't work.

But the re-activation did --- whew :)

comment:11 Changed 10 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:12 Changed 10 years ago by gnw3

Cc: gnwiii@… added

Cc Me!

comment:13 in reply to:  10 Changed 10 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

Changed 10 years ago by Andrew@…

Attachment: main.log.3.zip added

Texinfo Deactivated

comment:14 Changed 10 years ago by Andrew@…

Nope - A lot quicker this time - but failed.

comment:15 in reply to:  14 Changed 10 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 10 years ago by larryv (Lawrence Velázquez)

Cc: gtesei@… added

Has likely duplicate #41945.

comment:17 Changed 10 years ago by larryv (Lawrence Velázquez)

Cc: kilik52@… added
Summary: Octave @3.6.4_10: build failure with .texi filesOctave @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 in reply to:  17 Changed 10 years ago by larryv (Lawrence Velázquez)

Resolution: fixed
Status: newclosed

Replying to larryv@…:

I will try to fix this tonight.

Uh. So that didn’t happen. But it did tonight! Run port selfupdate in 30 minutes to receive the updated port.

r115856

Note: See TracTickets for help on using tickets.