[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