[MacPorts] #26640: octave-devel @3.3.52 +gcc44: mkoctfile doesn't find BLAS and LAPACK

MacPorts noreply at macports.org
Tue Oct 12 22:32:30 PDT 2010


#26640: octave-devel @3.3.52 +gcc44: mkoctfile doesn't find BLAS and LAPACK
--------------------------------------+-------------------------------------
 Reporter:  lukas.reichlin@…          |       Owner:  macports-tickets@…                   
     Type:  defect                    |      Status:  new                                  
 Priority:  Normal                    |   Milestone:                                       
Component:  ports                     |     Version:  1.9.1                                
 Keywords:                            |        Port:  octave-devel                         
--------------------------------------+-------------------------------------
Changes (by macsforever2000@…):

  * keywords:  octave, blas, lapack, fortran =>


Old description:

> Hello,
>
> There is a problem with mkoctfile in octave-devel 3.3.52 when Fortran
> code requires BLAS and LAPACK: If I don't add the options
> "-Wl,-framework" "-Wl,vecLib"
> to each call of mkoctfile in Makefile [2], the control package [1] fails
> to build. However, adding these options would break package installation
> on non-macintosh platforms. This is not an option. Therefore, it looks
> like a modified Portfile or a patch to octave-devel is needed which
> includes "-Wl,-framework" "-Wl,vecLib" by default.
>
> BTW:[[BR]]
> * There are no problems building "control" when using MacPorts
> octave-3.2.4, neither PPC nor Intel.[[BR]]
> * Note that is possible to compile individual oct-files by
> src/makefile_*.m and they include the "-Wl,-framework" "-Wl,vecLib"
> option[[BR]]
> * The only thing that works for me without "-Wl,-framework" "-Wl,vecLib"
> with octave 3.3.52 is src/makefile_helpers.m, probably because those
> functions are pure C++.[[BR]]
> * inst/test_control.m executes all tests at once.
>
> Please let me know if you have any questions or comments.[[BR]]
> Best Regards,[[BR]]
> Lukas
>
> [1]
> http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-
> forge/main/control/
>
> [2]
> http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-
> forge/main/control/src/Makefile
>
> ## transmission zeros of state-space models[[BR]]
> mkoctfile slab08nd.cc \[[BR]]
>           AB08ND.f AB08NX.f TB01ID.f MB03OY.f MB03PY.f[[BR]]
>
> ## transmission zeros of state-space models[[BR]]
> mkoctfile "-Wl,-framework" "-Wl,vecLib" \[[BR]]
>           slab08nd.cc \[[BR]]
>           AB08ND.f AB08NX.f TB01ID.f MB03OY.f MB03PY.f[[BR]]
>

