bugGNU Octave - Bugs: bug #41520, Error installing control package...

 
 

bug #41520: Error installing control package in Octave 3.8.0 on MacOS Mavericks

Submitter:  None
Submitted:  Sun 09 Feb 2014 10:29:18 AM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Invalid / Not an Octave Bug Assigned to:  None
Originator Name:  Alex Sonea Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * 3.8.0
Operating System:  * Mac OS Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Sun 19 Jun 2016 09:06:37 PM UTC, comment #14: 

Sure, you should contact the macports or homebrew package maintainers, that kind of configuration is out of scope for this bug tracker.

Mike Miller <mtmiller>
Group Member
Sun 19 Jun 2016 07:14:32 PM UTC, comment #13: 

Ok, then how about making Octave depend explicitly on the minor release number of gcc.  Then 'port deps octave' prints 'Build Dependencies:   ... gcc5.3 ...'.  This in theory triggers an octave rebuild when the upgrade to gcc5.4 occurs.

Julius Smith <josgnu>
Sun 19 Jun 2016 05:51:29 PM UTC, comment #12: 

Octave and mkoctfile can only use the options and paths that they were built with. If you system's GCC installation says that the Fortran libs are in /opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.3.0 at the time that Octave was built, then that's what Octave will record and use for any future compilations.

On my Debian system, the path is reported by GCC as /usr/lib/gcc/x86_64-linux-gnu/5, so that any future GCC version 5 will use the same path and upgrades can happen without breaking anything. Perhaps you should configure your GCC installation the same way, or convince the package maintainers to do so.

Either way, still not something that Octave needs to fix.

Closing as invalid since you have reported that setting the right FLIBS path fixes the install, so no bug with either Octave or the control package.

Mike Miller <mtmiller>
Group Member
Sat 18 Jun 2016 08:30:02 PM UTC, comment #11: 

Trying again with a new guess for how to format code in "rich markup":

```
LDIR = /opt/local/lib/gcc5/gcc/x86_64-apple-darwin15
LIB = $(lastword $(sort $(wildcard $(LDIR)/5.*)))

all:
echo found $(LIB)
```

Julius Smith <josgnu>
Sat 18 Jun 2016 08:26:53 PM UTC, comment #10: 

My GNU Make example was meant to be the following:

LDIR = /opt/local/lib/gcc5/gcc/x86_64-apple-darwin15
LIB = $(lastword $(sort $(wildcard $(LDIR)/5.*)))

all:
echo found $(LIB)

Julius Smith <josgnu>
Sat 18 Jun 2016 08:17:28 PM UTC, comment #9: 

For me, mkoctfile, which was installed with Octave, specifies the wrong directory:

> mkoctfile -p FLIBS

-L/opt/local/lib -L/opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.3.0 -L/opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.3.0/../../.. -lgfortran -lquadmath -lm

I can work around this by setting $FLIBS as you suggest, or by making a symlink from 5.4.0 to 5.3.0, etc.  However, shouldn't mkoctfile and friends find the right directory?  Octave only formally depends on gcc5, so that should cover 5.*.*.  For example, GNU Make can do things like this:

# Makefile:
LDIR = /opt/local/lib/gcc5/gcc/x86_64-apple-darwin15
LIB = $(sort $(wildcard $(LDIR)/5.*))

all:
echo found $(LIB)

