src/teamcity/teamcity_boost.cpp:22:47:致命错误:boost/test/unit_test_suite_impl.hpp:没有这样的文件或目录 [英] src/teamcity/teamcity_boost.cpp:22:47: fatal error: boost/test/unit_test_suite_impl.hpp: No such file or directory

查看:114
本文介绍了src/teamcity/teamcity_boost.cpp:22:47:致命错误:boost/test/unit_test_suite_impl.hpp:没有这样的文件或目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试安装ignite odbc驱动程序,我已经按照以下步骤安装了ignite

I am trying to install ignite odbc driver, I have installed ignite following these steps

https://apacheignite.readme.io/docs/getting-started#installation

# Unpack the source package
$ unzip -q apache-ignite-{version}-src.zip
$ cd apache-ignite-{version}-src

# Build In-Memory Data Fabric release (without LGPL dependencies)
$ mvn clean package -DskipTests

# Build In-Memory Data Fabric release (with LGPL dependencies)
$ mvn clean package -DskipTests -Prelease,lgpl

# Build In-Memory Hadoop Accelerator release
# (optionally specify version of hadoop to use)
$ mvn clean package -DskipTests -Dignite.edition=hadoop [-Dhadoop.version=X.X.X]

此后,添加了指向点火目录的IGNITE_HOME路径.还安装了ODBC驱动程序管理器 http://www.unixodbc.org/

After that, added IGNITE_HOME path pointing to ignite directory. Also installed ODBC driver manager http://www.unixodbc.org/

之后,请按照以下步骤操作,

After that, followed these steps,

http://apacheignite.gridgain.org/docs /odbc-driver#section-building-on-linux

但我在"make"处收到此错误

But I get this error at "make"

In file included from src/statement.cpp:29:0:
./include/ignite/odbc/statement.h:614:18: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
             std::auto_ptr<query::Query> currentQuery;
                  ^
In file included from /usr/include/c++/5/bits/locale_conv.h:41:0,
                 from /usr/include/c++/5/locale:43,
                 from /usr/include/c++/5/iomanip:43,
                 from ../common/include/ignite/guid.h:27,
                 from ./include/ignite/odbc/app/application_data_buffer.h:25,
                 from ./include/ignite/odbc/diagnostic/diagnostic_record_storage.h:27,
                 from ./include/ignite/odbc/diagnostic/diagnosable.h:21,
                 from ./include/ignite/odbc/query/query.h:25,
                 from ./include/ignite/odbc/query/data_query.h:21,
                 from src/statement.cpp:19:
/usr/include/c++/5/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^
  CXX      src/type_traits.lo
  CXX      src/utility.lo
  CXXLD    libignite-odbc.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[3]: Leaving directory '/home/me/install/apache-ignite/modules/platforms/cpp/odbc'
make[2]: Leaving directory '/home/me/install/apache-ignite/modules/platforms/cpp/odbc'
Making all in odbc-test
make[2]: Entering directory '/home/me/install/apache-ignite/modules/platforms/cpp/odbc-test'
Making all in include
make[3]: Entering directory '/home/me/install/apache-ignite/modules/platforms/cpp/odbc-test/include'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/me/install/apache-ignite/modules/platforms/cpp/odbc-test/include'
make[3]: Entering directory '/home/me/install/apache-ignite/modules/platforms/cpp/odbc-test'
  CXX      src/teamcity/teamcity_boost.o
src/teamcity/teamcity_boost.cpp:22:47: fatal error: boost/test/unit_test_suite_impl.hpp: No such file or directory
compilation terminated.
Makefile:625: recipe for target 'src/teamcity/teamcity_boost.o' failed
make[3]: *** [src/teamcity/teamcity_boost.o] Error 1
make[3]: Leaving directory '/home/me/install/apache-ignite/modules/platforms/cpp/odbc-test'
Makefile:661: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/me/install/apache-ignite/modules/platforms/cpp/odbc-test'
Makefile:426: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/me/install/apache-ignite/modules/platforms/cpp'
Makefile:358: recipe for target 'all' failed
make: *** [all] Error 2

