ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nikolay Izhikov <nizhi...@apache.org>
Subject Re: [DISCUSSION] Ignite.C++ and CMake
Date Wed, 03 Jun 2020 14:55:22 GMT
Hello.

I will do review of this changes.

> 1 июня 2020 г., в 13:21, Ivan Daschinsky <ivandasch@gmail.com> написал(а):
> 
> Igor, could you please check my PR?
> 
> пт, 29 мая 2020 г. в 15:28, Ivan Daschinsky <ivandasch@gmail.com>:
> 
>> Thanks you all. Run patch (I've changed some code also) on TC -- all CPP
>> suites are green (GCC, CLang, Win64)
>> 
>> пт, 29 мая 2020 г. в 15:02, Zhenya Stanilovsky <arzamas123@mail.ru.invalid
>>> :
>> 
>>> 
>>> 
>>> Ivan besides documentation [1]
>>> -s no —  no works
>>> -- catch_system_errors =no — works properly well, tests are passed.
>>> 
>>> boost 1.65
>>> 
>>> [1]
>>> https://www.boost.org/doc/libs/1_65_0/libs/test/doc/html/boost_test/utf_reference/rt_param_reference/catch_system.html
>>> 
>>>> Hello!
>>>> 
>>>> I didn't check tests since I don't develop AI C++, merely use it as user.
>>>> That's where we should wait for Igor Sapego to check.
>>>> 
>>>> Regards,
>>>> --
>>>> Ilya Kasnacheev
>>>> 
>>>> 
>>>> пт, 29 мая 2020 г. в 12:20, Ivan Daschinsky < ivandasch@gmail.com
>:
>>>> 
>>>>> Ilya, thanks a lot! What about tests? I found one flag that must be
>>>>> supplied to boost.tests.
>>>>> This flag should fix JVM crash of C++ suites on Linux.
>>>>> 
>>>>> Zhenya Stanilovsky and me have checked, that without this flag tests
>>> failed
>>>>> with SIGSEGV early (boost catch this signal from jvm, but it is ok for
>>>>> jvm).
>>>>> Flag is -catch_system_errors=no. I added it to CTest runner. You can
>>>>> invoke it manually and using make test ARGS="-V"
>>>>> 
>>>>> 
>>>>> 
>>>>> пт, 29 мая 2020 г. в 11:54, Ilya Kasnacheev <
>>> ilya.kasnacheev@gmail.com >:
>>>>> 
>>>>>> Hello!
>>>>>> 
>>>>>> Looks good to me! But we probably also ask Igor to take a look.
>>>>>> 
>>>>>> Compiled debug and release, without and with odbc, checked running
>>> thick
>>>>>> node and ODBC connection on Linux.
>>>>>> 
>>>>>> Regards,
>>>>>> --
>>>>>> Ilya Kasnacheev
>>>>>> 
>>>>>> 
>>>>>> чт, 28 мая 2020 г. в 17:31, Ivan Daschinsky < ivandasch@gmail.com
>:
>>>>>> 
>>>>>>> Ok, PR is ready
>>>>>>> https://issues.apache.org/jira/browse/IGNITE-13078
>>>>>>> 
>>>>>>> Build tested on Mac OS X 10.15 and Ubuntu 20.04 with CMake 3.17.2
>>> and
>>>>>> 3.6.1
>>>>>>> Unfortunately, I was not able to test on Windows, but principally
>>> it
>>>>>> should
>>>>>>> works, but minor issues are probable.
>>>>>>> 
>>>>>>> Instruction is attached in PR.
>>>>>>> Any use reports are welcomed!
>>>>>>> 
>>>>>>> вт, 26 мая 2020 г. в 18:51, Ivan Daschinsky < ivandasch@gmail.com
>>>> :
>>>>>>> 
>>>>>>>> Stephen, looks great! I do mostly the same things in C++
code.
>>> Thank
>>>>>> you!
>>>>>>>> 
>>>>>>>> вт, 26 мая 2020 г. в 18:33, Stephen Darlington <
>>>>>>>> stephen.darlington@gridgain.com >:
>>>>>>>> 
>>>>>>>>> Not sure if it’ll help, but I made some changes to
get it
>>> working
>>>>> on a
>>>>>>>>> Mac with the current built system. There may be some
code worth
>>>>>> taking.
>>>>>>>>> 
>>>>>>>>> https://github.com/apache/ignite/pull/4872 <
>>>>>>>>> https://github.com/apache/ignite/pull/4872 >
>>>>>>>>> 
>>>>>>>>> Regards,
>>>>>>>>> Stephen
>>>>>>>>> 
>>>>>>>>>> On 26 May 2020, at 16:02, Ivan Daschinsky <
>>> ivandasch@gmail.com >
>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> I appreciate any help, thank you, Ilya.
>>>>>>>>>> 
>>>>>>>>>> Currently I have a small PR without ticket (link
in first
>>>>> post),but
>>>>>> I
>>>>>>>>>> decided not to file a jira issue before discussion.
>>>>>>>>>> Now I see, that this feature are of great interest
to
>>> community.
>>>>> So
>>>>>> I
>>>>>>>>> file
>>>>>>>>>> a ticket, test myself on my home laptop (ubuntu 20.04)
>>>>>>>>>> and add detailed instructions to DEVNOTES.txt in
a few days.
>>>>>>>>>> 
>>>>>>>>>> I would be happy if my someone can follow the instruction
and
>>>>> write
>>>>>>>>>> possible issues.
>>>>>>>>>> 
>>>>>>>>>> I will notify about status update in this thread
in next few
>>> days.
>>>>>>>>>> 
>>>>>>>>>> Thank you all very much for support!
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> вт, 26 мая 2020 г. в 17:50, Ilya Kasnacheev
<
>>>>>>> ilya.kasnacheev@gmail.com
>>>>>>>>>> :
>>>>>>>>>> 
>>>>>>>>>>> Hello!
>>>>>>>>>>> 
>>>>>>>>>>> I will assist with checking on Linux if you would
contribute
>>> a
>>>>>> patch.
>>>>>>>>>>> Please start with a ticket (or even an IEP maybe?)
>>>>>>>>>>> 
>>>>>>>>>>> Regards,
>>>>>>>>>>> --
>>>>>>>>>>> Ilya Kasnacheev
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> вт, 26 мая 2020 г. в 16:47, Ivan Daschinsky
<
>>> ivandasch@gmail.com
>>>>>> :
>>>>>>>>>>> 
>>>>>>>>>>>> Guys, I will certainly thoroughly test my
fix not only
>>> unices,
>>>>> but
>>>>>>> on
>>>>>>>>>>>> windows too.
>>>>>>>>>>>> And I will describe it very thoroughly.
>>>>>>>>>>>> 
>>>>>>>>>>>> When I was C++ developer (more than 10 years
ago), I have
>>> not
>>>>> any
>>>>>>>>> trouble
>>>>>>>>>>>> at all with CMake and Visual Studio 2005.
>>>>>>>>>>>> Everything works and works good. Moreover,
you can build
>>> with
>>>>>> NMake,
>>>>>>>>>>>> msbuild and generate solutions for development.
>>>>>>>>>>>> 
>>>>>>>>>>>> I suppose, for CI purposes, using NMake is
a way better,
>>> than
>>>>> use
>>>>>> vs
>>>>>>>>>>>> solutions.
>>>>>>>>>>>> 
>>>>>>>>>>>> вт, 26 мая 2020 г. в 16:42, Nikolay
Izhikov <
>>>>> nizhikov@apache.org
>>>>>>> :
>>>>>>>>>>>> 
>>>>>>>>>>>>> Hello, Igor.
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Nikolay, removing support for a certain
build system is a
>>>>>> breaking
>>>>>>>>>>>>> change.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> No, it’s not.
>>>>>>>>>>>>> Why do you think so?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Development environment and build system
is a subject to
>>> change
>>>>>> in
>>>>>>>>> any
>>>>>>>>>>>>> project.
>>>>>>>>>>>>> We can drop or add support of any build
system any time we
>>>>> want.
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 26 мая 2020 г., в 16:35, Ilya
Kasnacheev <
>>>>>>> ilya.kasnacheev@gmail.com
>>>>>>>>>> 
>>>>>>>>>>>>> написал(а):
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Hello!
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> I don't see why we can't get rid
of autotools in a minor
>>>>>> release,
>>>>>>>>>>>>> provided
>>>>>>>>>>>>>> that cmake actually works. Removing
native VS support may
>>> be a
>>>>>>>>>>>> different
>>>>>>>>>>>>>> thing.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Build system and precise set of dependencies
is not a
>>> part of
>>>>>>> public
>>>>>>>>>>>> API
>>>>>>>>>>>>> in
>>>>>>>>>>>>>> my opinion.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Ilya Kasnacheev
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> вт, 26 мая 2020 г. в 16:02,
Igor Sapego <
>>> isapego@apache.org >:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Great!
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Let's start with creating a TC
suite for it.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> The only concern I have is that
it is one more build
>>> system
>>>>>>>>>>>>>>> to support. Should we get rid
of autotools in 3.0?
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>> Igor
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> On Tue, May 26, 2020 at 2:44
PM Alexey Kukushkin <
>>>>>>>>>>>>>>> kukushkinalexey@gmail.com >
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> +1. I recently completed
a cross-IDE (MS Visual Studio &
>>>>>>> GCC/GDB)
>>>>>>>>>>>>> Ignite
>>>>>>>>>>>>>>>> C++ project and CMake in
Ignite C++ would save me a day
>>> of
>>>>>>> effort.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> вт, 26 мая 2020 г.
в 12:09, Pavel Tupitsyn <
>>>>>>> ptupitsyn@apache.org
>>>>>>>>>> :
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> +1
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> On Tue, May 26, 2020
at 12:02 PM Zhenya Stanilovsky
>>>>>>>>>>>>>>>>> < arzamas123@mail.ru.invalid
> wrote:
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Ivan huge +1 with
your proposal.
>>>>>>>>>>>>>>>>>> I had some problems
with odbc tests building too,
>>> looks
>>>>> like
>>>>>>>>>>> cmake
>>>>>>>>>>>>>>> will
>>>>>>>>>>>>>>>>>> make it more easy.
>>>>>>>>>>>>>>>>>>> Hello Igniters.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> I’d like to
discuss porting build process of
>>> Ignite.C++.
>>>>> I
>>>>>>>>> think
>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>> there is time to
change it.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> *Motivation*
>>>>>>>>>>>>>>>>>>> Currently, it
is hard to build Ignite.C++. Different
>>>>> build
>>>>>>>>>>> process
>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>>> windows and linux,
lack of building support on Mac OS
>>> X
>>>>>> (quite
>>>>>>>>>>>>>>> popular
>>>>>>>>>>>>>>>> OS
>>>>>>>>>>>>>>>>>> among developers),
absolutely not IDE support, except
>>>>>> windows
>>>>>>>>> and
>>>>>>>>>>>>>>> only
>>>>>>>>>>>>>>>>>> Visual Studio is
supported.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> *Suggestion*
>>>>>>>>>>>>>>>>>>> I’d suggest
to migrate to CMake build system. It is
>>> very
>>>>>>>>> popular
>>>>>>>>>>>>>>> among
>>>>>>>>>>>>>>>>>> open source projects,
and in Apache Software
>>> Foundation
>>>>> too.
>>>>>>>>>>>> Notable
>>>>>>>>>>>>>>>>> user:
>>>>>>>>>>>>>>>>>> Apache Mesos, Apache
Zookeeper (C client offers CMake
>>> as
>>>>> an
>>>>>>>>>>>>>>> alternative
>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>> autoconf and only
option on windows), Apache Kafka
>>>>>>> (librdkafka -
>>>>>>>>>>>>>>> C/C++
>>>>>>>>>>>>>>>>>> client), Apache Thrift.
Popular column-oriented
>>> database
>>>>>>>>>>> ClickHouse
>>>>>>>>>>>>>>>> also
>>>>>>>>>>>>>>>>>> uses CMake.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> CMake is widely
supported in many IDE’s on various
>>>>>> platforms,
>>>>>>>>>>>>>>> notably
>>>>>>>>>>>>>>>>>> Visual Studio, CLion,
Xcode, QtCreator, KDevelop.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> *Current status*
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> Currently, the
most of work is done (see [1]) and
>>> tested
>>>>> on
>>>>>>> Mac
>>>>>>>>>>>> OS X
>>>>>>>>>>>>>>>>>> 10.15 (some C++ porting).
All tests are run without
>>> any
>>>>>> flaws,
>>>>>>>>>>>>>>>> including
>>>>>>>>>>>>>>>>>> odbc (unixodbc),
ssl, thin and thick client,
>>> installation,
>>>>>> IDE
>>>>>>>>>>>>>>>>> integration
>>>>>>>>>>>>>>>>>> (CLion). Next steps
is to test linux and windows.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> But full migration
isn’t possible without agreement
>>> and
>>>>>> help
>>>>>>> of
>>>>>>>>>>>>>>>>>> community. Even if
most of all you agree, migration
>>>>> requires
>>>>>>>>>>>>>>> additional
>>>>>>>>>>>>>>>>>> efforts in TC agents
tuning and so on (event though
>>> test
>>>>>>> running
>>>>>>>>>>>>>>> fully
>>>>>>>>>>>>>>>>>> automated by CMake
CTest).
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> Lets discuss
my proposition and idea.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> [1] -  https://github.com/apache/ignite/pull/7845
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> Best regards,
>>>>>>>>>>>>>>>> Alexey
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> --
>>>>>>>>>>>> Sincerely yours, Ivan Daschinskiy
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> --
>>>>>>>>>> Sincerely yours, Ivan Daschinskiy
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>>>>>>>> Sincerely yours, Ivan Daschinskiy
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Sincerely yours, Ivan Daschinskiy
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> Sincerely yours, Ivan Daschinskiy
>>>>> 
>>> 
>>> 
>>> 
>>> 
>> 
>> 
>> 
>> --
>> Sincerely yours, Ivan Daschinskiy
>> 
> 
> 
> -- 
> Sincerely yours, Ivan Daschinskiy


Mime
View raw message