在OpenModelica编译中找不到的符号

时间:2013-12-24 15:48:43

标签: clang osx-snow-leopard linker-errors openmodelica

我尝试在不使用端口的情况下在Mac OS X 10.8.5上编译OpenModelica的当前SVN中继线时遇到了障碍,而是使用fink提供的内容。

我已成功安装README.Linux.txt文件中提到的所有先决条件。 ./configure运行正常并生成有效的Makefile。但是,omc二进制文件的编译在此命令上失败:

gcc -I/sw/include -o omc *.o ../../Parser/libomparse_rml.a ../../Parser/libantlr3.a ../runtime/runtime.a -lModelicaExternalC -lOpenModelicaRuntimeC ../modpar/libmodpar.a -L/sw/lib -lm -L/usr/local/lib/plain -lrml  -L/usr/local/lib -lmico2.3.13   -lssl -lcrypto -ldl -lm  -lpthread -llpsolve55 -lcolamd  -L../../build/lib/omc -Wl,-rpath,'@loader_path/../lib/omc'  -lgc -lexpat -L/sw/lib  -lintl  -llapack -lblas -liconv -lgc -lpthread -lm -ldl -lstdc++ -lfmi -lOpenModelicaFMIRuntimeC -lstdc++

错误是

Undefined symbols for architecture x86_64:
 "_jmi_log_node", referenced from:
     _jmi_global_log in libModelicaExternalC.a(libModelicaExternalC_la-jmi_global.o)
     _jmi_assert_failed in libModelicaExternalC.a(libModelicaExternalC_la-jmi_global.o)
 "_rml_prim_equal", referenced from:
     _Absyn__expEqual_5flabel7060 in Absyn.o
     _Absyn__onlyLiteralsInExp_5fExitCall_5ftraverseExpFunctionArgs_5fSC271 in Absyn.o
     _ConnectionGraph__merge_5flabel4327 in ConnectionGraph.o
     _DAEUtil__addDaeFunction_5fExitCall_5fUtil_5f_5fgetOption_5fSC23 in DAEUtil.o
     _Expression__expEqualWork_5fNextCase_5fFC268 in Expression.o
     _Expression__expEqualWork_5fNextCase_5fFC267 in Expression.o
     _Expression__expEqualWork_5fNextCase_5fFC263 in Expression.o
     ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我试图在先决条件中找到这些符号,似乎rml_prim_equal应该由rmllib提供,但是我没有它。我找到了一个提供此函数here的文件,但我无法在openmodelica或mmc / rml的任何当前svn源中找到此文件。

我无法确定jmi_log_node应该来自哪里。

任何人都可以对这种情况有所了解吗?

1 个答案:

答案 0 :(得分:1)

在不使用RML的情况下进行编译,它可以正常工作(因为新的OSX版本破坏了旧代码,OSX只支持bootstrapping。)