Coreseek®  
 | 首页 | 注册 | 回复 | 搜索 | 统计资料 |                 网站首页产品服务开放源码安装使用常见问题中文手册社区交流联系我们 
全文检索 论坛首页 / 全文检索 /

在solaris上编译报错

 
aaronmore
会员
#1 | 发表时间: 2009 03 20 16:45
回复 
机器类型:
SunOS dataserver-1 5.10 Generic_137137-09 sun4v sparc SUNW,SPARC-Enterprise-T5120

错误提示:
Making all in src
if test -d ../.svn; then svn info .. --xml | perl svnxrev.pl; fi;
make  all-am
if g++ -DHAVE_CONFIG_H -I. -I. -I../config   -DSYSCONFDIR="\"/usr/local/sphinx/etc\"" -I/usr/local/include -I/usr/local/mysql/include  -g -mt -m64   -DHAVE_RWLOCK_T  -I/usr/local/mmseg3/include/mmseg  -Wall -g -D_FILE_OFFSET_BITS=64 -O3 -DNDEBUG -MT sphinx.o -MD -MP -MF ".deps/sphinx.Tpo" -c -o sphinx.o sphinx.cpp; \
then mv -f ".deps/sphinx.Tpo" ".deps/sphinx.Po"; else rm -f ".deps/sphinx.Tpo"; exit 1; fi
cc1plus: error: invalid option `t'
*** Error code 1
make: Fatal error: Command failed for target `sphinx.o'
Current working directory /export/home/dytang/csft3_0b4/src
*** Error code 1
make: Fatal error: Command failed for target `all'
Current working directory /export/home/dytang/csft3_0b4/src
*** Error code 1
The following command caused the error:
set fnord $MAKEFLAGS; amf=$2; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='src test'; for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (cd $subdir && make  $local_target) \
   || case "$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'

BTW:我们公司烧的用SUN到机子!
aaronmore
会员
#2 | 发表时间: 2009 03 20 17:41
回复 
用sphinx的原版源码进行编译时,只要去掉src目录中Makefile文件的g++ -mt 参数就可以编译过去了,但csft3_0b4用同样的方法,编译不过去,问题出在编译中文分词库的连接时出的错。

错误信息如下:
tokenizer_zhcn.cpp: In member function `virtual int CSphTokenizer_zh_CN_GBK::GetLocalBuffer(BYTE*, int, BYTE*)':
tokenizer_zhcn.cpp:317: error: invalid conversion from `char**' to `const char**'
tokenizer_zhcn.cpp:317: error:   initializing argument 2 of `size_t libiconv(void*, const char**, size_t*, char**, size_t*)'
tokenizer_zhcn.cpp: In member function `virtual void CSphTokenizer_zh_CN_GBK::SetBuffer(BYTE*, int)':
tokenizer_zhcn.cpp:345: error: invalid conversion from `char**' to `const char**'
tokenizer_zhcn.cpp:345: error:   initializing argument 2 of `size_t libiconv(void*, const char**, size_t*, char**, size_t*)'
*** Error code 1
make: Fatal error: Command failed for target `tokenizer_zhcn.o'
Current working directory /export/home/dytang/csft3_0b4/src
*** Error code 1
make: Fatal error: Command failed for target `all'
Current working directory /export/home/dytang/csft3_0b4/src
*** Error code 1
The following command caused the error:
set fnord $MAKEFLAGS; amf=$2; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='src test'; for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (cd $subdir && make  $local_target) \
   || case "$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
nzinfo
会员
#3 | 发表时间: 2009 03 21 00:12
回复 
这个简单,打开源码文件,vim 到 317 和 345
const char * ptr = (char*)sBuffer;
改为
const char * ptr = (const char*)sBuffer;
hexuan1922
会员
#4 | 发表时间: 2011 12 19 13:43
回复 
nzinfo
强..
 
回复
Bold Style  Italic Style  Image 链接  URL 链接 
发帖注意:
  • 网址中请去掉http://开头,例如:您需要输入www.coreseek.cn,而不是http://www.coreseek.cn
  • 咨询问题,请贴出详细的操作系统版本、Coreseek版本(Linux环境请给出编译参数)
  • 请仔细查看中文手册和本站安装指南,确认操作正确
  • 请仔细查看常见问题解答,也许你的问题已经有解决方法

» 帐号  » 密码 
发帖前请登陆, 或者 注册 .