我尝试在不使用端口的情况下在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应该来自哪里。
任何人都可以对这种情况有所了解吗?
答案 0 :(得分:1)
在不使用RML的情况下进行编译,它可以正常工作(因为新的OSX版本破坏了旧代码,OSX只支持bootstrapping。)