#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