Vinod Kone created MESOS-978:
--------------------------------

             Summary: Building libprocess fails on ubuntu 12.10 w/ clang
                 Key: MESOS-978
                 URL: https://issues.apache.org/jira/browse/MESOS-978
             Project: Mesos
          Issue Type: Bug
          Components: build
    Affects Versions: 0.18.0
         Environment: ubuntu 12.10 w/ clang
            Reporter: Vinod Kone
             Fix For: 0.18.0


In file included from src/latch.cpp:3:
In file included from ./include/process/process.hpp:11:
In file included from ./include/process/event.hpp:4:
./include/process/future.hpp:310:17: error: invalid use of 'this' outside of a 
nonstatic member function
    -> decltype(this->then(std::forward<F>(f), Prefer()))
                ^
./include/process/future.hpp:311:3: error: type name requires a specifier or 
qualifier
  {
  ^
./include/process/future.hpp:311:3: error: C++ requires a type specifier for 
all declarations
  {
  ^
./include/process/future.hpp:309:3: error: 'auto' return without trailing 
return type
  auto then(F&& f) const
  ^
./include/process/future.hpp:171:13: error: use of undeclared identifier 't'
          f(t);
            ^
0  libLLVM-3.0.so.1 0x00002b8df885866f
1  libLLVM-3.0.so.1 0x00002b8df8858ad9
2  libpthread.so.0  0x00002b8df9197cb0
3  clang            0x0000000000d2570a 
clang::CXXUnresolvedConstructExpr::CXXUnresolvedConstructExpr(clang::TypeSourceInfo*,
 clang::SourceLocation, clang::Expr**, unsigned int, clang::SourceLocation) + 
298
4  clang            0x0000000000d257a7 
clang::CXXUnresolvedConstructExpr::Create(clang::ASTContext&, 
clang::TypeSourceInfo*, clang::SourceLocation, clang::Expr**, unsigned int, 
clang::SourceLocation) + 103
5  clang            0x000000000094f2c6 
clang::Sema::BuildCXXTypeConstructExpr(clang::TypeSourceInfo*, 
clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation) 
+ 150
6  clang            0x000000000094f854 
clang::Sema::ActOnCXXTypeConstructExpr(clang::OpaquePtr<clang::QualType>, 
clang::SourceLocation, clang::ASTMultiPtr<clang::Expr*>, clang::SourceLocation) 
+ 84
7  clang            0x0000000000815fb2 
clang::Parser::ParseCXXTypeConstructExpression(clang::DeclSpec const&) + 674
8  clang            0x000000000080e931 clang::Parser::ParseCastExpression(bool, 
bool, bool&, bool) + 7361
9  clang            0x000000000080f59e clang::Parser::ParseCastExpression(bool, 
bool, bool) + 30
10 clang            0x000000000080d7c0 clang::Parser::ParseCastExpression(bool, 
bool, bool&, bool) + 2896
11 clang            0x000000000080f59e clang::Parser::ParseCastExpression(bool, 
bool, bool) + 30
12 clang            0x000000000080fe8f 
clang::Parser::ParseAssignmentExpression() + 31
13 clang            0x000000000080ff5e 
clang::Parser::ParseExpressionList(llvm::SmallVectorImpl<clang::Expr*>&, 
llvm::SmallVectorImpl<clang::SourceLocation>&, void 
(clang::Sema::*)(clang::Scope*, clang::Expr*, clang::Expr**, unsigned int), 
clang::Expr*) + 110
14 clang            0x000000000081239b 
clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, 
true>) + 731
15 clang            0x000000000080cd3b clang::Parser::ParseCastExpression(bool, 
bool, bool&, bool) + 203
16 clang            0x000000000080f59e clang::Parser::ParseCastExpression(bool, 
bool, bool) + 30
17 clang            0x000000000080fe8f 
clang::Parser::ParseAssignmentExpression() + 31
18 clang            0x0000000000810c59 clang::Parser::ParseExpression() + 9
19 clang            0x00000000007c9937 
clang::Parser::ParseReturnStatement(clang::ParsedAttributes&) + 103
20 clang            0x00000000007cf5c6 
clang::Parser::ParseStatementOrDeclaration(clang::ASTOwningVector<clang::Stmt*, 
32u>&, bool) + 486
21 clang            0x00000000007cca11 
clang::Parser::ParseCompoundStatementBody(bool) + 417
22 clang            0x00000000007cd6fa 
clang::Parser::ParseFunctionStatementBody(clang::Decl*, 
clang::Parser::ParseScope&) + 138
23 clang            0x00000000007e98d9 
clang::Parser::ParseLexedMethodDef(clang::Parser::LexedMethod&) + 601
24 clang            0x00000000007e9609 
clang::Parser::ParseLexedMethodDefs(clang::Parser::ParsingClass&) + 121
25 clang            0x0000000000807dc7 
clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, unsigned int, 
clang::Decl*) + 2407
26 clang            0x0000000000808f2b 
clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, 
clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo 
const&, clang::AccessSpecifier, bool) + 3275
27 clang            0x00000000007f78f1 
clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, 
clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, 
clang::Parser::DeclSpecContext) + 593
28 clang            0x00000000007d4505 
clang::Parser::ParseSingleDeclarationAfterTemplate(unsigned int, 
clang::Parser::ParsedTemplateInfo const&, 
clang::Parser::ParsingDeclRAIIObject&, clang::SourceLocation&, 
clang::AccessSpecifier, clang::AttributeList*) + 773
29 clang            0x00000000007d7c70 
clang::Parser::ParseTemplateDeclarationOrSpecialization(unsigned int, 
clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) + 608
30 clang            0x00000000007d86a7 
clang::Parser::ParseDeclarationStartingWithTemplate(unsigned int, 
clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) + 103
31 clang            0x00000000007f9ae4 
clang::Parser::ParseDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, 
unsigned int, clang::SourceLocation&, 
clang::Parser::ParsedAttributesWithRange&) + 596
32 clang            0x00000000007e483d 
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
 clang::Parser::ParsingDeclSpec*) + 1037
