On 12/7/2011 5:13 PM, Lukas Reichlin wrote:
Hi all,
I've just posted control-2.2.3 (SVN Revision 9303) in the package forum [1].
Please upload it to the server. The changes are listed in the NEWS file [2].
The notice for
http://octave.sourceforge.net/
December 7, 2011
control-2.2.3 released
Best regards
Lukas
Lukas,
due to changes on mkoctfile way of working on octave-3.5.91+
(not more linking against all the development libraries )
the package does not correctly build on cygwin due to
undefined symbols with LAPACK, BLAS and FORTRAN
----------------------------------------------------------------
$ make
mkoctfile slab08nd.cc \
AB08ND.f AB08NX.f TB01ID.f MB03OY.f MB03PY.f
g++-4: unrecognized option '-no-undefined'
AB08ND.o:AB08ND.f:(.text+0x4d): undefined reference to `_lsame_'
AB08ND.o:AB08ND.f:(.text+0x87): undefined reference to `_lsame_'
-----------------------------------------------------------------
the attached patch solve the issue on cygwin and I presume
also on the other platforms that do not accept "Undefined symbols"
at link time.
Tests on mingw and Mac OS X are needed.
Regards
Marco
--- control_old/src/Makefile 2011-11-25 21:08:56.000000000 +0100
+++ control/src/Makefile 2011-12-28 08:53:03.975568400 +0100
@@ -1,5 +1,9 @@
OCTAVE ?= octave
+LAPACK_LIBS != mkoctfile -p LAPACK_LIBS
+BLAS_LIBS != mkoctfile -p BLAS_LIBS
+FLIBS != mkoctfile -p FLIBS
+
all: slab08nd.oct slab13dd.oct slsb10hd.oct slsb10ed.oct slab13bd.oct \
slsb01bd.oct slsb10fd.oct slsb10dd.oct slsb03md.oct slsb04md.oct \
slsb04qd.oct slsg03ad.oct slsb02od.oct slab13ad.oct slab01od.oct \
@@ -21,7 +25,8 @@
# transmission zeros of state-space models
slab08nd.oct: slab08nd.cc
mkoctfile slab08nd.cc \
- AB08ND.f AB08NX.f TB01ID.f MB03OY.f MB03PY.f
+ AB08ND.f AB08NX.f TB01ID.f MB03OY.f MB03PY.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# L-infinity norm
slab13dd.oct: slab13dd.cc
@@ -31,7 +36,8 @@
MB03XP.f MB04DD.f MB04QB.f MB04TB.f MB03XU.f \
MB04TS.f UE01MD.f MB02RD.f MB02SD.f MB04QC.f \
MB04QF.f MB03YA.f MB03YD.f MB02RZ.f MB04QU.f \
- MB02SZ.f MB03YT.f
+ MB02SZ.f MB03YT.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS} ${FLIBS}
# H-2 controller synthesis - continuous-time
slsb10hd.oct: slsb10hd.cc
@@ -41,7 +47,8 @@
MB01SD.f SB02MS.f SB02MV.f SB02MW.f MA02AD.f \
SB02QD.f MB02PD.f SB03QX.f SB03QY.f MB01RX.f \
MB01RY.f SB03SX.f SB03SY.f select.f SB03MX.f \
- SB03MY.f MB01UD.f SB03MV.f SB03MW.f SB04PX.f
+ SB03MY.f MB01UD.f SB03MV.f SB03MW.f SB04PX.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# H-2 controller synthesis - discrete-time
slsb10ed.oct: slsb10ed.cc
@@ -50,7 +57,8 @@
SB02SD.f SB02OD.f MB01RU.f SB02OU.f SB02OV.f \
SB02OW.f MB01RY.f SB02OY.f SB03SX.f SB03SY.f \
MA02ED.f select.f SB03MX.f SB02MR.f SB02MV.f \
- MB01UD.f SB03MV.f SB04PX.f
+ MB01UD.f SB03MV.f SB04PX.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# H-2 norm
slab13bd.oct: slab13bd.cc
@@ -58,13 +66,15 @@
AB13BD.f SB08DD.f SB03OU.f SB01FY.f TB01LD.f \
SB03OT.f MB04ND.f MB04OD.f MB03QX.f select.f \
SB03OR.f MB04OX.f MB03QD.f SB03OY.f MA02AD.f \
- MB03QY.f SB04PX.f MB04NY.f MB04OY.f SB03OV.f
+ MB03QY.f SB04PX.f MB04NY.f MB04OY.f SB03OV.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# Pole assignment
slsb01bd.oct: slsb01bd.cc
mkoctfile slsb01bd.cc \
SB01BD.f MB03QD.f MB03QY.f SB01BX.f SB01BY.f \
- select.f
+ select.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# H-inf controller synthesis - continuous-time
slsb10fd.oct: slsb10fd.cc
@@ -74,7 +84,8 @@
SB02RU.f SB02MR.f MB01SD.f SB02MS.f SB02MV.f \
SB02MW.f SB02QD.f MB02PD.f SB03QX.f SB03QY.f \
MB01RY.f SB03SX.f SB03SY.f select.f SB03MX.f \
- SB03MY.f MB01UD.f SB03MV.f SB03MW.f SB04PX.f
+ SB03MY.f MB01UD.f SB03MV.f SB03MW.f SB04PX.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# H-inf controller synthesis - discrete-time
slsb10dd.oct: slsb10dd.cc
@@ -83,35 +94,41 @@
MA02AD.f SB02OU.f SB02OV.f SB02OW.f MB01RY.f \
SB02OY.f SB03SX.f SB03SY.f MA02ED.f select.f \
SB03MX.f SB02MR.f SB02MV.f MB01UD.f SB03MV.f \
- SB04PX.f
+ SB04PX.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# Lyapunov equations
slsb03md.oct: slsb03md.cc
mkoctfile slsb03md.cc \
SB03MD.f select.f SB03MX.f SB03MY.f MB01RD.f \
- SB03MV.f SB03MW.f SB04PX.f
+ SB03MV.f SB03MW.f SB04PX.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# Sylvester equations - continuous-time
slsb04md.oct: slsb04md.cc
mkoctfile slsb04md.cc \
- SB04MD.f SB04MU.f SB04MY.f SB04MR.f SB04MW.f
+ SB04MD.f SB04MU.f SB04MY.f SB04MR.f SB04MW.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# Sylvester equations - discrete-time
slsb04qd.oct: slsb04qd.cc
mkoctfile slsb04qd.cc \
- SB04QD.f SB04QU.f SB04QY.f SB04MW.f SB04QR.f
+ SB04QD.f SB04QU.f SB04QY.f SB04MW.f SB04QR.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# generalized Lyapunov equations
slsg03ad.oct: slsg03ad.cc
mkoctfile slsg03ad.cc \
SG03AD.f MB01RW.f MB01RD.f SG03AX.f SG03AY.f \
- MB02UU.f MB02UV.f
+ MB02UU.f MB02UV.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# algebraic Riccati equations
slsb02od.oct: slsb02od.cc
mkoctfile slsb02od.cc \
SB02OD.f SB02OU.f SB02OV.f SB02OW.f SB02OY.f \
- SB02MR.f SB02MV.f
+ SB02MR.f SB02MV.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# Hankel singular values
slab13ad.oct: slab13ad.cc
@@ -120,74 +137,87 @@
MB03UD.f TB01LD.f SB03OU.f MB03QX.f select.f \
SB03OT.f MB03QD.f MB04ND.f MB04OD.f MB03QY.f \
SB03OR.f SB03OY.f SB04PX.f MB04NY.f MB04OY.f \
- SB03OV.f
+ SB03OV.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# staircase form using orthogonal transformations
slab01od.oct: slab01od.cc
mkoctfile slab01od.cc \
- AB01OD.f AB01ND.f MB03OY.f MB01PD.f MB01QD.f
+ AB01OD.f AB01ND.f MB03OY.f MB01PD.f MB01QD.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# minimal realization of state-space models
sltb01pd.oct: sltb01pd.cc
mkoctfile sltb01pd.cc \
TB01PD.f TB01XD.f TB01ID.f AB07MD.f TB01UD.f \
- MB03OY.f MB01PD.f MB01QD.f
+ MB03OY.f MB01PD.f MB01QD.f \
+ $(LAPACK_LIBS) $(BLAS_LIBS)
# Cholesky factor of Lyapunov equations
slsb03od.oct: slsb03od.cc
mkoctfile slsb03od.cc \
SB03OD.f select.f SB03OU.f SB03OT.f MB04ND.f \
MB04OD.f SB03OR.f SB03OY.f SB04PX.f MB04NY.f \
- MB04OY.f SB03OV.f
+ MB04OY.f SB03OV.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# Cholesky factor of generalized Lyapunov equations
slsg03bd.oct: slsg03bd.cc
mkoctfile slsg03bd.cc \
SG03BD.f SG03BV.f SG03BU.f SG03BW.f SG03BX.f \
- SG03BY.f MB02UU.f MB02UV.f
+ SG03BY.f MB02UU.f MB02UV.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# transmission zeros of descriptor state-space models
slag08bd.oct: slag08bd.cc
mkoctfile slag08bd.cc \
AG08BD.f AG08BY.f TG01AD.f TB01XD.f MA02CD.f \
- TG01FD.f MA02BD.f MB03OY.f
+ TG01FD.f MA02BD.f MB03OY.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# minimal realization of descriptor state-space models
sltg01jd.oct: sltg01jd.cc
mkoctfile sltg01jd.cc \
- TG01JD.f TG01AD.f TB01XD.f MA02CD.f TG01HX.f
+ TG01JD.f TG01AD.f TB01XD.f MA02CD.f TG01HX.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# controllability staircase form of descriptor state-space models
sltg01hd.oct: sltg01hd.cc
mkoctfile sltg01hd.cc \
- TG01HD.f TG01HX.f
+ TG01HD.f TG01HX.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# observability staircase form of descriptor state-space models
sltg01id.oct: sltg01id.cc
mkoctfile sltg01id.cc \
TG01ID.f TB01XD.f MA02CD.f AB07MD.f TG01HX.f \
- MA02BD.f
+ MA02BD.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# solution of algebraic Riccati equations for descriptor systems
slsg02ad.oct: slsg02ad.cc
mkoctfile slsg02ad.cc \
SG02AD.f SB02OU.f SB02OV.f SB02OW.f SB02OY.f \
- MB01SD.f MB02VD.f MB02PD.f MA02GD.f
+ MB01SD.f MB02VD.f MB02PD.f MA02GD.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# gain of descriptor state-space models
sltg04bx.oct: sltg04bx.cc
mkoctfile sltg04bx.cc \
- TG04BX.f MB02RD.f MB02SD.f
+ TG04BX.f MB02RD.f MB02SD.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# scaling of state-space models
sltb01id.oct: sltb01id.cc
mkoctfile sltb01id.cc \
- TB01ID.f
+ TB01ID.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# scaling of descriptor state-space models
sltg01ad.oct: sltg01ad.cc
mkoctfile sltg01ad.cc \
- TG01AD.f
+ TG01AD.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# H-infinity loop shaping - continuous-time
slsb10id.oct: slsb10id.cc
@@ -197,43 +227,50 @@
MB01RU.f SB02QD.f SB02MV.f SB02MW.f SB02MR.f \
MA02AD.f MB02PD.f MB01SD.f MB01UD.f SB03SY.f \
MB01RX.f SB03MX.f SB03SX.f MB01RY.f SB03QY.f \
- SB03QX.f SB03MY.f SB04PX.f SB03MV.f SB03MW.f
+ SB03QX.f SB03MY.f SB04PX.f SB03MV.f SB03MW.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# H-infinity loop shaping - discrete-time - strictly proper case
slsb10kd.oct: slsb10kd.cc
mkoctfile slsb10kd.cc \
SB10KD.f SB02OD.f select.f SB02OY.f SB02OW.f \
- SB02OV.f SB02MV.f SB02OU.f SB02MR.f
+ SB02OV.f SB02MV.f SB02OU.f SB02MR.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# H-infinity loop shaping - discrete-time - proper case
slsb10zd.oct: slsb10zd.cc
mkoctfile slsb10zd.cc \
SB10ZD.f MA02AD.f SB02OD.f select.f MB01RX.f \
MB02VD.f SB02OY.f SB02OW.f SB02OV.f SB02OU.f \
- SB02MR.f MA02GD.f SB02MV.f
+ SB02MR.f MA02GD.f SB02MV.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# State-space to transfer function conversion
sltb04bd.oct: sltb04bd.cc
mkoctfile sltb04bd.cc \
TB04BD.f MC01PY.f TB01ID.f TB01ZD.f MC01PD.f \
TB04BX.f MA02AD.f MB02RD.f MB01PD.f MB02SD.f \
- MB01QD.f
+ MB01QD.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# bilinear transformation
slab04md.oct: slab04md.cc
mkoctfile slab04md.cc \
- AB04MD.f
+ AB04MD.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# descriptor to regular state-space conversion
slsb10jd.oct: slsb10jd.cc
mkoctfile slsb10jd.cc \
- SB10JD.f
+ SB10JD.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# transfer function to state-space conversion
sltd04ad.oct: sltd04ad.cc
mkoctfile sltd04ad.cc \
TD04AD.f TD03AY.f TB01PD.f TB01XD.f AB07MD.f \
- TB01UD.f TB01ID.f MB01PD.f MB03OY.f MB01QD.f
+ TB01UD.f TB01ID.f MB01PD.f MB03OY.f MB01QD.f \
+ ${LAPACK_LIBS} ${BLAS_LIBS}
# helpers
is_real_scalar.oct: is_real_scalar.cc
------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Octave-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/octave-dev