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.