[MacPorts] #49824: Cannot install octave-control due to missing symbols in slicot library
MacPorts
noreply at macports.org
Sun Dec 13 16:02:40 PST 2015
#49824: Cannot install octave-control due to missing symbols in slicot library
---------------------------------+----------------------------
Reporter: rolf.lochbuehler@… | Owner: mschamschula@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.3.4
Resolution: | Keywords:
Port: octave-control |
---------------------------------+----------------------------
Comment (by hraftery@…):
I found a workaround: the slicot source package can be manually patched to
replace the deprecated calls, and the octave-control will build just fine.
After a failed {{{sudo port install octave-control}} execute the
following:
{{{
$ cd `port dir octave-control`/work/
$ sudo rmdir control/install/
$ sudo rmdir control/
$ sudo -u macports tar zxvf .tmp/control.tar.gz
$ cd control/src
$ sudo -u macports tar zxvf slicot.tar.gz
$ sudo -u macports sed -i '.orig' 's/DGEGS/DGGES/g' slicot/src/SG03AD.f
slicot/src/SG03BD.f
$ sudo -u macports sed -i '.orig' 's/DLATZM/DORMRZ/g' slicot/src/AB08NX.f
slicot/src/AG08BY.f slicot/src/SB01BY.f slicot/src/SB01FY.f
$ sudo -u macports sed -i '.orig' '/tar -xzf slicot.tar.gz/d' Makefile
$ cd ../../..
$ sudo port install octave-control
}}}
I elected not to provide a patch file because un-tarring slicot makes for
a 17MB diff.
This is clearly just a workaround, as the non-deprecated versions are not
guaranteed to be backwards compatible. In fact, now that I've signed up to
download the latest slicot, I see that the call to DGEGS/DGGES now looks
like this:
{{{
IF ( LDWORK .LT. MINGG ) THEN
C
C Use DGEGS for backward compatibilty with LDWORK value.
C ( Workspace: >= MAX(1,4*N) )
C
CALL DGEGS( 'Vectors', 'Vectors', N, A, LDA, E, LDE, ALPHAR,
$ ALPHAI, BETA, Q, LDQ, Z, LDZ, DWORK, LDWORK,
$ INFO1 )
ELSE
C
C Use DGGES. The workspace is increased to avoid an error
C return, while it should not really be larger than above.
C ( Workspace: >= MAX(1,8*N+16) )
C
CALL DGGES( 'Vectors', 'Vectors', 'Not ordered', DELCTG, N,
$ A, LDA, E, LDE, I, ALPHAR, ALPHAI, BETA, Q, LDQ,
$ Z, LDZ, DWORK, LDWORK, BWORK, INFO1 )
END IF
}}}
I was not able to get octave-control to compile with this latest version
of slicot, so the workaround remains my best solution.
--
Ticket URL: <https://trac.macports.org/ticket/49824#comment:7>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list