geode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacob Barrett <jbarr...@pivotal.io>
Subject Re: Geode-Native Windows build
Date Thu, 13 Jul 2017 13:20:08 GMT
Yup! It should match the the minimum requirements mentioned at the very least. It should also
compile fine under 2017 though I don't believe anyone has yet.

Sent from my iPhone

> On Jul 13, 2017, at 6:08 AM, Daniel Farcovich <Daniel.Farcovich@amdocs.com> wrote:
> 
> From BUILDING.md:
> 
> Windows Generator
> 
> The recommended generator on Windows is Visual Studio 12 2013 Win64:
> 
> $ cmake -G "Visual Studio 12 2013 Win64" ../src
> 
> 
> Should we change that?
> 
> Daniel
> 
> -----Original Message-----
> From: Jacob Barrett [mailto:jbarrett@pivotal.io] 
> Sent: Thursday, July 13, 2017 3:06 PM
> To: dev@geode.apache.org
> Subject: Re: Geode-Native Windows build
> 
> VS 2013 is not fully C++11 compliant. The minimum compiler on windows is VS 2015.
> 
> Sent from my iPhone
> 
>> On Jul 13, 2017, at 4:32 AM, Daniel Farcovich <Daniel.Farcovich@amdocs.com>
wrote:
>> 
>> As I mentioned in the first email I receive compilation errors, for example:
>> 31>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(57):
error C2144: syntax error : 'bool' should be preceded by ';' (C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\src\FunctionServiceImpl.
>> 
>> The root cause of this error is in the use of "constexpr" in utils.hpp and build
in VS2013.
>> There are features of c++11 which are not implemented in various VS versions.
>> Here is a table with the unsupported features, where constexpr is one of them:
>> https://msdn.microsoft.com/en-us/library/hh567368.aspx#featurelist
>> 
>> I assume the rest of the errors are of the same reason.
>> 
>> Although boost has already macros to workaround constexpr (BOOST_CONSTEXPR), my suggestion
is to add a macro to geode_base.hpp for removing constexpr when it's not supported:
>> #ifdef _WIN32
>> #if _MSC_VER > 1800 //VS2015 and higher #define GF_CONSTEXPR constexpr 
>> #else #define GF_CONSTEXPR #endif #else #define GF_CONSTEXPR constexpr 
>> #endif
>> 
>> Daniel
>> 
>> -----Original Message-----
>> From: Daniel Farcovich
>> Sent: Thursday, July 13, 2017 10:07 AM
>> To: 'dev@geode.apache.org' <dev@geode.apache.org>
>> Subject: RE: Geode-Native Windows build
>> 
>> Hi Jake and Ernest,
>> 
>> I tried to build from c:\build
>> Here is the config command and output:
>> 
>> c:\build>cmake  -DCMAKE_INSTALL_PREFIX=C:\build\out -G "Visual Studio 
>> 12 2013 Win64" -Thost=x64 
>> C:\Users\Fdaniel\Source\Repos\geode-native2\src
>> -- The C compiler identification is MSVC 18.0.21005.1
>> -- The CXX compiler identification is MSVC 18.0.21005.1
>> -- Check for working C compiler: C:/Program Files (x86)/Microsoft 
>> Visual Studio 12.0/VC/bin/amd64/cl.exe
>> -- Check for working C compiler: C:/Program Files (x86)/Microsoft 
>> Visual Studio 12.0/VC/bin/amd64/cl.exe -- works
>> -- Detecting C compiler ABI info
>> -- Detecting C compiler ABI info - done
>> -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft 
>> Visual Studio 12.0/VC/bin/amd64/cl.exe
>> -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft 
>> Visual Studio 12.0/VC/bin/amd64/cl.exe -- works
>> -- Detecting CXX compiler ABI info
>> -- Detecting CXX compiler ABI info - done
>> -- Detecting CXX compile features
>> -- Detecting CXX compile features - done
>> -- Performing Test CFLAGS_M64_ALLOWED
>> -- Performing Test CFLAGS_M64_ALLOWED - Failed
>> -- Performing Test CXXFLAGS_M64_ALLOWED
>> -- Performing Test CXXFLAGS_M64_ALLOWED - Failed
>> -- Performing Test CFLAGS_mt_ALLOWED
>> -- Performing Test CFLAGS_mt_ALLOWED - Failed
>> -- Found Java: C:/Program Files/Java/jdk1.8.0_74/bin/java.exe (found 
>> suitable version "1.8.0.74", minimum required is "1.8.0.60") found 
>> components:  Development
>> -- Found Geode: 
>> C:\Users\Fdaniel\Source\Repos\geode\geode-assembly\build\install\apach
>> e-geode\bin\gfsh.bat (found suitable version "1.1.1", minimum required 
>> is "1.0")
>> -- Found Doxygen: C:/Program Files/doxygen/bin/doxygen.exe (found 
>> suitable version "1.8.13", minimum required is "1.6")
>> -- Found Git: C:/Program Files/Git/cmd/git.exe (found suitable version 
>> "2.10.2.windows.1", minimum required is "1.7")
>> -- Looking for include files sys/param.h, sys/mount.h
>> -- Looking for include files sys/param.h, sys/mount.h - not found
>> -- Looking for SIGSTKFLT
>> -- Looking for SIGSTKFLT - not found
>> -- Looking for SIGPWR
>> -- Looking for SIGPWR - not found
>> -- Found Geode: 
>> C:\Users\Fdaniel\Source\Repos\geode\geode-assembly\build\install\apach
>> e-geode\bin\gfsh.bat (found version "1.1.1")
>> -- Found Java: C:/Program Files/Java/jdk1.8.0_74/bin/java.exe (found 
>> version "1.8.0.74")
>> -- Found Doxygen: C:/Program Files/doxygen/bin/doxygen.exe (found 
>> version "1.8.13")
>> -- Configuring done
>> -- Generating done
>> 
>> -- Build files have been written to: C:/build
>> 
>> 
>> PFA CMakeError.log and CMakeOutput.log after "cmake --build . -- /m"
>> 
>> Thanks,
>> Daniel
>> 
>> -----Original Message-----
>> From: Jacob Barrett [mailto:jbarrett@pivotal.io]
>> Sent: Wednesday, July 12, 2017 5:11 PM
>> To: dev@geode.apache.org
>> Subject: Re: Geode-Native Windows build
>> 
>> While we wait for your config output there is something else that might bite you
if it isn't what is biting you now. Some of the third part libraries built as part of Geode
native have deep directory structures. Your deep directory structure to your sources combine
with that may result in paths over the windows limit. 
>> 
>> Consider using something more shallow on windows, like C:\build. Your source can
be anywhere since CMake builds are outside the source tree.
>> 
>> -Jake
>> 
>> 
>> Sent from my iPhone
>> 
>>> On Jul 12, 2017, at 6:52 AM, Daniel Farcovich <Daniel.Farcovich@amdocs.com>
wrote:
>>> 
>>> Hi,
>>> I'm failing to build geode native cpp client on windows, although 
>>> followed the instructions on BUILDING.md Looks like there are slash/backslash
fixes should be done in the paths in cmake files.
>>> After overcoming cmake  failures the build fails on stage "cmake --build . --
/m" with compilation errors for example:
>>> 
>>> 31>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(57):
error C2144: syntax error : 'bool' should be preceded by ';' (C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\src\FunctionServiceImpl.
>>>     cpp) [C:\Users\Fdaniel\Source\Repos\geode-native2\build\cppcache\src\apache-geode-static.vcxproj]
>>>   4>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(57):
error C2144: syntax error : 'bool' should be preceded by ';' (C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\src\FunctionServiceImpl.
>>>     cpp) [C:\Users\Fdaniel\Source\Repos\geode-native2\build\cppcache\src\apache-geode.vcxproj]
>>>  31>ClCompile:
>>>               C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(61)
: see reference to class template instantiation 'apache::geode::client::dereference_equal_to<std::shared_ptr<_Ty>>'
being compiled
>>>   4>ClCompile:
>>>               C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(61)
: see reference to class template instantiation 'apache::geode::client::dereference_equal_to<std::shared_ptr<_Ty>>'
being compiled
>>>  31>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(57):
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
(C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppc
>>>     ache\src\FunctionServiceImpl.cpp) [C:\Users\Fdaniel\Source\Repos\geode-native2\build\cppcache\src\apache-geode-static.vcxproj]
>>>   4>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(57):
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
(C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppc
>>>     ache\src\FunctionServiceImpl.cpp) [C:\Users\Fdaniel\Source\Repos\geode-native2\build\cppcache\src\apache-geode.vcxproj]
>>>  31>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(67):
error C2144: syntax error : 'bool' should be preceded by ';' (C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\src\FunctionServiceImpl.
>>>     cpp) [C:\Users\Fdaniel\Source\Repos\geode-native2\build\cppcache\src\apache-geode-static.vcxproj]
>>>   4>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(67):
error C2144: syntax error : 'bool' should be preceded by ';' (C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\src\FunctionServiceImpl.
>>>     cpp) [C:\Users\Fdaniel\Source\Repos\geode-native2\build\cppcache\src\apache-geode.vcxproj]
>>>  31>ClCompile:
>>>               C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(71)
: see reference to class template instantiation 'apache::geode::client::dereference_equal_to<_T*>'
being compiled
>>>   4>ClCompile:
>>> 
>>> C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geod
>>> e
>>> /utils.hpp(71) : see reference to class template instantiation 
>>> 'apache::geode::client::dereference_equal_to<_T*>' being compiled
>>> 
>>> 
>>> Is the windows native client build stable?
>>> 
>>> Thanks,
>>> Daniel
>>> 
>>> This message and the information contained herein is proprietary and 
>>> confidential and subject to the Amdocs policy statement,
>>> 
>>> you may review at https://www.amdocs.com/about/email-disclaimer
>>> <https://www.amdocs.com/about/email-disclaimer>
>> This message and the information contained herein is proprietary and 
>> confidential and subject to the Amdocs policy statement,
>> 
>> you may review at https://www.amdocs.com/about/email-disclaimer 
>> <https://www.amdocs.com/about/email-disclaimer>
>> 
> This message and the information contained herein is proprietary and confidential and
subject to the Amdocs policy statement,
> 
> you may review at https://www.amdocs.com/about/email-disclaimer <https://www.amdocs.com/about/email-disclaimer>
> 

Mime
View raw message