id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,port 45003,Cannot install control package in Octave 3.8.1 on Mac OSX,MacPorts@…,michaelld,"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."" ",defect,closed,Normal,,ports,2.3.1,worksforme,,,octave octave-control