>
> running "pkg install control*" from octave results in errors like
>
> Undefined symbols:
>  "_dlaset_", referenced from:
>      _ab08nd_ in AB08ND.o
>      _ab08nd_ in AB08ND.o
>      _ab08nx_ in AB08NX.o
>      _ab08nx_ in AB08NX.o
>      _ab08nx_ in AB08NX.o
>      _ab08nx_ in AB08NX.o
>  "_dggev_", referenced from:
>      Fslab08nd(octave_value_list const&, int) in slab08nd.o
>  "_dlapmt_", referenced from:
>      _ab08nx_ in AB08NX.o
>  "_dlarfg_", referenced from:
>      _ab08nx_ in AB08NX.o
>      _mb03oy_ in MB03OY.o
>      _mb03py_ in MB03PY.o
>  "_dlatzm_", referenced from:
>      _ab08nx_ in AB08NX.o
>  "_dlacpy_", referenced from:
>      _ab08nd_ in AB08ND.o
>      _ab08nd_ in AB08ND.o
>      _ab08nd_ in AB08ND.o
>      _ab08nd_ in AB08ND.o
>      _ab08nd_ in AB08ND.o
>      _ab08nd_ in AB08ND.o
>  "_dtzrzf_", referenced from:
>      _ab08nd_ in AB08ND.o
>  "_dormqr_", referenced from:
>      _ab08nx_ in AB08NX.o
>  "_dormrq_", referenced from:
>      _ab08nx_ in AB08NX.o
>      _ab08nx_ in AB08NX.o
>  "_dlaic1_", referenced from:
>      _mb03oy_ in MB03OY.o
>      _mb03oy_ in MB03OY.o
>      _mb03py_ in MB03PY.o
>      _mb03py_ in MB03PY.o
>  "_dlamch_", referenced from:
>      _ab08nd_ in AB08ND.o
>      _tb01id_ in TB01ID.o
>      _tb01id_ in TB01ID.o
>  "_dormrz_", referenced from:
>      _ab08nd_ in AB08ND.o
>      _ab08nd_ in AB08ND.o
>  "_dlange_", referenced from:
>      _ab08nd_ in AB08ND.o
>  "_dlarf_", referenced from:
>      _mb03oy_ in MB03OY.o
>      _mb03py_ in MB03PY.o
>  "_ilaenv_", referenced from:
>      _ab08nd_ in AB08ND.o
>      _ab08nd_ in AB08ND.o
>      _ab08nx_ in AB08NX.o
>      _ab08nx_ in AB08NX.o
>      _ab08nx_ in AB08NX.o
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
> Undefined symbols:
>  "_dlartg_", referenced from:
>      _ag08by_ in AG08BY.o
>      _ag08by_ in AG08BY.o
>  "_dlaset_", referenced from:
>      _ag08bd_ in AG08BD.o
>      _ag08by_ in AG08BY.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>  "_dggev_", referenced from:
>      Fslag08bd(octave_value_list const&, int) in slag08bd.o
>  "_dlapmt_", referenced from:
>      _ag08by_ in AG08BY.o
>  "_dlarfg_", referenced from:
>      _ag08by_ in AG08BY.o
>      _mb03oy_ in MB03OY.o
>  "_dlatzm_", referenced from:
>      _ag08by_ in AG08BY.o
>  "_dlacpy_", referenced from:
>      _ag08bd_ in AG08BD.o
>      _ag08bd_ in AG08BD.o
>      _ag08bd_ in AG08BD.o
>      _ag08bd_ in AG08BD.o
>      _ag08bd_ in AG08BD.o
>      _ag08bd_ in AG08BD.o
>      _ag08bd_ in AG08BD.o
>      _ag08bd_ in AG08BD.o
>      _ag08bd_ in AG08BD.o
>  "_dtzrzf_", referenced from:
>      _ag08bd_ in AG08BD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>  "_dormqr_", referenced from:
>      _ag08by_ in AG08BY.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>  "_dlaic1_", referenced from:
>      _ag08by_ in AG08BY.o
>      _ag08by_ in AG08BY.o
>      _mb03oy_ in MB03OY.o
>      _mb03oy_ in MB03OY.o
>  "_dlamch_", referenced from:
>      _ag08bd_ in AG08BD.o
>      _ag08by_ in AG08BY.o
>      _tg01ad_ in TG01AD.o
>      _tg01fd_ in TG01FD.o
>  "_dormrz_", referenced from:
>      _ag08bd_ in AG08BD.o
>      _ag08bd_ in AG08BD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>  "_dlange_", referenced from:
>      _ag08bd_ in AG08BD.o
>      _ag08bd_ in AG08BD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>  "_dlarf_", referenced from:
>      _mb03oy_ in MB03OY.o
>  "_ilaenv_", referenced from:
>      _ag08bd_ in AG08BD.o
>      _ag08bd_ in AG08BD.o
>      _ag08by_ in AG08BY.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
>      _tg01fd_ in TG01FD.o
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
>
> Package Download Link:
> http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-
> forge/main/control/?view=tar
>
> You can get my package from [1] by clicking the "Download GNU tarball"
> link. Rename the file from octave-control.tar.gz to control.tar.gz and
> install it inside octave by[[BR]]
> cd <location of the package>[[BR]]
> pkg install control*[[BR]]
> If installation succeeds, try "pkg list" and "test_control". Please be
> patient, the installation may take several minutes. There's no output
> during a (successful) installation, just wait until the next octave:#>
> prompt shows up.
>
> Sorry for the bad formatting!