我正在使用Ubuntu 8.04和apache ignite 1.8.0最新版本以及Java 8.

I am using Ubuntu 16.04 and apache ignite 1.8.0 latest version with Java 8.

更新:

sudo apt-get install libboost-all-dev
libtoolize && aclocal && autoheader && automake --add-missing && autoreconf
./configure --enable-odbc --disable-node --disable-core
make

src/row_test.cpp:192:18: warning: unused variable ‘rowNum’ [-Wunused-variable]
     const size_t rowNum = 2;
                  ^
  CXX      src/utility_test.o
  CXX      src/queries_test.o
In file included from ../core/include/ignite/cache/cache.h:40:0,
                 from ../core/include/ignite/ignite.h:26,
                 from src/queries_test.cpp:35:
../core/include/ignite/impl/cache/cache_impl.h:27:48: fatal error: ignite/impl/interop/interop_target.h: No such file or directory
compilation terminated.
Makefile:625: recipe for target 'src/queries_test.o' failed
make[3]: *** [src/queries_test.o] Error 1
make[3]: Leaving directory '/home/me/install/apache-ignite/modules/platforms/cpp/odbc-test'
Makefile:661: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/me/install/apache-ignite/modules/platforms/cpp/odbc-test'
Makefile:426: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/me/install/apache-ignite/modules/platforms/cpp'
Makefile:358: recipe for target 'all' failed
make: *** [all] Error 2

更新2:在禁用Tet的情况下运行

Update 2: Running with disabling tets worked

 libtoolize && aclocal && autoheader && automake --add-missing && autoreconf
 ./configure --enable-odbc --disable-node --disable-core --disable-tests
 make
 make install

尽管安装完成,但pdo连接仍会引发异常

Though the installation is complete, still pdo connection throws exception

odbcinst -j

odbcinst -j

unixODBC 2.3.4
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /home/me/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

cat cat/usr/local/etc/odbcinst.ini

cat cat /usr/local/etc/odbcinst.ini

[Apache Ignite]
Description=Apache Ignite
Driver=/usr/local/lib/libignite-odbc.so
Setup=/usr/local/lib/libignite-odbc.so
DriverODBCVer=03.00
FileUsage=0
UsageCount=1

cat/usr/local/etc/odbc.ini-空文件-我需要添加任何内容吗? -尝试添加上述配置,但有相同的例外.

cat /usr/local/etc/odbc.ini - empty file - Do i need to add anything to it ? - Tried adding above config but same exception.

猫/home/me/.odbc.ini

cat /home/me/.odbc.ini

[Apache Ignite]
Description=Apache Ignite
Driver=/usr/local/lib/libignite-odbc.so
DriverODBCVer=03.00
FileUsage=0
UsageCount=1

$ignite = $dbh = new \PDO('odbc:Apache Ignite');
$ignite->prepare('select * from Person');


  [PDOException]                                                                         
  SQLSTATE[08001] SQLConnect: 0 [unixODBC]Failed to establish connection with the host.

推荐答案

从源代码分发构建ODBC时,您应该安装Boost库或禁用测试,因为它们使用boost.

As you are building ODBC from sources distribution, you should either install boost libraries or disable tests, as they use boost.

要安装升压运行,请执行以下操作:

To install boost run:

sudo apt-get install libboost-all-dev

要禁用测试,请在modules/platforms/cpp中执行以下操作:

To disable tests do the following in the modules/platforms/cpp:

 libtoolize && aclocal && autoheader && automake --add-missing && autoreconf
 ./configure --enable-odbc --disable-node --disable-core --disable-tests
 make

这篇关于src/teamcity/teamcity_boost.cpp:22:47:致命错误:boost/test/unit_test_suite_impl.hpp:没有这样的文件或目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