prism icon indicating copy to clipboard operation
prism copied to clipboard

src/c/bp4prism/lib/bp4prism-cygwin.a に問題が有る可能性が有る。

Open Seky17 opened this issue 4 years ago • 8 comments

[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

Seky17 avatar May 07 '20 08:05 Seky17

cygwinにおいてcmakeでのビルドをトライしていたところ上記のようなエラーが出た。このエラーの内容が、macOSでのビルドでtarget_link_libraries()からbp4prism-darwin.aを試しに抜いた場合と類似であることから、bp4prism-cygwin.aに問題が有る可能性が有る。

Seky17 avatar May 07 '20 08:05 Seky17

エラーでundefined reference となっているものがbp4prism-cygwin.aで適切に定義されているか、確認していただきたいです。

Seky17 avatar May 07 '20 09:05 Seky17

bp4prism-cygwin.a をローカルCygwin環境でビルドし直したところ、prism_up_cygwin.exe のビルドに成功した。 しかし、prismコマンドを実行したところ、

Segmentation fault(コアダンプ)

となった。

Seky17 avatar May 25 '20 07:05 Seky17

gdbとかで詳細なエラーを見ないとわからないですかね。

kojima-r avatar May 27 '20 01:05 kojima-r

  1. gdbするためにbp4prism-cygwin.aprism_up_cygwin.exeを-gコンパイルオプションを付けてビルドした。
  2. prismコマンドを実行してcoreファイルを吐かせ、それをgdbに食わせようとしたが Unexpected size of section .reg/14356 in core file. 等のエラーが出て進行出来ず、これを解決出来なかった。
  3. そこで、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)

Seky17 avatar May 28 '20 06:05 Seky17

上記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)

Seky17 avatar Jun 01 '20 02:06 Seky17

protobuf の部分で落ちているようですが、protoc --versionで表示されるバージョンいくつでしょう?

kojima-r avatar Jun 02 '20 03:06 kojima-r

$ protoc --version
libprotoc 3.5.1

です。

Seky17 avatar Jun 04 '20 02:06 Seky17