Linker 编译z3时发生ld链接错误

Linker 编译z3时发生ld链接错误,linker,ld,z3,Linker,Ld,Z3,我在编译z3时遇到了以下错误。这似乎是ld的一个错误。我想知道我能做些什么来编译它。这是git中opt分支的问题。我使用的是iMac操作系统X 10.9.2(13C1021) 我使用的是xcode版本5.1.1(5B1008),xcode选择工具安装到版本2333。我使用安装了ld的2.2.1版本的端口。 这个问题似乎是一个相互关联的问题。我使用的链接加载程序为:ld64@136_2+llvm33(活动) 我的gcc是gcc(MacPorts gcc48 4.8.20)4.8.2 多谢各位 g+

我在编译z3时遇到了以下错误。这似乎是ld的一个错误。我想知道我能做些什么来编译它。这是git中opt分支的问题。我使用的是iMac操作系统X 10.9.2(13C1021) 我使用的是xcode版本5.1.1(5B1008),xcode选择工具安装到版本2333。我使用安装了ld的2.2.1版本的端口。 这个问题似乎是一个相互关联的问题。我使用的链接加载程序为:ld64@136_2+llvm33(活动) 我的gcc是gcc(MacPorts gcc48 4.8.20)4.8.2

多谢各位

g++ -o z3  shell/datalog_frontend.o shell/dimacs_frontend.o 
 shell/gparams_register_modules.o shell/install_tactic.o shell/main.o     
