[英]Invalid MEX-file due to undefined symbol 'start_time'
我正在嘗試運行從這里下載的復雜冰蓋建模軟件: ISSM
使用 automake 運行配置並正確編譯后,我收到以下錯誤。
無效的 MEX 文件“/home/cpmcgrat/Documents/Research/ISSM/issm/trunk/lib/TriMesh.mexa64”:/home/cpmcgrat/Documents/Research/ISSM/issm/trunk/lib/libISSMModules.so.0:未定義符號:start_time
三角形錯誤(第 40 行)[elements,x,y,segments,segmentmarkers]=TriMesh(domainname,riftname,area);
runme 中的錯誤(第 11 行) md=triangle(model,'./DomainOutline.exp',1000);
這是來自runme.m
的以下代碼片段:
disp(' Step 1: Mesh creation');
%Generate initial uniform mesh (resolution = 20000 m)
md=triangle(model,'./DomainOutline.exp',1000);
我的想法是,它所鏈接的triangle.a
庫是一個靜態文件,因此它應該是一個共享對象。 然而,即使更新三角庫是后triangle.so
我還收到了同樣的錯誤。 在這一點上,我完全沒有想法。 如果我缺少任何相關信息,請告訴我,我對 GNU autotools 還是比較陌生。
我嘗試使用以下輸出運行以下命令:
$ nm ./lib/libISSMModules.so.0 | grep '開始時間'
開始時間
運行ldd
命令返回以下未定義符號:
$ldd -r ./lib/libISSMModules.so.0
未定義符號:_ZN14ToolkitOptions14toolkitoptionsE (/home/cpmcgrat/Documents/Research/ISSM/issm/trunk/lib/libISSMCore.so.0) 未定義符號:_ZN8IssmComm4commE (/home/cpmcgrat/Documents/Research/ISSM/libsmE) libISSMCore.so.0) 未定義符號:_ZN8IssmComm8parallelE (/home/cpmcgrat/Documents/Research/ISSM/issm/trunk/lib/libISSMCore.so.0) 未定義符號:_Z9ApiPrintfPKc (/home/cpmcgrat/Documents/Research/ISSM issm/trunk/lib/libISSMCore.so.0) 未定義符號:start_time (./lib/libISSMModules.so.0) 未定義符號:input_time (./lib/libISSMModules.so.0) 未定義符號:Using_Main (./lib /libISSMModules.so.0) 未定義符號:接口 (./lib/libISSMModules.so.0) 未定義符號:read_params (./lib/libISSMModules.so.0) 未定義符號:smalloc_stats (./lib/libISSMModules.so. 0)
未定義的符號以U
或B
為前綴。
我的理解是U
表示符號未定義, B
表示符號位於未初始化的部分。 但是,我不確定如何解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.