[MacPorts] #45003: Cannot install control package in Octave 3.8.1 on Mac OSX

MacPorts noreply at macports.org
Tue Sep 16 16:21:46 PDT 2014


#45003: Cannot install control package in Octave 3.8.1 on Mac OSX
----------------------------+------------------------------------
 Reporter:  MacPorts@…      |      Owner:  macports-tickets@…
     Type:  defect          |     Status:  new
 Priority:  Normal          |  Milestone:
Component:  ports           |    Version:  2.3.1
 Keywords:  octave control  |       Port:  octave, octave-control
----------------------------+------------------------------------
 After MacPorts upgraded octave to 3.8.1, octave could no longer load the
 .oct files that came with the control package. (There was no path problem,
 but dlopen() failed anyway, with "Reason: image not found", but the binary
 file was there, dated April 18, meaning it's the same one that used to
 work.)   I uninstalled octave* and rebuilt like this (as I usually do):
 {{{
 > uname -a
 Darwin mycomputer.local 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun 3
 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64
 > sudo port install -f octave +fltk +atlas +gcc48
 ...
 ---> No broken files found.
 > port list installed | grep octave
 octave @3.8.1 math/octave
 > octave
 ...
 octave:1> help tf
 error: help: the 'tf' function belongs to the control package from Octave
 Forge which
 seems to not be installed in your system.
 ...
 octave:1> pkg -forge install control
 /bin/sh: line 0: cd: sltmp: No such file or directory
 gfortran-mp-4.8: error: *.f: No such file or directory
 gfortran-mp-4.8: fatal error: no input files
 compilation terminated.
 ar: ./sltmp/*.o: No such file or directory
 make: *** [slicotlibrary.a] Error 1
 tar -xzf slicot.tar.gz
 mkdir sltmp
 mv slicot/src/*.f ./sltmp
 mv slicot/src_aux/*.f ./sltmp
 cp TG04BX.fortran ./sltmp/TG04BX.f
 cd sltmp; /opt/local/bin/mkoctfile-3.8.1 -c *.f
 ar -rc slicotlibrary.a ./sltmp/*.o
 pkg: error running `make' for the control package.
 error: called from 'configure_make' in file
 /opt/local/share/octave/3.8.1/m/pkg/private/configure_make.m near line 82,
 column 9
 error: called from:
 error: /opt/local/share/octave/3.8.1/m/pkg/private/install.m at line 199,
 column 5
 error: /opt/local/share/octave/3.8.1/m/pkg/pkg.m at line 394, column 9
 octave:1> exit
 > sudo port install octave-control
 ...
 ---> Activating octave-control @2.6.0_0
 ...
 ---> No broken files found.
 > octave
 octave:1> tf(1)
 error: tf: /opt/local/lib/octave/packages/control-2.6.0/x86_64-apple-
 darwin13.0.0-api-v48+/is_real_matrix.oct: failed to load:
 dlopen(/opt/local/lib/octave/packages/control-2.6.0/x86_64-apple-
 darwin13.0.0-api-v48+/is_real_matrix.oct, 2): Library not loaded:
 /opt/local/lib/octave/3.6.4/liboctinterp.1.dylib
 Referenced from: /opt/local/lib/octave/packages/control-2.6.0/x86_64
 -apple-darwin13.0.0-api-v48+/is_real_matrix.oct
 Reason: image not found
 error: called from:
 error: /opt/local/share/octave/packages/control-2.6.0/@tf/tf.m at line
 200, column 7
 octave:1> ls -l /opt/local/lib/octave/packages/control-2.6.0/x86_64-apple-
 darwin13.0.0-api-v48+/is_real_matrix.oct
 -rwxr-xr-x 1 root admin 30716 Nov 29 2013
 /opt/local/lib/octave/packages/control-2.6.0/x86_64-apple-
 darwin13.0.0-api-v48+/is_real_matrix.oct
 }}}

 I originally reported this to the GNU Octave bugtracker, and got this
 reply:
 ...
 "With either Octave 3.8.1 and 3.8.2 compiled manually on Mavericks I
 cannot reproduce your problem so this appears to be a MacPorts rather than
 an Octave problem:"
 {{{
 >> pkg install -forge control
 For information about changes from previous versions of the control
 package, run 'news control'.
 >> tf (1)

 Transfer function 'ans' from input 'u1' to output ...
 y1: 1
 Static gain.
 >> version
 ans = 3.8.1
 }}}
 "... If I have to guess, though, a possible cause could be mixing clang
 and gfortran which, according to my experience, never worked properly on
 OSX.   When building OSX binaries I use gcc for Octave and ALL its
 dependencies. In MacPorts you can do that by specifying the  gccXX variant
 when available or specifying the compiler explicitly."

-- 
Ticket URL: <https://trac.macports.org/ticket/45003>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list