You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "James E. King, III (JIRA)" <ji...@apache.org> on 2017/04/02 16:29:41 UTC

[jira] [Comment Edited] (THRIFT-4158) minor issue in README-MSYS2.md

    [ https://issues.apache.org/jira/browse/THRIFT-4158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15952758#comment-15952758 ] 

James E. King, III edited comment on THRIFT-4158 at 4/2/17 4:28 PM:
--------------------------------------------------------------------

So one thing you can try if you are up for it is modify the build/appveyor build script to use the mingw64 libraries instead of msys2 and submit a pull request and see if the build passes.  (see https://thrift.apache.org/docs/HowToContribute for more details)  Each pull request builds msys2/mingw64 on appveyor so if you change the pacman library options and the build passes we're in pretty good shape to merge into master.  You can also set up a build environment locally then use the simulate-appveyor script to preflight it before submitting the pull request.  

I'm pretty sure the WITH_ variants work:
{noformat}
# Python
option(WITH_PYTHON "Build Python Thrift library" ON)            ### defined here
find_package(PythonInterp QUIET) # for Python executable
find_package(PythonLibs QUIET) # for Python.h
CMAKE_DEPENDENT_OPTION(BUILD_PYTHON "Build Python library" ON
                       "BUILD_LIBRARIES;WITH_PYTHON;PYTHONLIBS_FOUND" OFF)
{noformat}



was (Author: jking3):
So one thing you can try if you are up for it is modify the build/appveyor build script to use the mingw64 libraries instead of msys2 and submit a pull request and see if the build passes.  Each pull request builds msys2/mingw64 on appveyor.  You can also set up a build environment locally then use the simulate-appveyor script to preflight it before submitting the pull request.  I'm pretty sure the WITH_ variants work:
{noformat}
# Python
option(WITH_PYTHON "Build Python Thrift library" ON)            ### defined here
find_package(PythonInterp QUIET) # for Python executable
find_package(PythonLibs QUIET) # for Python.h
CMAKE_DEPENDENT_OPTION(BUILD_PYTHON "Build Python library" ON
                       "BUILD_LIBRARIES;WITH_PYTHON;PYTHONLIBS_FOUND" OFF)
{noformat}


> minor issue in README-MSYS2.md
> ------------------------------
>
>                 Key: THRIFT-4158
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4158
>             Project: Thrift
>          Issue Type: Bug
>          Components: Build Process
>    Affects Versions: 0.11.0
>            Reporter: Mario Emmenlauer
>            Assignee: James E. King, III
>
> In README-MSYS2.md there are recommended cmake build flags:
> {code}
>     cmake -G"MinGW Makefiles" -DCMAKE_MAKE_PROGRAM=/mingw64/bin/mingw32-make \
>        -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc.exe \
>        -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++.exe \
>        -DWITH_BOOSTTHREADS=ON -DWITH_LIBEVENT=OFF \
>        -DWITH_SHARED_LIB=OFF -DWITH_STATIC_LIB=ON \
>        -DWITH_JAVA=OFF -DWITH_PYTHON=OFF -DWITH_PERL=OFF \
> {code}
> However I think they are not really correct, or am I overlooking something?
> The options WITH_JAVA, WITH_PYTHON and WITH_PERL should be
> BUILD_JAVA, BUILD_PYTHON and BUILD_PERL, respectively. At least
> I could not find the WITH_XXX variants in CMakeLists.txt.
> The options CMAKE_MAKE_PROGRAM, CMAKE_C_COMPILER and
> CMAKE_CXX_COMPILER should be optional and not required. I think
> they are rather confusing since these compilers should be the default for
> a MINGW build shell.
> Finally, the readme recommends to install
> {code}
>     $ pacman -S bison flex openssl openssl-devel \
>                 mingw-w64-x86_64-boost mingw-w64-x86_64-cmake \
>                 mingw-w64-x86_64-toolchain zlib zlib-devel
> {code}
> The openssl and zlib variants used here are from MSYS2, not MinGW64.
> If there is no strong reason to use those, I think its recommended to use
> the MinGW46 variants instead:
> {code}
>     $ pacman -S bison flex mingw-w64-x86_64-openssl \
>                 mingw-w64-x86_64-boost mingw-w64-x86_64-cmake \
>                 mingw-w64-x86_64-toolchain mingw-w64-x86_64-zlib
> {code}
> My suggested options "build for me" so they come with at least a bit
> of testing...



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)