bugGNU Octave - Bugs: bug #43228, Cannot install control package in...

 
 

bug #43228: Cannot install control package in Octave 3.8.1 on Mac OSX

Submitter:  None
Submitted:  Mon 15 Sep 2014 11:38:59 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  None
Status:  Works For Me Assigned to:  cdf
Originator Name:  Julius Smith Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * 3.8.1
Operating System:  * Mac OS Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Wed 17 Sep 2014 07:40:04 PM UTC, comment #6: 

This discussion is now moved to https://trac.macports.org/ticket/45003

The "pkg -forge install control" is presumably fixed (Makefile bug in the octave-forge control package).  The dlopen() failure is not fixed, and appears to be caused by the MacPorts octave-control package referring to the wrong version of liboctinterp.dylib,  Presumably the problem is in the MacPorts octave-control portfile.

Anonymous
Wed 17 Sep 2014 09:05:43 AM UTC, comment #5: 

With the 3.8.0 binary I still cannot reproduce your issue.
So this still seems to be a local configuration problem on your side and this discussion will stay closed.

If you need assistance in installing the control package please move the topic to the help mailing list:

-email is unavailable-


Carlo de Falco <cdf>
Group Member
Wed 17 Sep 2014 03:41:37 AM UTC, comment #4: 

I downloaded the source and configure completed after installing gfortran.  However, the octave build failed with five basic looking C++ errors, looking like a bad choice of compiler was being used.  My next move was to download the 10.9 binary installer from http://wiki.octave.org/Octave_for_MacOS_X#Binary_installer_for_OSX_10.9.1 and try  that.  Octave-cli runs, but it also cannot install the control package:


octave:1> pkg -forge install control
/bin/sh: line 0: cd: sltmp: No such file or directory
gfortran-mp-4.7: error: *.f: No such file or directory
gfortran-mp-4.7: fatal error: no input files
compilation terminated.
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; /usr/local/octave/3.8.0/bin/mkoctfile-3.8.0 -c *.f

pkg: error running `make' for the control package.
error: called from 'configure_make' in file /usr/local/octave/3.8.0/share/octave/3.8.0/m/pkg/private/configure_make.m near line 82, column 9
error: called from:
error:   /usr/local/octave/3.8.0/share/octave/3.8.0/m/pkg/private/install.m at line 199, column 5
error:   /usr/local/octave/3.8.0/share/octave/3.8.0/m/pkg/pkg.m at line 394, column 9
octave:1>


I guess that means the problem is on the octave-forge side.

Anonymous
Tue 16 Sep 2014 10:48:57 PM UTC, comment #3: 

Thanks for the info!  I tried building Octave from source, but the configure step failed with "configure: error: your Fortran compiler must have an option to make integers the same size as octave_idx_type (int).  See the file INSTALL for more information."  There was no Fortran-related info in INSTALL.  If you have a pointer to Mac OS build-from-source instructions, please share.  I will report the MacPorts problems.

Anonymous
Tue 16 Sep 2014 08:37:58 AM UTC, comment #2: 

Hi,

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:

+vebatim+

>> 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
-vebatim-

I suggest you report this issue on the MacPorts tracker for further investigation.

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 explicitaely.


Carlo de Falco <cdf>
Group Member
Mon 15 Sep 2014 11:51:10 PM UTC, comment #1: 

I noticed the two different versions of the control package, deleted the older one, and repeated the final experiment, obtaining the same results:

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

Anonymous
Mon 15 Sep 2014 11:38:59 PM UTC, original submission:  

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.4.1/x86_64-apple-darwin12.3.0-api-v48+/is_real_matrix.oct: failed to load: dlopen(/opt/local/lib/octave/packages/control-2.4.1/x86_64-apple-darwin12.3.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.4.1/x86_64-apple-darwin12.3.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

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by cdf (Posted a comment)
  • -email is unavailable- added by None (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2014-09-16 cdf StatusNone Works For Me
        Assigned toNone cdf
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code