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