[
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)