prism
prism copied to clipboard
src/c/bp4prism/lib/bp4prism-cygwin.a に問題が有る可能性が有る。
[100%] Linking CXX executable prism_up_cygwin.exe
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0x48): undefined reference to `insert_cpred'
CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0x48): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `insert_cpred'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0x60): undefined reference to `insert_cpred'
CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0x60): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `insert_cpred'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0x78): undefined reference to `insert_cpred'
CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0x78): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `insert_cpred'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0x90): undefined reference to `insert_cpred'
CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0x90): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `insert_cpred'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0xa8): undefined reference to `insert_cpred'
CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0xa8): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `insert_cpred'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0xc0): more undefined references to `insert_cpred' follow
CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0xc0): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `insert_cpred'
CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0xd8): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `insert_cpred'
CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0xf0): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `insert_cpred'
CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0x108): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `insert_cpred'
CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0x120): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `insert_cpred'
CMakeFiles/prism_up_cygwin.dir/core/glue.c.o:glue.c:(.text+0x138): 追加の再配置オーバーフローは出力から除かれます
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0x3b7): undefined reference to `is_UNIFIABLE'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0x432): undefined reference to `is_IDENTICAL'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0x5a5): undefined reference to `floatval'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0x94a): undefined reference to `myquit'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0x9e5): undefined reference to `myquit'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0x9f0): undefined reference to `encodefloat1'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xa1b): undefined reference to `insert'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xa6d): undefined reference to `myquit'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xb4b): undefined reference to `myquit'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xb8d): undefined reference to `insert'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xc1b): undefined reference to `unify'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xc40): undefined reference to `bp_compare'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xc7c): undefined reference to `myquit'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xd12): undefined reference to `bp_string_2_term'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xd76): undefined reference to `bp_term_2_string'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xdb9): undefined reference to `bp_call_term'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xdd9): undefined reference to `bp_call_term'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xe1c): undefined reference to `bp_mount_query_term'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xe3c): undefined reference to `bp_mount_query_term'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xe63): undefined reference to `bp_next_solution'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.text+0xea6): undefined reference to `write_term'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.rdata$.refptr.curr_toam_status[.refptr.curr_toam_status]+0x0): undefined reference to `curr_toam_status'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.rdata$.refptr.local_top[.refptr.local_top]+0x0): undefined reference to `local_top'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.rdata$.refptr.heap_top[.refptr.heap_top]+0x0): undefined reference to `heap_top'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.rdata$.refptr.arreg[.refptr.arreg]+0x0): undefined reference to `arreg'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.rdata$.refptr.nil_sym[.refptr.nil_sym]+0x0): undefined reference to `nil_sym'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.rdata$.refptr.bigint_psc[.refptr.bigint_psc]+0x0): undefined reference to `bigint_psc'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.rdata$.refptr.float_psc[.refptr.float_psc]+0x0): undefined reference to `float_psc'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.rdata$.refptr.addr_top_bit[.refptr.addr_top_bit]+0x0): undefined reference to `addr_top_bit'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/bpx.c.o:bpx.c:(.rdata$.refptr.curr_out[.refptr.curr_out]+0x0): undefined reference to `curr_out'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/idtable.c.o:idtable.c:(.text+0x574): undefined reference to `unnumberVarTerm'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/termpool.c.o:termpool.c:(.text+0x70): undefined reference to `numberVarTermOpt'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/termpool.c.o:termpool.c:(.text+0x89): undefined reference to `quit'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/termpool.c.o:termpool.c:(.text+0xc9c): undefined reference to `unifyNumberedTerms'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/termpool.c.o:termpool.c:(.text+0xec1): undefined reference to `quit'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/termpool.c.o:termpool.c:(.rdata$.refptr.number_var_exception[.refptr.number_var_exception]+0x0): undefined reference to `number_var_exception'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/termpool.c.o:termpool.c:(.rdata$.refptr.global_var_num[.refptr.global_var_num]+0x0): undefined reference to `global_var_num'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/termpool.c.o:termpool.c:(.rdata$.refptr.trail_top[.refptr.trail_top]+0x0): undefined reference to `trail_top'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/core/termpool.c.o:termpool.c:(.rdata$.refptr.trail_up_addr[.refptr.trail_up_addr]+0x0): undefined reference to `trail_up_addr'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/up/graph.c.o:graph.c:(.text+0xace): undefined reference to `list_length'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/up/graph.c.o:graph.c:(.text+0xc15): undefined reference to `list_length'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/up/graph.c.o:graph.c:(.rdata$.refptr.illegal_arguments[.refptr.illegal_arguments]+0x0): undefined reference to `illegal_arguments'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/up/graph.c.o:graph.c:(.rdata$.refptr.exception[.refptr.exception]+0x0): undefined reference to `exception'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/up/em_preds.c.o:em_preds.c:(.rdata$.refptr.failure_atom[.refptr.failure_atom]+0x0): undefined reference to `failure_atom'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/up/em_ml.c.o:em_ml.c:(.rdata$.refptr.toam_signal_vec[.refptr.toam_signal_vec]+0x0): undefined reference to `toam_signal_vec'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/up/viterbi.c.o:viterbi.c:(.text+0x1610): undefined reference to `quit'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/up/viterbi.c.o:viterbi.c:(.text+0x1647): undefined reference to `quit'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/up/viterbi.c.o:viterbi.c:(.text+0x1cad): undefined reference to `quit'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/prism_up_cygwin.dir/up/util.c.o:util.c:(.rdata$.refptr.top[.refptr.top]+0x0): undefined reference to `top'
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: /usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../lib/libcygwin.a(libcmain.o): in function `main':
/usr/src/debug/cygwin-3.1.4-1/winsup/cygwin/lib/libcmain.c:37: undefined reference to `WinMain'
collect2: エラー: ld はステータス 1 で終了しました
make[2]: *** [CMakeFiles/prism_up_cygwin.dir/build.make:794: prism_up_cygwin.exe] エラー 1
make[2]: ディレクトリ '/home/Seky1/prism_git/src/c/cmake' から出ます
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/prism_up_cygwin.dir/all] エラー 2
make[1]: ディレクトリ '/home/Seky1/prism_git/src/c/cmake' から出ます
make: *** [Makefile:130: all] エラー 2
cygwinにおいてcmakeでのビルドをトライしていたところ上記のようなエラーが出た。このエラーの内容が、macOSでのビルドでtarget_link_libraries()からbp4prism-darwin.aを試しに抜いた場合と類似であることから、bp4prism-cygwin.aに問題が有る可能性が有る。
エラーでundefined reference となっているものがbp4prism-cygwin.aで適切に定義されているか、確認していただきたいです。
bp4prism-cygwin.a をローカルCygwin環境でビルドし直したところ、prism_up_cygwin.exe のビルドに成功した。 しかし、prismコマンドを実行したところ、
Segmentation fault(コアダンプ)
となった。
gdbとかで詳細なエラーを見ないとわからないですかね。
- gdbするために
bp4prism-cygwin.a
とprism_up_cygwin.exe
を-gコンパイルオプションを付けてビルドした。 - prismコマンドを実行してcoreファイルを吐かせ、それをgdbに食わせようとしたが
Unexpected size of section .reg/14356 in core file.
等のエラーが出て進行出来ず、これを解決出来なかった。 - そこで、gdb内でrunすることにした。prismスクリプトを参考に引数を与えた。
$ gdb prism_up_cygwin.exe
結果です。↓
(gdb) run -p 8000000 -s 5000000 -b 2000000 -t 10000000 /home/hoge/prism_git/bin/bp.out /home/hoge/prism_git/bin/prism.out /home/hoge/prism_git/bin/foc.out {1+"$@"}
Starting program: /home/hoge/prism_git/bin/prism_up_cygwin.exe -p 8000000 -s 5000000 -b 2000000 -t 10000000 /home/hoge/prism_git/bin/bp.out /home/hoge/prism_git/bin/prism.out /home/hoge/prism_git/bin/foc.out {1+"$@"}
[New Thread 940.0x152c]
[New Thread 940.0x1c3c]
[New Thread 940.0xd08]
[New Thread 940.0x3514]
[New Thread 940.0x189c]
Thread 1 "prism_up_cygwin" received signal SIGSEGV, Segmentation fault.
insert (name=name@entry=0x1005ac4ce <prism::RankRoot::kCountFieldNumber+11218> "[]",
length=length@entry=2, arity=arity@entry=0) at loader.c:1109
1109 GET_ETYPE(sym_ptr) = T_ORDI;
(gdb)
上記run
後にbacktrace
した結果↓
(gdb) backtrace
#0 insert (name=name@entry=0x1005ac4ce <prism::RankRoot::kCountFieldNumber+11218> "[]",
length=length@entry=2, arity=arity@entry=0) at loader.c:1109
#1 0x0000000100473b04 in init_sym () at init_sym.c:12
#2 0x00000001004727a5 in init_toam (argc=argc@entry=13, argv=argv@entry=0xffffcb20) at init.c:175
#3 0x00000001004b6a13 in initialize_bprolog (argc=argc@entry=13, argv=argv@entry=0xffffcb20)
at toam.c:86
#4 0x000000010059106a in bprolog_main (argv=0xffffcb20, argc=13) at main.c:10
#5 main (argc=13, argv=0xffffcb20) at main.c:27
(gdb)
protobuf の部分で落ちているようですが、protoc --versionで表示されるバージョンいくつでしょう?
$ protoc --version
libprotoc 3.5.1
です。