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

Joris Van Remoortere commented on MESOS-3094:
---------------------------------------------

{code}
commit cc0b6ea87f2ca9bb2d51d18f189b8d1bccc1c7a1
Author: Alex Clemmer <[email protected]>
Date:   Thu Sep 10 12:08:03 2015 -0700

    Fixed CMake build compile error; don't compile GMock with cxx11 flag.
    
    Right now if you try to compile GMock a non-Windows platform using the
    CMake build system, it will error out. The problem seems to be the CXX11
    flag.
    
    This commit will solve this problem by removing that flag.
    
    Review: https://reviews.apache.org/r/37370

commit 588b94e7806b4fb5ad2abb02b6229405858eef76
Author: Alex Clemmer <[email protected]>
Date:   Thu Sep 10 12:07:56 2015 -0700

    Added firewall.cpp to the process library CMakeLists.
    
    Right now, if you try to build on a non-Windows machine with CMakeLists,
    you'll get a linker error claiming that we can't find a symbol from the
    process library's firewall.cpp.
    
    This commit simply adds that source file, which fixes the problem.
    
    Review: https://reviews.apache.org/r/37369

commit 788580cd808c998b6ae472c27bf8728ca37bf280
Author: Alex Clemmer <[email protected]>
Date:   Thu Sep 10 12:07:46 2015 -0700

    Cleaned up stout/windows.hpp.
    
    Review: https://reviews.apache.org/r/37368

commit 066a5a8000b98199aa799c53def7ccbff76a82a6
Author: Alex Clemmer <[email protected]>
Date:   Thu Sep 10 12:07:34 2015 -0700

    Modernized the Stout tests CMakeLists file.
    
    Now that other people are starting to attempt to compile Stout on
    Windows, it's important that we give them a CMakeLists file that
    explicitly compiles the parts of Stout we're willing to support.
    
    Review: https://reviews.apache.org/r/37345

commit 989eca4db7301f8cdae37cc9f801095ff0061929
Author: Alex Clemmer <[email protected]>
Date:   Thu Sep 10 12:07:21 2015 -0700

    Implemented stout/os/windows/exists.hpp.
    
    Review: https://reviews.apache.org/r/37344
    
commit 3b03427790a9d443c677bbbebd6016b798302b1e
Author: Alex Clemmer <[email protected]>
Date:   Thu Sep 10 12:07:06 2015 -0700

    Extended permissions.hpp to work on both Windows and POSIX.
    
    Review: https://reviews.apache.org/r/37032

commit 342f2b301ef42dee3077351db8debdc054e32848
Author: Alex Clemmer <[email protected]>
Date:   Thu Sep 10 12:06:49 2015 -0700

    Implemented os::close for Windows.
    
    Review: https://reviews.apache.org/r/37031

commit 92ed652bf179fb93f9040602c2e8d74a90bb7114
Author: Alex Clemmer <[email protected]>
Date:   Thu Sep 10 12:06:25 2015 -0700

    Modified definitions in windows.hpp to fit real compilation problems.
    
    Essentially, there are some definitions that need to be there, and some
    that are not quite right.
    
    This commit adds and removes the definitions required to get the ip
    tests to pass. We also add some nice comments.
    
    Review: https://reviews.apache.org/r/37030

commit 069f2e3b9ae28b54b6fd550f65662022726c7b73
Author: Alex Clemmer <[email protected]>
Date:   Thu Sep 10 12:06:15 2015 -0700

    Removed glog signal handler installation on Windows.
    
    glog declares, but does not define the function
    `google::InstallFailureSignalHandler`. If you try to compile a call to
    this function, you will get a linker error.
    
    Since we can't use it, this commit will remove that code on Windows.
    
    Review: https://reviews.apache.org/r/37021
    
commit 66b6ab84091428f2f3391887e29fbfe9ad14b64f
Author: Alex Clemmer <[email protected]>
Date:   Thu Sep 10 12:06:07 2015 -0700

    Transitioned Windows builds to use glog v0.3.4.
    
    To get Stout tests to compile on Windows, it is necessary to upgrade the
    glog dependency to 0.3.4 (which will allow you to compile with MSVC
    1800), and then port glog 0.3.4 to support compiling with MSVC 1900
    (which Mesos requires). The code comments explain why we can't compile
    with 1800 and link simply have Mesos link to it.
    
    Note that we have supplied the MSVC 1900 port to the glog project, under
    pull request #43[1].
    
    The longer story follows:
    
    glog v0.3.3 will not build on Windows for a few reasons that are fixed
    in the 0.3.4 release. (For example, `algorithms` is not included in one
    file the requires it.)
    
    Since 0.3.4 appears to only fix bugs, and because there appear to be no
    major changes in (e.g.) the ABI, I believe this is a safe change to
    make. Additionally, when we ported it to compile on MSVC 1900, we didn't
    want to re-write the changes they made in 0.3.4 to make it run on MSVC
    1800, so this was a natural starting point for us.
    
    I choose not to attempt to upgrade the Linux glog dependency, either in
    the CMake solution, or in the autotools solution, for 3 reasons.
    
    (1) I don't want to ask the community reconsider its dependency choices
        on the basis that an experimental Windows port requires a more
        recent version.
    (2) We are currently rebundling the glog library as a binary, which
        means that a solution will be somewhat involved (i.e., either we
        have to change the patch command we're running on glog, or we have
        to change the binary)
    (3) We can easily support both versions in CMake using the very powerful
        macro system, which will allow us download the dependency on Windows
        machines and use the tarball on other systems.
    
    Footnotes:
    [1] https://github.com/google/glog/pull/43
    
    Review: https://reviews.apache.org/r/37020
    
commit 3446c25ca9450807c2547d829412162282e38038
Author: Alex Clemmer <[email protected]>
Date:   Thu Sep 10 12:05:59 2015 -0700

    Changed build commands for 3rdparty libs to be no-ops in Windows.
    
    Largely a reverse of a previous commit. We previously removed the quotes
    from around some interpolated variables, to instead make them regular
    variable expansions, but in their context (they expand to build commands
    for third-party libraries) we now know that this doesn't work on all
    platforms for all versions of CMake.
    
    A longer explanation of the technical issue is in the code comments.
    
    Review: https://reviews.apache.org/r/37019
{code}

> Mesos on Windows
> ----------------
>
>                 Key: MESOS-3094
>                 URL: https://issues.apache.org/jira/browse/MESOS-3094
>             Project: Mesos
>          Issue Type: Epic
>          Components: containerization, libprocess, stout
>            Reporter: Joseph Wu
>            Assignee: Alex Clemmer
>              Labels: mesosphere
>
> The ultimate goal of this is to have all containerizer tests running and 
> passing on Windows Server.
> # It must build (see MESOS-898).
> # All OS-specific code (that is touched by the containerizer) must be ported 
> to Windows.
> # The containizer itself must be ported to Windows, alongside the 
> MesosContainerizer.
> Note: Isolation (cgroups) will probably not exist on Windows.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to