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)