[
https://issues.apache.org/jira/browse/MESOS-2991?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14615671#comment-14615671
]
Alexander Rukletsov commented on MESOS-2991:
--------------------------------------------
This looks like a compiler bug. Slightly re-arranging this minimal example
makes it compile on the problematic version of `g++` on OS X:
{code}
Option(T &&) {}
Option(const T &) {}
template <typename U>
Option(const U &) {}
{code}
Re-arranging {{Option<>}} c-tors in
{{mesos/3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp}} also
fixes the issue.
> Compilation Error on Mac OS 10.10.4 with clang 3.5.0
> ----------------------------------------------------
>
> Key: MESOS-2991
> URL: https://issues.apache.org/jira/browse/MESOS-2991
> Project: Mesos
> Issue Type: Bug
> Components: stout, test
> Affects Versions: 0.23.0
> Reporter: Alexander Rukletsov
> Labels: mesosphere
>
> Compiling 0.23.0 (rc1) gives me compilation errors on Mac with clang 3.5. It
> looks like the issue was introduced in
> a5640ad813e6256b548fca068f04fd9fa3a03eda, https://reviews.apache.org/r/32838.
> In contrast to the commit message, compiling the rc with gcc4.4 on CentOS
> worked fine for me.
> According to 0.23 release notes and MESOS-2604, we support clang 3.5.
> {code}
> ../../../../../3rdparty/libprocess/3rdparty/stout/tests/os_tests.cpp:543:25:
> error: conversion from 'void ()' to 'const Option<void (*)()>' is ambiguous
> Fork(dosetsid, // Great-great-granchild.
> ^~~~~~~~
> ../../../../../3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp:40:3:
> note: candidate constructor
> Option(const T& _t) : state(SOME), t(_t) {}
> ^
> ../../../../../3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp:42:3:
> note: candidate constructor
> Option(T&& _t) : state(SOME), t(std::move(_t)) {}
> ^
> ../../../../../3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp:45:3:
> note: candidate constructor [with U = void ()]
> Option(const U& u) : state(SOME), t(u) {}
> ^
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)