shell/mem_initializer.o shell/smtlib_frontend.o shell/z3_log_frontend.o api/api.a opt/opt.a parsers/smt/smtparser.a tactic/portfolio/portfolio.a tactic/ufbv/ufbv_tactic.a tactic/smtlogics/smtlogic_tactics.a muz/fp/fp.a muz/duality/duality_intf.a muz/bmc/bmc.a muz/tab/tab.a muz/clp/clp.a muz/pdr/pdr.a muz/rel/rel.a muz/transforms/transforms.a muz/base/muz.a duality/duality.a qe/qe.a tactic/sls/sls_tactic.a smt/tactic/smt_tactic.a tactic/fpa/fpa.a tactic/bv/bv_tactics.a smt/user_plugin/user_plugin.a smt/smt.a smt/proto_model/proto_model.a smt/params/smt_params.a ast/rewriter/bit_blaster/bit_blaster.a ast/pattern/pattern.a ast/macros/macros.a ast/simplifier/simplifier.a ast/proof_checker/proof_checker.a parsers/smt2/smt2parser.a cmd_context/extra_cmds/extra_cmds.a cmd_context/cmd_context.a interp/interp.a solver/solver.a tactic/aig/aig_tactic.a math/subpaving/tactic/subpaving_tactic.a nlsat/tactic/nlsat_tactic.a tactic/arith/arith_tactics.a sat/tactic/sat_tactic.a tactic/core/core_tactics.a math/euclid/euclid.a math/grobner/grobner.a parsers/util/parser_util.a ast/substitution/substitution.a tactic/tactic.a model/model.a ast/normal_forms/normal_forms.a ast/rewriter/rewriter.a ast/ast.a math/subpaving/subpaving.a math/realclosure/realclosure.a math/interval/interval.a math/simplex/simplex.a math/hilbert/hilbert.a nlsat/nlsat.a sat/sat.a math/polynomial/polynomial.a util/util.a  -lpthread  -fopenmp
0  0x1079c1a68  __assert_rtn + 144
1  0x107a3bccd  mach_o::relocatable::Parser<x86_64>::parse(mach_o::relocatable::ParserOptions const&) + 1039
2  0x107a2b899  mach_o::relocatable::Parser<x86_64>::parse(unsigned char const*, unsigned long long, char const*, long, ld::File::Ordinal, mach_o::relocatable::ParserOptions const&) + 313
3  0x107a290f0  mach_o::relocatable::parse(unsigned char const*, unsigned long long, char const*, long, ld::File::Ordinal, mach_o::relocatable::ParserOptions const&) + 208
4  0x107a18797  archive::File<x86_64>::makeObjectFileForMember(archive::File<x86_64>::Entry const*) const + 795
5  0x107a182b3  archive::File<x86_64>::justInTimeforEachAtom(char const*, ld::File::AtomHandler&) const + 139
6  0x1079c5d46  ld::tool::InputFiles::searchLibraries(char const*, bool, bool, bool, ld::File::AtomHandler&) const + 210
7  0x107a0b772  ld::tool::Resolver::resolveUndefines() + 200
8  0x107a0d6e1  ld::tool::Resolver::resolve() + 75
9  0x1079c1d44  main + 370
A linker snapshot was created at:
/tmp/z3-2014-03-25-110931.ld-snapshot
ld: Assertion failed: (cfiStartsArray[i] != cfiStartsArray[i-1]), function parse, file src/ld/parsers/macho_relocatable_file.cpp, line 1555.
collect2: error: ld returned 1 exit status
make: *** [z3] Error 1
g++-oz3shell/datalog\u frontend.oshell/dimacs\u frontend.o
shell/gparams\u register\u modules.o shell/install\u.o shell/main.o
shell/mem_初始化器.o shell/smtlib_frontend.o shell/z3_log_frontend.o api/api.a opt/opt.a parsers/smt.a tractic/portfolio/portfolio.a tractic/ufbv/ufbv_tractic.a tractic/smtlogics/smtlogic_tractics.a muz/fp/fp.a muz/bmc/bmc.a muz/tab/tab.a muz/clp/clp.a muz/pdr.a muz/rel/a muz/relmuz/base/muz.a duality/duality.a qe/qe.a tractic/sls/sls_tractic.a smt/tractic/smt_tractic.a tractic/fpa/fpa.a tractic/bv/bv_tractics.a smt/user_plugin/user_plugin.a smt/smt.a smt/proto_model/proto_model/proto_model.a smt/params/smt/smt/smt/params/smt/smt_params.a ast/rewriter/bit_blaster/bit_blaster.a ast/pattern.a ast/pattern.a ast/ast/ast宏/宏/宏ast/proof\u checker/proof\u checker.a parsers/smt2/smt2parser.a cmd\u context/extra\u cmds.a cmd\u context/cmd\u context.a interp/interp.a solver/solver.a tractic/aig/aig\u tractic.a math/subpaving/tractic/subpaving\u tractic.a nlsat/tractic/arith/arith\u tractic.a sat/arith/arith/sat/sat/sat/sat/sat/sat\u tractic.a tactic/core/core/core\u tractics.a match/a match/euclid数学/grobner/grobner.a parsers/util/parser_util.a ast/substitution/substitution.a tractic/tractic.a model/model.a ast/normal_forms/normal_forms.a ast/rewriter/rewriter.a ast/ast.a math/subpaving/subpaving.a math/realclosure/realclosure.a math/interval.a math/simplex/simplex/simplex.a math/hilbert/hilbert.a nlsat/nlsat数学/多项式/多项式.a util/util.a-lpthread-fopenmp
0 0x1079c1a68\u断言\u rtn+144
1 0x107a3bccd马赫数o::可重定位::解析器::解析(马赫数o::可重定位::解析常量&+1039
2 0x107a2b899马赫数o::可重定位::解析器::解析(无符号字符常量*,无符号长,字符常量*,长,ld::文件::序号,马赫数o::可重定位::解析常量&+313
3 0x107a290f0马赫数o::可重定位::解析(无符号字符常量*、无符号长、字符常量*、长、ld::文件::序号、马赫数o::可重定位::解析常量&+208
4 0x107a18797存档::文件::MakeObjectFileFormMember(存档::文件::条目常量*)常量+795
5 0x107a182b3存档::文件::justInTimeforEachAtom(char const*,ld::文件::AtomHandler&)const+139
6 0x1079c5d46 ld::工具::输入文件::搜索库(字符常量*,布尔,布尔,布尔,ld::文件::AtomHandler&)常量+210
7 0x107a0b772 ld::工具::解析器::resolveUndefines()+200
8 0x107a0d6e1 ld::工具::解析器::解析()+75
9 0x1079c1d44干管+370
已在以下位置创建链接器快照:
/tmp/z3-2014-03-25-110931.ld-snapshot
ld:断言失败:(cfiStartsArray[i]!=cfiStartsArray[i-1]),函数解析,文件src/ld/parsers/macho_relocateble_file.cpp,第1555行。
collect2:错误:ld返回了1个退出状态
make:**[z3]错误1

这是因为我们使用了端口并安装了gcc和ld以及其他软件包


另一种可能是ld依赖于LLVM3.3而不是LLVM3.4。更新ld后问题已解决。

更新ld后是什么意思?你是说ld64
ld64
?GNU
ld
在OS X上不可用,这会导致类似的问题,因为MacPorts
gcc
调用
ld
。相关:出现,但不相关,因为它使用
clang
,而不是
gcc