ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nikolay Izhikov <nizhi...@apache.org>
Subject Re: Can't run CPP tests locally on linux machine
Date Thu, 19 Apr 2018 11:11:43 GMT
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 <nizhikov@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 <nizhikov@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 <
> > > 
> > > nizhikov@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
> > > > 
Mime
View raw message