Domanda

Sto cercando di eseguire un programma originariamente testato su Matlab 6.5 su una nuova release (R2009a) Il programma utilizza alcuni file mex, e ottengo il seguente errore quando si tenta di eseguirlo:

??? Non valido MEX-file '/normalizedCut/common_files/sparsifyc.mexglx': normalizedCut / common_files / sparsifyc.mexglx: simbolo mxGetIr, versione Non libmx.INTERNAL definito nel file di libmx.so con riferimento temporale di collegamento.

(il codice che sto cercando di tun è tagliato normalizzato da Shi e malico, e può essere trovato qui: http://www.cis.upenn.edu/~jshi/software /files/NcutClustering_7.zip )

Se provo a eseguire il codice sullo stesso sistema, ma Matlab 2007a Corre ok.

C'è qualche problema con la compatibilità per il 2009a? Ci sono delle bandiere qualche parte nel sistema posso cambiare per contribuire a farlo funzionare?

Quando ho concentrandoci che ho visto alcuni riferimenti alla variabile ENV LD_LIBRARY_PATH, ma cosa debba essere aggiunto ad esso non riuscivo a trovare fuori.

Grazie, Yair

È stato utile?

Soluzione

Il codice sorgente di quelle funzioni mex sembra essere disponibile nella sezione "Immagine di segmentazione con tagli normalizzati" fonte in questa pagina: http://www.cis.upenn.edu/~jshi/software/ (nella sottodirectory specific_NcutImage_files nel .zip decompresso)

Altri suggerimenti

E 'abbastanza comune che ci siano problemi in esecuzione funzioni mex con diverse versioni di Matlab. Gli errori che si stanno ottenendo sguardo come se fossero a causa di cambiamenti di API in Matlab (anche se questo mi sorprende un po '). Ho avuto più problemi a causa di incompatibilità binarie indotte da variazioni di gcc. Io suggerirei di contattare Jiambo e chiedendogli se può costruire una nuova versione o rilasciare il sorgente.

Nel peggiore dei casi, si potrebbe provare nuovamente l'attuazione di tali funzioni mex. L'algoritmo di taglio normalizzato è piuttosto semplice in Matlab (vedi la Shi e Malik carta ). Con i nomi delle funzioni mex, sembrano come se fossero in gran parte duplicare le funzionalità esistenti MATLAB (moltiplicazione di matrici, matrici sparsification). C'è un non-zero possibilità che loro se si ri-implementato come funzioni regolari M-code che sarebbero stati più veloci in ogni caso grazie al supporto multicore che è stato aggiunto a Matlab.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top