[英]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.