问题解决记录,原文地址:http://vifix.cn/blog/coreseek-cant-make-in-gcc-4-7-enviroment.html
今天在archlinux在安装coreseek 4.1-beta时碰到的问题,在g++编译sphinxexpr.cpp时:
g++ -DHAVE_CONFIG_H -I. -I../config -DSYSCONFDIR="\"/opt/coreseek-3.2.14/etc\"" -DDATADIR="\"/opt/coreseek-3.2.14/var/data\"" -I/usr/local/include -pthread -I/usr/include/mysql -fPIC -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer -g -I/opt/mmseg-3.2.14/include/mmseg/ -Wall -g -D_FILE_OFFSET_BITS=64 -O3 -DNDEBUG -MT sphinxexpr.o -MD -MP -MF .deps/sphinxexpr.Tpo -c -o sphinxexpr.o sphinxexpr.cpp sphinxexpr.cpp: In constructor ‘ExprParser_t::ExprParser_t(CSphSchema*, ISphExprHook*)’: sphinxexpr.cpp:742:17: warning: ‘ExprParser_t::m_pExtra’ will be initialized after [-Wreorder] sphinxexpr.cpp:711:19: warning: ‘ISphExprHook* ExprParser_t::m_pHook’ [-Wreorder] sphinxexpr.cpp:698:2: warning: when initialized here [-Wreorder] sphinxexpr.cpp: In instantiation of ‘int Expr_In_c<T>::IntEval(const CSphMatch&) const [with T = float]’: sphinxexpr.cpp:3152:1: required from here sphinxexpr.cpp:1823:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] sphinxexpr.cpp:1823:43: note: declarations in dependent base ‘Expr_ArgVsSet_c<float>’ are not found by unqualified lookup sphinxexpr.cpp:1823:43: note: use ‘this->ExprEval’ instead sphinxexpr.cpp: In instantiation of ‘int Expr_In_c<T>::IntEval(const CSphMatch&) const [with T = long long int]’: sphinxexpr.cpp:3152:1: required from here sphinxexpr.cpp:1823:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] sphinxexpr.cpp:1823:43: note: declarations in dependent base ‘Expr_ArgVsSet_c<long long int>’ are not found by unqualified lookup sphinxexpr.cpp:1823:43: note: use ‘this->ExprEval’ instead sphinxexpr.cpp: In instantiation of ‘int Expr_In_c<T>::IntEval(const CSphMatch&) const [with T = int]’: sphinxexpr.cpp:3152:1: required from here sphinxexpr.cpp:1823:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] sphinxexpr.cpp:1823:43: note: declarations in dependent base ‘Expr_ArgVsSet_c<int>’ are not found by unqualified lookup sphinxexpr.cpp:1823:43: note: use ‘this->ExprEval’ instead sphinxexpr.cpp: In instantiation of ‘int Expr_Interval_c<T>::IntEval(const CSphMatch&) const [with T = float]’: sphinxexpr.cpp:3152:1: required from here sphinxexpr.cpp:1777:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] sphinxexpr.cpp:1777:43: note: declarations in dependent base ‘Expr_ArgVsSet_c<float>’ are not found by unqualified lookup sphinxexpr.cpp:1777:43: note: use ‘this->ExprEval’ instead sphinxexpr.cpp: In instantiation of ‘int Expr_Interval_c<T>::IntEval(const CSphMatch&) const [with T = long long int]’: sphinxexpr.cpp:3152:1: required from here sphinxexpr.cpp:1777:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] sphinxexpr.cpp:1777:43: note: declarations in dependent base ‘Expr_ArgVsSet_c<long long int>’ are not found by unqualified lookup sphinxexpr.cpp:1777:43: note: use ‘this->ExprEval’ instead sphinxexpr.cpp: In instantiation of ‘int Expr_Interval_c<T>::IntEval(const CSphMatch&) const [with T = int]’: sphinxexpr.cpp:3152:1: required from here sphinxexpr.cpp:1777:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] sphinxexpr.cpp:1777:43: note: declarations in dependent base ‘Expr_ArgVsSet_c<int>’ are not found by unqualified lookup sphinxexpr.cpp:1777:43: note: use ‘this->ExprEval’ instead sphinxexpr.cpp: In instantiation of ‘int Expr_IntervalConst_c<T>::IntEval(const CSphMatch&) const [with T = float]’: sphinxexpr.cpp:3152:1: required from here sphinxexpr.cpp:1746:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] sphinxexpr.cpp:1746:43: note: declarations in dependent base ‘Expr_ArgVsSet_c<float>’ are not found by unqualified lookup sphinxexpr.cpp:1746:43: note: use ‘this->ExprEval’ instead sphinxexpr.cpp: In instantiation of ‘int Expr_IntervalConst_c<T>::IntEval(const CSphMatch&) const [with T = long long int]’: sphinxexpr.cpp:3152:1: required from here sphinxexpr.cpp:1746:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] sphinxexpr.cpp:1746:43: note: declarations in dependent base ‘Expr_ArgVsSet_c<long long int>’ are not found by unqualified lookup sphinxexpr.cpp:1746:43: note: use ‘this->ExprEval’ instead sphinxexpr.cpp: In instantiation of ‘int Expr_IntervalConst_c<T>::IntEval(const CSphMatch&) const [with T = int]’: sphinxexpr.cpp:3152:1: required from here sphinxexpr.cpp:1746:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] sphinxexpr.cpp:1746:43: note: declarations in dependent base ‘Expr_ArgVsSet_c<int>’ are not found by unqualified lookup sphinxexpr.cpp:1746:43: note: use ‘this->ExprEval’ instead make[2]: *** [sphinxexpr.o] Error 1 make[2]: Leaving directory `/home/mac/Downloads/coreseek-4.1-beta/csft-4.1/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/mac/Downloads/coreseek-4.1-beta/csft-4.1/src' make: *** [all-recursive] Error 1
在替换为coreseek 3.2.13后仍然发生了类似问题,但是在自己的Mac OS X 10.6.8上类似的编译却没有碰到这个问题,于是觉得很奇怪。
搜索之后,仅找到一个有用的链接:http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=667378,是关于coreseek上游的sphinx的同样问题的,看了一下了解似乎是gcc 4.7的C++作用域的问题(?),上面的debian bugs里面提供了一个patch,看了下patch的内容,也对自己本地的coreseek的制作了同样的补丁,压缩包发布如下,使用时注意版本。见附件~
相关推荐
在编译过程中,可能会遇到一些问题,比如版本不兼容或者库文件找不到。如果出现错误,需要根据错误信息查找解决方案,可能需要升级某些库或者修改配置选项。例如,如果遇到Boost库的问题,可能需要手动安装特定版本...
Coreseek是一款基于全文搜索引擎Sphinx进行二次开发的...总的来说,这个补丁包是针对Coreseek在Ubuntu系统上的编译问题提供解决方案,通过应用这些补丁,用户可以更顺利地在Linux环境中搭建和使用Coreseek搜索引擎。
之前上传的coressek-3.2.14在我的centos上编译通不过。百度了下,说是不兼容GCC4.7。 又找了个coreseek-4.1,但是又遇到不能生成configure文件。再百度找到解决方案。修改完,重新打了个包。供下载。
如果在编译过程中遇到错误,如找不到某些库或头文件,应按照错误提示安装相应的开发包。 安装完成后,我们需要配置Coreseek。主要的配置文件为`csft.conf`,这是一个基于文本的配置文件,包含服务器的各种设置,如...
Coreseek是一款基于Sphinx搜索引擎的中文分词和全文检索解决方案,它在Sphinx的基础上增加了中文支持,使得在处理中文数据时能有更好的效果。这个压缩包"coreseek-3.2.14-.tar.gz"包含了Coreseek的源代码,允许用户...
CoreSeek则是在Sphinx的基础上,针对中文环境做了优化,集成了MMSEG中文分词算法,能够更好地处理中文文本的索引和搜索。MMSEG(Maximum Match Segmentation)是一种常见的中文分词方法,它以最长匹配为基础,结合了...
coreseek中文索引. gcc 版本高于 4.7 造成的安装不成功,有补丁下载.
根据文档描述,本章节详细介绍了如何在 CentOS 操作系统上为 Coreseek 安装做好环境准备,包括必要的编译工具和其他依赖库。 - **编译工具与依赖库**:确保 CentOS 已安装了 GCC 编译工具链以及其他必要的开发工具...
在本文中,我们将深入探讨如何在CentOS 6.5操作系统上成功安装CoreSeek,一个基于Sphinx搜索引擎的全文检索引擎。CoreSeek以其高度可定制性、高效性能和丰富的功能特性,广泛应用于各类数据检索场景。 一、CoreSeek...
【Coreseek 安装】 Coreseek 是一个专为中国市场设计的全文检索和搜索软件,它基于Sphinx技术,但能够独立运行。...通过以上步骤,Coreseek能够在服务器上成功安装并运行,为企业提供高效、精确的中文搜索服务。
2. **库文件**:包含了必要的动态链接库(DLL)和静态库,这些文件是运行和编译CoreSeek应用程序所必需的。 3. **开发工具和API**:可能包括开发者接口文档、示例代码和API头文件,使得开发人员能够集成CoreSeek到...
2. **安装与配置**:讲解如何在不同操作系统(如Linux)上安装CoreSeek,配置其核心参数,如数据源设置、索引构建、搜索服务端口等。 3. **中文分词**:CoreSeek内置了中文分词器,介绍如何配置和使用这些分词器,...
- **全文索引**:通过建立高效的倒排索引,CoreSeek能够在短时间内完成大量文本的搜索,显著提升搜索速度。 - **实时更新**:支持实时索引更新,确保新添加的数据能够快速被搜索引擎抓取并展示。 - **多种接口**...
Sphinx和CoreSeek是两种强大的全文搜索引擎技术,尤其在处理大量数据的检索和高效率搜索时表现卓越。它们常被用于网站、数据库和其他需要快速、精确搜索功能的应用中。本文将详细介绍如何在Linux环境中安装和配置...
在http://www.cnblogs.com/strick/p/4173757.html这篇博客文章中,作者详细介绍了如何配置和安装20141224版的CoreSeek,包括环境准备、源码下载、编译安装、配置文件设置、数据导入以及启动服务等步骤,对于初学者来...
10. **社区支持**:作为开源项目,Coreseek拥有活跃的社区,用户可以在论坛、邮件列表等平台上获取技术支持和交流经验。 总的来说,"coreseek-3.2.13.tar.gz"是一个包含全面功能的全文检索引擎软件包,适用于需要...
在CoreSeek3.1.14版本中,我们主要关注以下几个关键知识点: 1. **核心组件**:CoreSeek的核心组件包括搜索服务、索引构建工具以及相关的管理工具。这些组件协同工作,使得用户能够高效地对大量文本数据进行全文...
在安装 Coreseek 之前,确保 CentOS 操作系统已经安装了必要的编译环境,例如 `gcc` 和其他相关工具。这些工具是编译安装过程中必需的。 **具体步骤:** 1. **检查环境:** - 首先,通过命令行确认 CentOS 是否已...
同时,监控和日志功能也是必不可少的,它们可以帮助我们及时发现并解决问题,保证系统的稳定运行。 总的来说,CoreSeek4.1为Windows环境下的中文全文检索提供了一套强大且易用的解决方案。通过深入理解其核心原理和...