Can't run CPP tests locally on linux machine

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Can't run CPP tests locally on linux machine

Nikolay Izhikov-2
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 (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Can't run CPP tests locally on linux machine

Igor Sapego-2
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 <[hidden email]>
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
Reply | Threaded
Open this post in threaded view
|

Re: Can't run CPP tests locally on linux machine

Nikolay Izhikov-2
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 <[hidden email]>
> 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 (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Can't run CPP tests locally on linux machine

Igor Sapego-2
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 <[hidden email]>
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 <[hidden email]>
> > 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
>
Reply | Threaded
Open this post in threaded view
|

Re: Can't run CPP tests locally on linux machine

Nikolay Izhikov-2
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 <[hidden email]> 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 <[hidden email]>
> > > 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 (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Can't run CPP tests locally on linux machine

Igor Sapego-2
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 <[hidden email]>
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 <[hidden email]>
> 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 <
> [hidden email]>
> > > > 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
> >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Can't run CPP tests locally on linux machine

Nikolay Izhikov-2
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 <[hidden email]>
> 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 <[hidden email]>
> >
> > 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 <
> >
> > [hidden email]>
> > > > > 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 (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Can't run CPP tests locally on linux machine

Nikolay Izhikov-2
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 <[hidden email]>
> > 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 <[hidden email]>
> > >
> > > 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 <
> > >
> > > [hidden email]>
> > > > > > 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 (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Can't run CPP tests locally on linux machine

Nikolay Izhikov-2
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 <[hidden email]>
> > > 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 <[hidden email]>
> > > >
> > > > 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 <
> > > >
> > > > [hidden email]>
> > > > > > > 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 (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Can't run CPP tests locally on linux machine

Nikolay Izhikov-2
I set one more enviromnent variable and now got success tests run.
I see following output:

*** 2 failures are detected in the test module "identity_resolver_test"

Is it OK?



В Пт, 20/04/2018 в 19:28 +0300, Nikolay Izhikov пишет:

> 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 <[hidden email]>
> > > > 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 <[hidden email]>
> > > > >
> > > > > 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 <
> > > > >
> > > > > [hidden email]>
> > > > > > > > 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 (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Can't run CPP tests locally on linux machine

Igor Sapego-2
Hello, Nikolay,

CPP_STAGING is only needed for TC as we the TC obviously
does not have root access on agents and thus can't install
Ignite to /usr/local directory.

Do you run your tests from the VM?

Any test failures are not OK. Can you give me a full message?



Best Regards,
Igor

On Fri, Apr 20, 2018 at 7:33 PM, Nikolay Izhikov <[hidden email]>
wrote:

> I set one more enviromnent variable and now got success tests run.
> I see following output:
>
> *** 2 failures are detected in the test module "identity_resolver_test"
>
> Is it OK?
>
>
>
> В Пт, 20/04/2018 в 19:28 +0300, Nikolay Izhikov пишет:
> > 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 "BinaryIdentityResolverTestSuit
> e/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 <
> [hidden email]>
> > > > > 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 <
> [hidden email]>
> > > > > >
> > > > > > 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 <
> > > > > >
> > > > > > [hidden email]>
> > > > > > > > > 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
>