Opened 11 years ago

Closed 11 years ago

#41969 closed defect (fixed)

Octave 3.6.4 fails to upgrade or install

Reported by: other@… Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: onurdomanic@…, michaelbartz@…
Port: octave

Description

OS X 10.8.5 Xcode 4.6.3

I am having trouble doing upgrade for Octave. I reported this on the user mailing list originally on December 18, 2013. See

http://thread.gmane.org/gmane.os.apple.macports.user/33710/focus=33711

I have followed the instructions given there by MIchael Dickens. Specifically, I have done this:

$ sudo port clean octave
$ sudo port selfupdate
$ sudo port install octave +gcc48+atlas+docs+fltk

The last few lines of the Termial output is now similar to what it was as I reported on the list except that now, only config.log is referenced whereas before main.log was also referenced. Here are the last few lines of signficant output:

--->  Configuring octave
Error: Failed to configure octave, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/work/octave-3.6.4/config.log
Error: org.macports.configure for port octave returned: configure failure: command execution failed

When trying to run the defective Octave installation, the following results:

dyld: Library not loaded: /opt/local/lib/libhdf5.7.dylib
  Referenced from: /opt/local/bin/octave
  Reason: image not found
Trace/BPT trap: 5

I have attached the referenced config.log and all of the Terminal.app output that was generated by the $ sudo port install octave +gcc48+atlas+docs+fltk command.

Jerry

Attachments (2)

config file and Terminal output.zip (65.0 KB) - added by other@… 11 years ago.
config file and Terminal output made during attempt to install
Terminal Saved Output.txt (18.3 KB) - added by other@… 11 years ago.
Terminal output showing successful installation of Octave 3.6.4

Download all attachments as: .zip

Change History (11)

Changed 11 years ago by other@…

config file and Terminal output made during attempt to install

comment:1 Changed 11 years ago by mf2k (Frank Schima)

Cc: michaelld@… openmaintainer@… removed
Keywords: Octave removed
Owner: changed from macports-tickets@… to michaelld@…

It is not useful to Cc openmaintainer.

comment:2 in reply to:  description Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to other@…:

I am having trouble doing upgrade for Octave. I reported this on the user mailing list originally on December 18, 2013. See

http://thread.gmane.org/gmane.os.apple.macports.user/33710/focus=33711

I have followed the instructions given there by MIchael Dickens. Specifically, I have done this:

$ sudo port clean octave
$ sudo port selfupdate
$ sudo port install octave +gcc48+atlas+docs+fltk

The last few lines of the Termial output is now similar to what it was as I reported on the list except that now, only config.log is referenced whereas before main.log was also referenced.

