On Sat, 16 May 2020 18:31:50 +0900 Hideki Yamane <henr...@iijmio-mail.jp> wrote:
>  It seems that chasen is failed to build with clang.
>  
> https://github.com/opencollab/clang.debian.net/blob/master/logs/2020-02-24-9.0.1/chasen_2.4.5-44_unstable_clang9.0.1.log

I tried to make fix it, but still failed.
The patch is https://salsa.debian.org/nlp-ja-team/chasen/snippets/438

It has an another problem, linker error:

/bin/bash ../libtool  --tag=CXX   --mode=link g++  -g -O2
-fdebug-prefix-map=/home/knok/draft/debian/nlp-ja-team/chasen/chasen-tainted=.
-fstack-protector-strong -Wformat -Werror=format-security
-I/usr/include -version-info 2:4:0 -Wl,-z,relro -Wl,-z,now -o
libchasen.la -rpath /usr/lib/x86_64-linux-gnu block.lo chalib.lo
connect.lo dartsdic.lo getid.lo getopt.lo grammar.lo init.lo iotool.lo
jfgets.lo katuyou.lo lisp.lo literal.lo mmap.lo parse.lo print.lo
tokenizer.lo
libtool: link: g++  -fPIC -DPIC -shared -nostdlib
/bin/../lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o
/bin/../lib/gcc/x86_64-linux-gnu/9/crtbeginS.o  .libs/block.o
.libs/chalib.o .libs/connect.o .libs/dartsdic.o .libs/getid.o
.libs/getopt.o .libs/grammar.o .libs/init.o .libs/iotool.o
.libs/jfgets.o .libs/katuyou.o .libs/lisp.o .libs/literal.o
.libs/mmap.o .libs/parse.o .libs/print.o .libs/tokenizer.o
-L/bin/../lib/gcc/x86_64-linux-gnu/9
-L/bin/../lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu
-L/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../lib64
-L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu
-L/usr/lib/../lib64 -L/usr/lib/x86_64-linux-gnu/../../lib64
-L/bin/../lib/gcc/x86_64-linux-gnu/9/../../..
-L/usr/lib/llvm-9/bin/../lib -L/lib -L/usr/lib -lstdc++ -lm -lc
-lgcc_s -lgcc /bin/../lib/gcc/x86_64-linux-gnu/9/crtendS.o
/bin/../lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
-g -O2 -fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z -Wl,now
-Wl,-soname -Wl,libchasen.so.2 -o .libs/libchasen.so.2.0.4
/bin/ld: .libs/dartsdic.o: in function
`Darts::Length<char>::operator()(char const*) const':
/usr/include/darts.h:43: undefined reference to `strlen'
/bin/ld: /usr/include/darts.h:43: undefined reference to `strlen'
/bin/ld: .libs/dartsdic.o: in function
`std::char_traits<char>::length(char const*)':
/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h:335:
undefined reference to `strlen'
/bin/ld: 
/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h:335:
undefined reference to `strlen'
/bin/ld: .libs/dartsdic.o: in function
`Darts::Length<char>::operator()(char const*) const':
/usr/include/darts.h:43: undefined reference to `strlen'
/bin/ld: .libs/dartsdic.o:/usr/include/darts.h:43: more undefined
references to `strlen' follow
clang: error: linker command failed with exit code 1 (use -v to see invocation)

It seems `strlen' symbol is missig because of -nostdlib flag on the
linker via libtool.
I think it is llvm side problem, because autotools are trying to
handle toolchains as gcc, but llvm didn't work completely.

Reply via email to