[ 
https://issues.apache.org/jira/browse/MESOS-978?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benjamin Mahler updated MESOS-978:
----------------------------------

    Fix Version/s:     (was: 0.19.0)

> 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
>            Assignee: Benjamin Hindman
>
> 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.2#6252)

Reply via email to