MacPorts should always mention the existence of the main.log file if a port failed to install, but there is a MacPorts base bug (mentioned as part of #37093) that prevents this from happening sometimes when dependencies get automatically installed first.

Here are the last few lines of signficant output:

--->  Configuring octave
Error: Failed to configure octave, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/work/octave-3.6.4/config.log
Error: org.macports.configure for port octave returned: configure failure: command execution failed

A relevant line in the config.log appears to be:

./configure: line 3724: /opt/local/bin/gfortran-mp-4.8: No such file or directory

Does that file actually exist? If not, is the gcc48 port installed? If not, install the gcc48 port, then clean octave and try again. octave should have declared a build dependency on the gcc48 port in its gcc48 variant but doesn't appear to be doing so; this is a bug in the octave port.

When trying to run the defective Octave installation, the following results:

dyld: Library not loaded: /opt/local/lib/libhdf5.7.dylib
  Referenced from: /opt/local/bin/octave
  Reason: image not found
Trace/BPT trap: 5

This is your currently-installed octave, not the one you're trying and failing to install now. It's apparently broken because of a missing libhdf5 library. The hdf5-18 port used to provide libhdf5.7.dylib but now provides libhdf5.8.dylib, therefore all ports using libhdf5, such as octave, must be rebuilt. Which is what you're trying to do.

Changed 11 years ago by other@…

Attachment: Terminal Saved Output.txt added

Terminal output showing successful installation of Octave 3.6.4

comment:3 Changed 11 years ago by other@…

Replying to ryandesign@…:

Replying to other@…:

I am having trouble doing upgrade for Octave. I reported this on the user mailing list originally on December 18, 2013. See

http://thread.gmane.org/gmane.os.apple.macports.user/33710/focus=33711

I have followed the instructions given there by MIchael Dickens. Specifically, I have done this:

$ sudo port clean octave
$ sudo port selfupdate
$ sudo port install octave +gcc48+atlas+docs+fltk

The last few lines of the Termial output is now similar to what it was as I reported on the list except that now, only config.log is referenced whereas before main.log was also referenced.

MacPorts should always mention the existence of the main.log file if a port failed to install, but there is a MacPorts base bug (mentioned as part of #37093) that prevents this from happening sometimes when dependencies get automatically installed first.

Here are the last few lines of signficant output:

--->  Configuring octave
Error: Failed to configure octave, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/work/octave-3.6.4/config.log
Error: org.macports.configure for port octave returned: configure failure: command execution failed

A relevant line in the config.log appears to be:

./configure: line 3724: /opt/local/bin/gfortran-mp-4.8: No such file or directory

Does that file actually exist?

No.

If not, is the gcc48 port installed?

No.

If not, install the gcc48 port, then clean octave and try again. octave should have declared a build dependency on the gcc48 port in its gcc48 variant but doesn't appear to be doing so; this is a bug in the octave port.

I installed gcc48 which caused the above file to appear (but with a creation date of October 31, 2013) and the following ports to be attempted to be rebuilt:

     py27-pil @1.1.7 
     py27-h5py @2.1.0 
     py27-matplotlib @1.2.0 +tkinter
     py27-scipy @0.11.0 +gcc45
     qt4-mac @4.8.4 
     leptonica @1.69 
     tesseract @3.01 
     graphviz @2.34.0 +pangocairo+x11
     dvipng @1.14 
     gdk-pixbuf2 @2.30.1 +x11
     gtk2 @2.24.22 +x11
     openmotif @2.3.4 
     octave-devel @3.6.3 +atlas+gcc45
     wxWidgets @2.8.12 

which choked at

octave-devel @3.6.3 +atlas+gcc45

complaining

Error: Requested variants "+atlas+gcc45" do not match original selection "+atlas+docs+fltk+gcc48".

which is apparently referring to the variants that I had previously used. So I did port clean octave and then sudo port install octave +atlas+docs+fltk+gcc48 which caused a bit more rebuilding and then an apparent failure at

Error: wxWidgets-2.8 cannot be built on Moc OS X >= 10.7 with Xcode >= 4.4, please use port wxWidgets-3.0 or wxgtk-2.8 instead

However, I already have that version of wxWidgets installed,

$ port installed wxwidgets
The following ports are currently installed:
  wxWidgets @2.8.12_0
  wxWidgets @2.8.12_1 (active)

so, dunno about that one.

However, Octave 3.6.4 now runs again.

I'll attach the Terminal output for your viewing pleasure.

When trying to run the defective Octave installation, the following results:

dyld: Library not loaded: /opt/local/lib/libhdf5.7.dylib
  Referenced from: /opt/local/bin/octave
  Reason: image not found
Trace/BPT trap: 5

This is your currently-installed octave, not the one you're trying and failing to install now. It's apparently broken because of a missing libhdf5 library. The hdf5-18 port used to provide libhdf5.7.dylib but now provides libhdf5.8.dylib, therefore all ports using libhdf5, such as octave, must be rebuilt. Which is what you're trying to do.

comment:4 Changed 11 years ago by onurdomanic@…

Cc: onurdomanic@… added

Cc Me!

comment:5 Changed 11 years ago by michaelbartz@…

Cc: michaelbartz@… added

Cc Me!

comment:6 Changed 11 years ago by michaelld (Michael Dickens)

I just pushed r116266, which will hopefully take care of at least part of this issue, maybe all of it. Please do:

sudo port clean octave
sudo port selfupdate

and then try installing octave (if not already installed) or updating octave (if already installed).

comment:7 Changed 11 years ago by michaelld (Michael Dickens)

Ping! Any word on if this is still an issue? Have you tried Xcode 5.0, 5.0.1, or 5.1?

comment:8 in reply to:  7 Changed 11 years ago by other@…

Replying to michaelld@…:

Ping! Any word on if this is still an issue? Have you tried Xcode 5.0, 5.0.1, or 5.1?

Hi, and thanks for the patch.

I did as you suggested,

sudo port clean octave
sudo port selfupdate
port update octave

and Octave seems to have been installed, at least from an Octave session I can compute 2+2 and make a plot using Gnuplot and Aquaterm. However, as before, one of the dependencies looks like it had problems—wxWidgets. The error reported is the same as before:

Error: wxWidgets-2.8 cannot be built on Moc OS X >= 10.7 with Xcode >= 4.4, please use port wxWidgets-3.0 or wxgtk-2.8 instead

(I have OS X 10.8.5 and Xcode 4.6.3.)

and some diagnostics including this:

Error rebuilding wxWidgets
    while executing
"error "Error rebuilding $portname""
    (procedure "revupgrade_scanandrebuild" line 382)
    invoked from within
"revupgrade_scanandrebuild broken_port_counts $opts"
    (procedure "macports::revupgrade" line 5)
    invoked from within
"macports::revupgrade $opts"
    (procedure "action_revupgrade" line 2)
    invoked from within
"action_revupgrade $action $portlist $opts"
    (procedure "action_upgrade" line 25)
    invoked from within
"$action_proc $action $portlist [array get global_options]"
    (procedure "process_cmd" line 93)
    invoked from within
"process_cmd $remaining_args"
    invoked from within
"if { [llength $remaining_args] > 0 } {

    # If there are remaining arguments, process those as a command
    set exit_status [process_cmd $remaining..."
    (file "/opt/local/bin/port" line 4857)

And, also as before, I get

port installed wxwidgets
$The following ports are currently installed:
  wxWidgets @2.8.12_0
  wxWidgets @2.8.12_1 (active)

I don't know why Octave needs wxWidgets or what is going on here but maybe this should be another ticket.

Jerry

comment:9 Changed 11 years ago by michaelld (Michael Dickens)

Resolution: fixed
Status: newclosed

The wxWidgets dependency comes via gnuplot. If you do "port info gnuplot", you'll see that the +wxwidgets is selected by default. You can always "install gnuplot -wxwidgets" to get rid of that dependnecy. Or, you can install (as I do) wxWidgets-3.0 to make it happy. None of this should effect octave directly, just when plotting and using gnuplot. If you use fltk or some other plotting means, this wx stuff should not even be an issue. That said, it's generally better to take care of these sorts of issues rather than leaving them lingering.

Thanks for your feedback. I'm going to go ahead and close this ticket since it's been fixed. If you have other octave related issues different than this one, or you want more help on the wx issue, please open a new ticket with that specific relevant information.

Note: See TracTickets for help on using tickets.