Hello, Igor. As far as I can see from the Team City settings the actual command to configure current master sources is
`./configure --enable-odbc --enable-tests --prefix=%env.CPP_STAGING% CPPFLAGS=-I%env.CPP_STAGING%/include LDFLAGS=-L%env.CPP_STAGING%/lib` Can you give me content of CPP_STAGING directory? I was able to build cpp sources with latest ubuntu boost and latest teamcity_boost [1], teamcity_messages files [2]. After that I still got error when running export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server export IGNITE_NATIVE_TEST_CLASSPATH=true export IGNITE_NATIVE_TEST_CPP_CONFIG_PATH=/home/user/src/ignite/modules/platforms/cpp/core-test/config ./ignite-tests I see Ignite start messages and after it: ``` [20-04-2018 16:22:51][INFO ][main][IgnitePluginProcessor] ^-- Copyright(C) Apache Software Foundation [20-04-2018 16:22:51][INFO ][main][IgnitePluginProcessor] unknown location(0): fatal error: in "BinaryIdentityResolverTestSuite/IdentityEquilityWithoutGuid": memory access violation at address: 0x00000008: no mapping at fault address src/binary_identity_resolver_test.cpp(316): last checkpoint: "IdentityEquilityWithoutGuid" entry. ``` I'm not sure I move to the right direction. I just want to be able to run CPP tests locally. [1] https://github.com/JetBrains/teamcity-cpp/blob/master/boost/teamcity_boost.cpp [2] https://github.com/JetBrains/teamcity-cpp/blob/master/common/teamcity_messages.cpp В Чт, 19/04/2018 в 14:11 +0300, Nikolay Izhikov пишет: > Igor. > > Following settings helps to remove some error, but I still can't make all > things works. > Is it right way to get things work? > > ``` > > export LDFLAGS='-L/usr/lib/x86_64-linux-gnu/' > > export LIBS='-lboost_unit_test_framework' > > libtoolize && aclocal && autoheader && automake --add-missing && autoreconf > > ./configure --enable-odbc --enable-tests > > make > > ``` > > Now, It seems that compiler can found references to boost functions. > The only error I see from the output is > > make[3]: вход в каталог > «/home/dragon/src/ignite/modules/platforms/cpp/odbc-test» > CXXLD ignite-odbc-tests > /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In > function `_start': > (.text+0x20): undefined reference to `main' > collect2: error: ld returned 1 exit status > > I work on Ubuntu linux x64: > > ``` > > uname -a > > Linux host 4.13.0-38-generic #43-Ubuntu SMP Wed Mar 14 15:20:44 UTC 2018 > x86_64 x86_64 x86_64 GNU/Linux > ``` > > В Чт, 19/04/2018 в 13:40 +0300, Nikolay Izhikov пишет: > > Hello, Igor. > > > > Still doesn't work. > > > > I removed files you mentioned and got following error messages: > > > > make[3]: вход в каталог > > «/home/dragon/src/ignite/modules/platforms/cpp/odbc-test» > > CXXLD ignite-odbc-tests > > /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In > > function `_start': > > (.text+0x20): undefined reference to `main' > > src/cursor_test.o: In function > > `CheckCursorNeedUpdate(ignite::odbc::Cursor&)': > > /home/dragon/src/ignite/modules/platforms/cpp/odbc-test/src/cursor_test.cpp:77: > > undefined reference to > > `boost::unit_test::unit_test_log_t::set_checkpoint(boost::unit_test::basic_cstring<char > > const>, > > unsigned long, boost::unit_test::basic_cstring<char const>)' > > > > > > В Чт, 19/04/2018 в 13:15 +0300, Igor Sapego пишет: > > > They can be executed locally, and no, you don't need any library. > > > It is just that Teamcity plugin depends on exact version of Boost, > > > as I mentioned before. You can disable it if you are going to run > > > tests locally. > > > > > > For this you should remove from these files > > > platform/cpp/core-test/Makefile.am and > > > platform/cpp/odcs-test/Makefile.am > > > > > > following lines: > > > src/teamcity_messages.cpp \ > > > src/teamcity_boost.cpp \ > > > > > > > > > Best Regards, > > > Igor > > > > > > On Wed, Apr 18, 2018 at 6:17 PM, Nikolay Izhikov <nizhi...@apache.org> > > > wrote: > > > > > > > Igor. > > > > > > > > I tried to comment unexisted header and got following error: > > > > > > > > src/teamcity/teamcity_boost.cpp: In constructor ‘JetBrains:: > > > > TeamcityFormatterRegistrar::TeamcityFormatterRegistrar()’: > > > > src/teamcity/teamcity_boost.cpp:72:100: error: invalid new-expression of > > > > abstract class type ‘JetBrains::TeamcityBoostLogFormatter’ > > > > boost::unit_test::unit_test_log.set_formatter(new > > > > JetBrains:: > > > > TeamcityBoostLogFormatter()); > > > > > > > > Do I need some additional team city library for tets? > > > > Can tests for odbc be executed locally? > > > > > > > > В Ср, 18/04/2018 в 16:29 +0300, Igor Sapego пишет: > > > > > I think it is better to remove this strong dependency on the > > > > > exact Boost version at all. I've filed a ticket for that: [1]. > > > > > > > > > > [1] - https://issues.apache.org/jira/browse/IGNITE-8310 > > > > > > > > > > Best Regards, > > > > > Igor > > > > > > > > > > On Wed, Apr 18, 2018 at 4:20 PM, Nikolay Izhikov <nizhi...@apache.org> > > > > > > > > wrote: > > > > > > Hello, Igor. > > > > > > > > > > > > Thanks! > > > > > > I will try to find boost-1.58.0 distribution and setup it. > > > > > > > > > > > > > 2. Well, it is the old issue that we are working only with the > > > > > > > > specific> Boost version (1.58.0). You can try commenting out the > > > > following > > > > line:> > > > > > > > > > > > > Should we mention it in DEVNOTES? > > > > > > Should we add some readme to setup development environment for CPP > > > > > > > > module? > > > > > > > > > > > > В Ср, 18/04/2018 в 16:11 +0300, Igor Sapego пишет: > > > > > > > Hi, Nikolay, > > > > > > > > > > > > > > 1. Yes, it's OK; > > > > > > > 2. Well, it is the old issue that we are working only with the > > > > > > > > specific > > > > > > > Boost version (1.58.0). You can try commenting out the following > > > > > > > > line: > > > > > > > > > > > > > > #include <boost/test/unit_test_suite_impl.hpp> > > > > > > > > > > > > > > in teamcity_boost.cpp files to make it working with your version. > > > > > > > > > > > > > > Best Regards, > > > > > > > Igor > > > > > > > > > > > > > > On Wed, Apr 18, 2018 at 3:55 PM, Nikolay Izhikov < > > > > > > > > nizhi...@apache.org> > > > > > > > wrote: > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > Is there way to run CPP tests locally on linux machine? > > > > > > > > > > > > > > > > I'm trying to follow DEVNOTES.txt but doesn't get lucky. > > > > > > > > > > > > > > > > 1. `./configure --enable-odbc --enable-tests` [1] > > > > > > > > I see > > > > > > > > > > > > > > > > "rm: cannot remove 'core': Is a directory" > > > > > > > > > > > > > > > > Is it OK? > > > > > > > > > > > > > > > > 2. `make` [2] > > > > > > > > > > > > > > > > I got following error: > > > > > > > > > > > > > > > > "src/teamcity/teamcity_boost.cpp:22:10: fatal error: > > > > > > > > boost/test/unit_test_suite_impl.hpp: Нет такого файла или > > > > > > > > каталога > > > > > > > > #include <boost/test/unit_test_suite_impl.hpp>" > > > > > > > > > > > > > > > > I've installed boost-dev - `sudo apt-get install > > > > > > > > libboost-all-dev` > > > > > > > > But, there is no `unit_test_suite_impl.hpp` in > > > > > > > > /usr/header/boost/test. > > > > > > > > Without tests it all compiles OK. > > > > > > > > > > > > > > > > What should I do to be able run tests for CPP locally? > > > > > > > > > > > > > > > > [1] https://gist.github.com/nizhikov/ > > > > > > > > 8a451b73db17fa05d10992ae50524b7b > > > > > > > > [2] https://gist.github.com/nizhikov/ > > > > > > > > 9d0da202c3e52f3ee1cd5bc2053e1073
signature.asc
Description: This is a digitally signed message part