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

 
 

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

Submitted by:  None
Submitted on:  Sun 09 Feb 2014 10:29:18 AM UTC  
 
Category: Octave Forge PackageSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Build Failure
Status: InvalidAssigned to: None
Originator Name: Alex SoneaOriginator Email: -unavailable-
Open/Closed: ClosedRelease: 3.8.0
Operating System: Mac OS

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission 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>
Project Administrator
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>
Project Administrator
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.

Mike Miller <mtmiller>
Project Administrator
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>
Project Administrator
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 File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -unavailable- added by mtmiller (Posted a comment)
  • -unavailable- added by josgnu (Posted a comment)
  • -unavailable- added by renzdog (Posted a comment)
  • -unavailable- added by paramaniac (Posted a comment)
  • -unavailable- added by None (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 01 Jul 2016 03:26:23 PM UTCmtmillerDependencies-=>bugs #48366 is dependent
    Sun 19 Jun 2016 05:51:29 PM UTCmtmillerStatusNeed Info=>Invalid
      Open/ClosedOpen=>Closed
    Fri 17 Jun 2016 10:21:34 PM UTCmtmillerItem GroupInstallation Failure=>Build Failure
      StatusNone=>Need Info

    Back to the top


    Powered by Savane 3.1-cleanup