New description:

 Hello,

 There is a problem with mkoctfile in octave-devel 3.3.52 when Fortran code
 requires BLAS and LAPACK: If I don't add the options
 "-Wl,-framework" "-Wl,vecLib"
 to each call of mkoctfile in Makefile [2], the control package [1] fails
 to build. However, adding these options would break package installation
 on non-macintosh platforms. This is not an option. Therefore, it looks
 like a modified Portfile or a patch to octave-devel is needed which
 includes "-Wl,-framework" "-Wl,vecLib" by default.

 BTW:[[BR]]
  * There are no problems building "control" when using MacPorts
 octave-3.2.4, neither PPC nor Intel.[[BR]]
  * Note that is possible to compile individual oct-files by
 src/makefile_*.m and they include the "-Wl,-framework" "-Wl,vecLib"
 option[[BR]]
  * The only thing that works for me without "-Wl,-framework" "-Wl,vecLib"
 with octave 3.3.52 is src/makefile_helpers.m, probably because those
 functions are pure C++.[[BR]]
  * inst/test_control.m executes all tests at once.

 Please let me know if you have any questions or comments.[[BR]]
 Best Regards,[[BR]]
 Lukas

 [1]
 http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-
 forge/main/control/

 [2]
 http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-
 forge/main/control/src/Makefile

 {{{
 ## transmission zeros of state-space models[[BR]]
 mkoctfile slab08nd.cc \[[BR]]
           AB08ND.f AB08NX.f TB01ID.f MB03OY.f MB03PY.f[[BR]]

 ## transmission zeros of state-space models[[BR]]
 mkoctfile "-Wl,-framework" "-Wl,vecLib" \[[BR]]
           slab08nd.cc \[[BR]]
           AB08ND.f AB08NX.f TB01ID.f MB03OY.f MB03PY.f[[BR]]
 }}}


 running "pkg install control*" from octave results in errors like

 {{{
 Undefined symbols:
  "_dlaset_", referenced from:
      _ab08nd_ in AB08ND.o
      _ab08nd_ in AB08ND.o
      _ab08nx_ in AB08NX.o
      _ab08nx_ in AB08NX.o
      _ab08nx_ in AB08NX.o
      _ab08nx_ in AB08NX.o
  "_dggev_", referenced from:
      Fslab08nd(octave_value_list const&, int) in slab08nd.o
  "_dlapmt_", referenced from:
      _ab08nx_ in AB08NX.o
  "_dlarfg_", referenced from:
      _ab08nx_ in AB08NX.o
      _mb03oy_ in MB03OY.o
      _mb03py_ in MB03PY.o
  "_dlatzm_", referenced from:
      _ab08nx_ in AB08NX.o
  "_dlacpy_", referenced from:
      _ab08nd_ in AB08ND.o
      _ab08nd_ in AB08ND.o
      _ab08nd_ in AB08ND.o
      _ab08nd_ in AB08ND.o
      _ab08nd_ in AB08ND.o
      _ab08nd_ in AB08ND.o
  "_dtzrzf_", referenced from:
      _ab08nd_ in AB08ND.o
  "_dormqr_", referenced from:
      _ab08nx_ in AB08NX.o
  "_dormrq_", referenced from:
      _ab08nx_ in AB08NX.o
      _ab08nx_ in AB08NX.o
  "_dlaic1_", referenced from:
      _mb03oy_ in MB03OY.o
      _mb03oy_ in MB03OY.o
      _mb03py_ in MB03PY.o
      _mb03py_ in MB03PY.o
  "_dlamch_", referenced from:
      _ab08nd_ in AB08ND.o
      _tb01id_ in TB01ID.o
      _tb01id_ in TB01ID.o
  "_dormrz_", referenced from:
      _ab08nd_ in AB08ND.o
      _ab08nd_ in AB08ND.o
  "_dlange_", referenced from:
      _ab08nd_ in AB08ND.o
  "_dlarf_", referenced from:
      _mb03oy_ in MB03OY.o
      _mb03py_ in MB03PY.o
  "_ilaenv_", referenced from:
      _ab08nd_ in AB08ND.o
      _ab08nd_ in AB08ND.o
      _ab08nx_ in AB08NX.o
      _ab08nx_ in AB08NX.o
      _ab08nx_ in AB08NX.o
 ld: symbol(s) not found
 collect2: ld returned 1 exit status
 Undefined symbols:
  "_dlartg_", referenced from:
      _ag08by_ in AG08BY.o
      _ag08by_ in AG08BY.o
  "_dlaset_", referenced from:
      _ag08bd_ in AG08BD.o
      _ag08by_ in AG08BY.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
  "_dggev_", referenced from:
      Fslag08bd(octave_value_list const&, int) in slag08bd.o
  "_dlapmt_", referenced from:
      _ag08by_ in AG08BY.o
  "_dlarfg_", referenced from:
      _ag08by_ in AG08BY.o
      _mb03oy_ in MB03OY.o
  "_dlatzm_", referenced from:
      _ag08by_ in AG08BY.o
  "_dlacpy_", referenced from:
      _ag08bd_ in AG08BD.o
      _ag08bd_ in AG08BD.o
      _ag08bd_ in AG08BD.o
      _ag08bd_ in AG08BD.o
      _ag08bd_ in AG08BD.o
      _ag08bd_ in AG08BD.o
      _ag08bd_ in AG08BD.o
      _ag08bd_ in AG08BD.o
      _ag08bd_ in AG08BD.o
  "_dtzrzf_", referenced from:
      _ag08bd_ in AG08BD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
  "_dormqr_", referenced from:
      _ag08by_ in AG08BY.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
  "_dlaic1_", referenced from:
      _ag08by_ in AG08BY.o
      _ag08by_ in AG08BY.o
      _mb03oy_ in MB03OY.o
      _mb03oy_ in MB03OY.o
  "_dlamch_", referenced from:
      _ag08bd_ in AG08BD.o
      _ag08by_ in AG08BY.o
      _tg01ad_ in TG01AD.o
      _tg01fd_ in TG01FD.o
  "_dormrz_", referenced from:
      _ag08bd_ in AG08BD.o
      _ag08bd_ in AG08BD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
  "_dlange_", referenced from:
      _ag08bd_ in AG08BD.o
      _ag08bd_ in AG08BD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
  "_dlarf_", referenced from:
      _mb03oy_ in MB03OY.o
  "_ilaenv_", referenced from:
      _ag08bd_ in AG08BD.o
      _ag08bd_ in AG08BD.o
      _ag08by_ in AG08BY.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
      _tg01fd_ in TG01FD.o
 ld: symbol(s) not found
 collect2: ld returned 1 exit status
 }}}

 Package Download Link:
 http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-
 forge/main/control/?view=tar

 You can get my package from [1] by clicking the "Download GNU tarball"
 link. Rename the file from octave-control.tar.gz to control.tar.gz and
 install it inside octave by[[BR]]
 cd <location of the package>[[BR]]
 pkg install control*[[BR]]
 If installation succeeds, try "pkg list" and "test_control". Please be
 patient, the installation may take several minutes. There's no output
 during a (successful) installation, just wait until the next octave:#>
 prompt shows up.

 Sorry for the bad formatting!

--

-- 
Ticket URL: <https://trac.macports.org/ticket/26640#comment:1>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list