This does the right thing on my system, but since it uses lexical sort, it will fail on minor releases 10 and above.  (I don't find a "sort -n" in GNU Make.)

Julius Smith <josgnu>
Sat 18 Jun 2016 12:39:45 AM UTC, comment #8: 

Ok, can you set FLIBS or LFLAGS in the environment to use the right directory for your compiler? If libgfortran can't be found, that's a bug in your system environment, not in the control package. On my system, "mkoctfile -p FLIBS" shows the correct flags that are needed to compile something against libgfortran. If I had built Octave against gfortran 5.1 and then upgraded to gfortran 5.2 without rebuilding Octave, I might see the same error here.


>> more off
>> setenv ("FLIBS", "-L/some/path/to/gcc/platform/version -lgfortran");
>> pkg install -forge -verbose control


Mike Miller <mtmiller>
Group Member
Sat 18 Jun 2016 12:03:41 AM UTC, comment #7: 

Something is not quite there for me yet.  It looks like a nonworking -L option to the linker.  While /opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.3.0/ does not exist, /opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.4.0/ does.

<code>

> port installed | grep octave

  octave @4.0.2_0+accelerate+app+docs+fltk+gfortran+graphicsmagick+java+qt4gui+sound (active)

> port installed | grep fortran

  arpack @3.3.0_3+atlas+gfortran (active)
  octave @4.0.2_0+accelerate+app+docs+fltk+gfortran+graphicsmagick+java+qt4gui+sound (active)

> octave
>> pkg install -forge control

clang: warning: argument unused during compilation: '-pthread'
clang: warning: argument unused during compilation: '-pthread'
ld: warning: directory not found for option '-L/opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.3.0'
ld: warning: directory not found for option '-L/opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.3.0/../../..'
ld: library not found for -lgfortran
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: * [__control_slicot_functions__.oct] Error 1
tar -xzf slicot.tar.gz
/opt/local/bin/mkoctfile-4.0.2 _control_helper_functions_.cc
mkdir sltmp
mv slicot/src/*.f ./sltmp
mv slicot/src_aux/*.f ./sltmp
cp TG04BX.fortran ./sltmp/TG04BX.f
cp TB01ZD.fortran ./sltmp/TB01ZD.f
cd sltmp; /opt/local/bin/mkoctfile-4.0.2 -c *.f
ar -rc slicotlibrary.a ./sltmp/*.o
rm -rf sltmp slicot
LFLAGS="-L/opt/local/lib/octave/4.0.2 -L/opt/local/lib  -L/opt/local/lib -lvecLibFort -L/opt/local/lib -L/opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.3.0 -L/opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.3.0/../../.. -lgfortran -lquadmath -lm" \
    /opt/local/bin/mkoctfile-4.0.2 _control_slicot_functions_.cc common.cc slicotlibrary.a

pkg: error running `make' for the control package.
error: called from 'configure_make' in file /opt/local/share/octave/4.0.2/m/pkg/private/configure_make.m near line 96, column 9

>ls /opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.3.0

ls: /opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.3.0: No such file or directory

>ls /opt/local/lib/gcc5/gcc/x86_64-apple-darwin15/5.4.0

crt3.o crtprec80.o include libcaf_single.a libgfortranbegin.a
crtfastmath.o crttme.o include-fixed libgcc.a plugin
crtprec32.o crttms.o include-gnu-runtime libgcc_eh.a
crtprec64.o finclude install-tools libgcov.a

</code>

Julius Smith <josgnu>
Fri 17 Jun 2016 10:21:34 PM UTC, comment #6: 

This bug seems to have idled for quite a while. Can someone report whether the control package can be installed on current macOS systems with Octave 4.0.x?

Mike Miller <mtmiller>
Group Member
Thu 15 Jan 2015 01:32:33 AM UTC, comment #5: 

This is still failing - seems to be Fortran related:

> uname -a

Darwin me.local 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64

/Applications/Octave-cli.app/Contents/MacOS/Octave
octave:1> version
ans = 3.8.0

octave:2> pkg -verbose install -forge control
mkdir (/var/tmp/oct-Yjo6SQ)
untar (/Users/me/control-2.6.6.tar.gz, /var/tmp/oct-Yjo6SQ)
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
/bin/sh: line 0: cd: sltmp: No such file or directory
/usr/local/octave/3.8.0/bin/mkoctfile-3.8.0: line 456: 22066 Segmentation fault: 11  /usr/local/octave/3.8.0/bin/gfortran-mp-4.7 -c -fPIC -pipe -Os .f -o .o
make: * [slicotlibrary.a] Error 139

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

Julius Smith <josgnu>
Sun 22 Jun 2014 09:16:35 PM UTC, comment #4: 

I had a similar problem.

I updated my mac os to osx 10.93 and then updated octave to 3.8
None of the packages would install with a similar error message as yours.  Then I updated xcode and the command line tools to the latest version and the packages now install.

Hope that helps.

Dan

dan renzi <renzdog>
Wed 26 Feb 2014 08:38:29 AM UTC, comment #3: 

Had the same problem.  The following change to /usr/local/octave/3.8.0/bin/mkoctfile-3.8.0 got me going:

> diff mkoctfile-*

53c53,54
< DEFAULT_INCFLAGS="-I$OCTINCLUDEDIR/.. -I$OCTINCLUDEDIR"
---

> #DEFAULT_INCFLAGS="-I$OCTINCLUDEDIR/.. -I$OCTINCLUDEDIR"
> DEFAULT_INCFLAGS="-I$OCTINCLUDEDIR/.. -I$OCTINCLUDEDIR -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include"


Anonymous
Sun 16 Feb 2014 12:10:29 PM UTC, comment #2: 

Lukas,

Sorry for the late reply.

I have installed using the binary installer at Octave Forge as indicated in the Octave Wiki here:

http://wiki.octave.org/Octave_for_MacOS_X

Alex.

Anonymous
Wed 12 Feb 2014 06:13:01 AM UTC, comment #1: 

Hi Alex

How did you install Octave? Homebrew?
Have you tried installing other packages which contain oct-files, e.g. odepkg?

Lukas

Lukas Reichlin <paramaniac>
Sun 09 Feb 2014 10:29:18 AM UTC, original submission:  

Hello,

I've updated my Octave installation to 3.8.0 and I was looking forward to install the control package.

I'm using the command:

pkg install -forge control

The system starts downloading and building the package but after a while is stops with the following error:

octave:1> pkg install -forge control
In file included from /usr/local/octave/3.8.0/lib/gcc47/gcc/x86_64-apple-darwin13/4.7.3/include/stdint.h:3:0,
                 from /usr/local/octave/3.8.0/include/octave-3.8.0/octave/oct-conf-post.h:167,
                 from /usr/local/octave/3.8.0/include/octave-3.8.0/octave/config.h:3351,
                 from /usr/local/octave/3.8.0/include/octave-3.8.0/octave/../octave/oct.h:31,
                 from sl_ab08nd.cc:30,
                 from _control_slicot_functions_.cc:1:
/usr/local/octave/3.8.0/lib/gcc47/gcc/x86_64-apple-darwin13/4.7.3/include-fixed/stdint.h:27:32: fatal error: sys/_types/_int8_t.h: No such file or directory
compilation terminated.
make: * [__control_slicot_functions__.oct] 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
ar -rc slicotlibrary.a ./sltmp/*.o
rm -rf sltmp slicot
LFLAGS="-L/usr/local/octave/3.8.0/lib/octave/3.8.0 -L/usr/local/octave/3.8.0/lib -llapack -lgfortran -lcblas -lf77blas -latlas -L/usr/local/octave/3.8.0.mp/bin/../lib/gcc47/gcc/x86_64-apple-darwin13/4.7.3 -L/usr/local/octave/3.8.0.mp/bin/../lib/gcc47/gcc -L/usr/local/octave/3.8.0/lib -L/usr/local/octave/3.8.0.mp/bin/../lib/gcc47/gcc/x86_64-apple-darwin13/4.7.3/../../.. -lgfortran -lquadmath -lm" \
    /usr/local/octave/3.8.0/bin/mkoctfile-3.8.0 _control_slicot_functions_.cc common.cc slicotlibrary.a

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


Can you please let me know if there is any dependency that I am missing?

Thank you,

Alex.

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

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by josgnu (Posted a comment)
  • -email is unavailable- added by renzdog (Posted a comment)
  • -email is unavailable- added by paramaniac (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 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-07-01 mtmiller Dependencies- bugs #48366 is dependent
    2016-06-19 mtmiller StatusNeed Info Invalid / Not an Octave Bug
        Open/ClosedOpen Closed
    2016-06-17 mtmiller Item GroupInstallation Failure Build Failure
        StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code