33 clang            0x00000000008032ef 
clang::Parser::ParseInnerNamespace(std::vector<clang::SourceLocation, 
std::allocator<clang::SourceLocation> >&, std::vector<clang::IdentifierInfo*, 
std::allocator<clang::IdentifierInfo*> >&, std::vector<clang::SourceLocation, 
std::allocator<clang::SourceLocation> >&, unsigned int, clang::SourceLocation&, 
clang::ParsedAttributes&, clang::Parser::BalancedDelimiterTracker&) + 367
34 clang            0x000000000080403e clang::Parser::ParseNamespace(unsigned 
int, clang::SourceLocation&, clang::SourceLocation) + 1854
35 clang            0x00000000007f9b11 
clang::Parser::ParseDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&, 
unsigned int, clang::SourceLocation&, 
clang::Parser::ParsedAttributesWithRange&) + 641
36 clang            0x00000000007e483d 
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
 clang::Parser::ParsingDeclSpec*) + 1037
37 clang            0x00000000007e5417 
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 167
38 clang            0x00000000007bcbfd clang::ParseAST(clang::Sema&, bool) + 269
39 clang            0x00000000006a6253 clang::CodeGenAction::ExecuteAction() + 
51
40 clang            0x00000000005adc7f 
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 319
41 clang            0x000000000059653a 
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1114
42 clang            0x000000000058e1c4 cc1_main(char const**, char const**, 
char const*, void*) + 820
43 clang            0x000000000058cb3c main + 620
44 libc.so.6        0x00002b8df98e076d __libc_start_main + 237
45 clang            0x000000000058dd39
Stack dump:
0.      Program arguments: /usr/bin/clang -cc1 -triple x86_64-pc-linux-gnu 
-emit-obj -disable-free -disable-llvm-verifier -main-file-name latch.cpp 
-pic-level 2 -mdisable-fp-elim -masm-verbose -mconstructor-aliases 
-munwind-tables -target-cpu x86-64 -target-linker-version 2.22 
-momit-leaf-frame-pointer -g -coverage-file libprocess_la-latch.o -resource-dir 
/usr/bin/../lib/clang/3.0 -dependency-file .deps/libprocess_la-latch.Tpo 
-sys-header-deps -MP -MT libprocess_la-latch.lo -D PACKAGE_NAME="libprocess" -D 
PACKAGE_TARNAME="libprocess" -D PACKAGE_VERSION="0.0.1" -D 
PACKAGE_STRING="libprocess 0.0.1" -D PACKAGE_BUGREPORT="" -D PACKAGE_URL="" -D 
PACKAGE="libprocess" -D VERSION="0.0.1" -D STDC_HEADERS=1 -D HAVE_SYS_TYPES_H=1 
-D HAVE_SYS_STAT_H=1 -D HAVE_STDLIB_H=1 -D HAVE_STRING_H=1 -D HAVE_MEMORY_H=1 
-D HAVE_STRINGS_H=1 -D HAVE_INTTYPES_H=1 -D HAVE_STDINT_H=1 -D HAVE_UNISTD_H=1 
-D HAVE_DLFCN_H=1 -D LT_OBJDIR=".libs/" -D HAVE_PTHREAD=1 -D HAVE_LIBZ=1 -D 
GTEST_USE_OWN_TR1_TUPLE=1 -D PIC -I . -I ./include -I ./3rdparty/stout/include 
-I 3rdparty/boost-1.53.0 -I 3rdparty/glog-0.3.3/src -I 3rdparty/libev-4.15 -I 
3rdparty/ry-http-parser-1c3624a -fmodule-cache-path /var/tmp/clang-module-cache 
-internal-isystem /usr/include/c++/4.6 -internal-isystem 
/usr/include/c++/4.6/x86_64-linux-gnu -internal-isystem 
/usr/include/c++/4.6/backward -internal-isystem /usr/local/include 
-internal-isystem /usr/bin/../lib/clang/3.0/include -internal-externc-isystem 
/usr/include/x86_64-linux-gnu -internal-externc-isystem /usr/include -O2 
-std=c++11 -fdeprecated-macro -ferror-limit 19 -fmessage-length 0 -fgnu-runtime 
-fobjc-runtime-has-arc -fobjc-runtime-has-weak -fobjc-fragile-abi 
-fcxx-exceptions -fexceptions -fdiagnostics-show-option -o 
libprocess_la-latch.o -x c++ src/latch.cpp 
1.      ./include/process/future.hpp:172:11: current parser token ')'
2.      ./include/process/future.hpp:25:1: parsing namespace 'process'
3.      ./include/process/future.hpp:62:1: parsing struct/union/class body 
'Future'
4.      ./include/process/future.hpp:168:3: parsing function body 'onReady'
5.      ./include/process/future.hpp:168:3: in compound statement ('{}')
clang: error: unable to execute command: Segmentation fault
clang: error: clang frontend command failed due to signal 2 (use -v to see 
invocation)
clang: note: diagnostic msg: Please submit a bug report to 
http://llvm.org/bugs/ and include command line arguments and all diagnostic 
information.




--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to