I'm currently in process of refactoring LanguageKit.  The version in trunk 
should build against LLVM trunk (it did a week ago).  Once the refactoring is 
done, I'm tweak it to build with 2.9.

David

On 17 Jul 2011, at 04:07, moritz laeger wrote:

> Hi
> 
> I am trying to build etoile on archlinux from trunk. Following your 
> instructions on the website I installed llvm/clang and gnustep form trunk.  
> But on compiling etoile I get these errors:
> 
> Build Project: LanguageKitCodeGen
> 
> Making all for framework LanguageKitCodeGen...
>  Compiling file CGObjCGNU.cpp ...
> CGObjCGNU.cpp:247:16: error: no matching function for call to 'get'
>         SelStructTy = GetStructType(
>                       ^~~~~~~~~~~~~~
> /home/boon/tmp/Etoile/Languages/LanguageKit/CodeGen/LLVMCompat.h:55:37: note: 
> expanded from:
> #define GetStructType(context, ...) StructType::get(__VA_ARGS__)
>                                     ^~~~~~~~~~~~~~~
> /usr/local/include/llvm/DerivedTypes.h:211:22: note: candidate function not 
> viable: no known conversion from
>       'const llvm::Type *' to 'llvm::LLVMContext &' for 1st argument
>   static StructType *get(LLVMContext &Context, ArrayRef<Type*> Elements,
>                      ^
> /usr/local/include/llvm/DerivedTypes.h:222:22: note: candidate function not 
> viable: 1st argument
>       ('const llvm::Type *') would lose const qualifier
>   static StructType *get(Type *elt1, ...) END_WITH_NULL;
>                      ^
> /usr/local/include/llvm/DerivedTypes.h:216:22: note: candidate function not 
> viable: requires at most 2 arguments,
>       but 3 were provided
>   static StructType *get(LLVMContext &Context, bool isPacked = false);
>                      ^
> CGObjCGNU.cpp:262:10: error: no matching function for call to 'get'
>         IMPTy = llvm::FunctionType::get(IdTy, IMPArgs, true);
>                 ^~~~~~~~~~~~~~~~~~~~~~~
> /usr/local/include/llvm/DerivedTypes.h:105:24: note: candidate function not 
> viable: no known conversion from
>       'std::vector<const llvm::Type *>' to 'ArrayRef<llvm::Type *>' for 2nd 
> argument
>   static FunctionType *get(const Type *Result,
>                        ^
> /usr/local/include/llvm/DerivedTypes.h:110:24: note: candidate function not 
> viable: requires 2 arguments, but 3 were
>       provided
>   static FunctionType *get(const Type *Result, bool isVarArg);
>                        ^
> CGObjCGNU.cpp:405:3: error: no matching function for call to 'get'
>                 GetStructType(Context, PtrToInt8Ty, PtrToInt8Ty, IntTy,
>                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /home/boon/tmp/Etoile/Languages/LanguageKit/CodeGen/LLVMCompat.h:55:37: note: 
> expanded from:
> #define GetStructType(context, ...) StructType::get(__VA_ARGS__)
>                                     ^~~~~~~~~~~~~~~
> /usr/local/include/llvm/DerivedTypes.h:222:22: note: candidate function not 
> viable: 1st argument
>       ('const llvm::Type *') would lose const qualifier
>   static StructType *get(Type *elt1, ...) END_WITH_NULL;
>                      ^
> /usr/local/include/llvm/DerivedTypes.h:211:22: note: candidate function not 
> viable: requires at most 3 arguments,
>       but 4 were provided
>   static StructType *get(LLVMContext &Context, ArrayRef<Type*> Elements,
>                      ^
> /usr/local/include/llvm/DerivedTypes.h:216:22: note: candidate function not 
> viable: requires at most 2 arguments,
>       but 4 were provided
>   static StructType *get(LLVMContext &Context, bool isPacked = false);
>                      ^
> CGObjCGNU.cpp:460:17: error: no matching member function for call to 
> 'CreateInvoke'
>                 ret = Builder.CreateInvoke(imp, continueBB, CleanupBlock,
>                       ~~~~~~~~^~~~~~~~~~~~
> /usr/local/include/llvm/Support/IRBuilder.h:456:15: note: candidate function 
> not viable: no known conversion from
>       'iterator' (aka 'llvm::Value **') to 'llvm::Value *' for 4th argument
>   InvokeInst *CreateInvoke(Value *Callee, BasicBlock *NormalDest,
>               ^
> /usr/local/include/llvm/Support/IRBuilder.h:471:15: note: candidate function 
> not viable: no known conversion from
>       'iterator' (aka 'llvm::Value **') to 'ArrayRef<llvm::Value *>' for 4th 
> argument
>   InvokeInst *CreateInvoke(Value *Callee, BasicBlock *NormalDest,
>               ^
> /usr/local/include/llvm/Support/IRBuilder.h:450:15: note: candidate function 
> not viable: requires at most 4
>       arguments, but 5 were provided
>   InvokeInst *CreateInvoke(Value *Callee, BasicBlock *NormalDest,
>               ^
> CGObjCGNU.cpp:471:17: error: no matching member function for call to 
> 'CreateCall'
>                 ret = Builder.CreateCall(imp, callArgs.begin(), 
> callArgs.end());
>                       ~~~~~~~~^~~~~~~~~~
> /usr/local/include/llvm/Support/IRBuilder.h:1119:13: note: candidate function 
> not viable: no known conversion from
>       'iterator' (aka 'llvm::Value **') to 'llvm::Value *' for 2nd argument
>   CallInst *CreateCall(Value *Callee, Value *Arg, const Twine &Name = "") {
>             ^
> /usr/local/include/llvm/Support/IRBuilder.h:1143:13: note: candidate function 
> not viable: no known conversion from
>       'iterator' (aka 'llvm::Value **') to 'ArrayRef<llvm::Value *>' for 2nd 
> argument
>   CallInst *CreateCall(Value *Callee, ArrayRef<Value *> Args,
>             ^
> /usr/local/include/llvm/Support/IRBuilder.h:1116:13: note: candidate function 
> not viable: requires at most 2
>       arguments, but 3 were provided
>   CallInst *CreateCall(Value *Callee, const Twine &Name = "") {
>             ^
> CGObjCGNU.cpp:522:3: error: no matching function for call to 'get'
>                 llvm::FunctionType::get(llvm::Type::getVoidTy(Context), 
> impArgTypes, true) :
>                 ^~~~~~~~~~~~~~~~~~~~~~~
> /usr/local/include/llvm/DerivedTypes.h:105:24: note: candidate function not 
> viable: no known conversion from
>       'std::vector<const llvm::Type *>' to 'ArrayRef<llvm::Type *>' for 2nd 
> argument
>   static FunctionType *get(const Type *Result,
>                        ^
> /usr/local/include/llvm/DerivedTypes.h:110:24: note: candidate function not 
> viable: requires 2 arguments, but 3 were
>       provided
>   static FunctionType *get(const Type *Result, bool isVarArg);
>                        ^
> CGObjCGNU.cpp:523:3: error: no matching function for call to 'get'
>                 llvm::FunctionType::get(ReturnTy, impArgTypes, true);
>                 ^~~~~~~~~~~~~~~~~~~~~~~
> /usr/local/include/llvm/DerivedTypes.h:105:24: note: candidate function not 
> viable: no known conversion from
>       'std::vector<const llvm::Type *>' to 'ArrayRef<llvm::Type *>' for 2nd 
> argument
>   static FunctionType *get(const Type *Result,
>                        ^
> /usr/local/include/llvm/DerivedTypes.h:110:24: note: candidate function not 
> viable: requires 2 arguments, but 3 were
>       provided
>   static FunctionType *get(const Type *Result, bool isVarArg);
>                        ^
> CGObjCGNU.cpp:539:23: error: no matching function for call to 'get'
>         llvm::Type *SlotTy = GetStructType(Context, PtrTy, PtrTy, PtrTy,
>                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /home/boon/tmp/Etoile/Languages/LanguageKit/CodeGen/LLVMCompat.h:55:37: note: 
> expanded from:
> #define GetStructType(context, ...) StructType::get(__VA_ARGS__)
>                                     ^~~~~~~~~~~~~~~
> /usr/local/include/llvm/DerivedTypes.h:222:22: note: candidate function not 
> viable: 1st argument
>       ('const llvm::Type *') would lose const qualifier
>   static StructType *get(Type *elt1, ...) END_WITH_NULL;
>                      ^
> /usr/local/include/llvm/DerivedTypes.h:211:22: note: candidate function not 
> viable: requires at most 3 arguments,
>       but 6 were provided
>   static StructType *get(LLVMContext &Context, ArrayRef<Type*> Elements,
>                      ^
> /usr/local/include/llvm/DerivedTypes.h:216:22: note: candidate function not 
> viable: requires at most 2 arguments,
>       but 6 were provided
>   static StructType *get(LLVMContext &Context, bool isPacked = false);
>                      ^
> CGObjCGNU.cpp:544:4: error: no matching function for call to 'get'
>                         llvm::FunctionType::get( 
> llvm::PointerType::getUnqual(SlotTy),
>                         ^~~~~~~~~~~~~~~~~~~~~~~
> /usr/local/include/llvm/DerivedTypes.h:105:24: note: candidate function not 
> viable: no known conversion from
>       'std::vector<const llvm::Type *>' to 'ArrayRef<llvm::Type *>' for 2nd 
> argument
>   static FunctionType *get(const Type *Result,
>                        ^
> /usr/local/include/llvm/DerivedTypes.h:110:24: note: candidate function not 
> viable: requires 2 arguments, but 3 were
>       provided
>   static FunctionType *get(const Type *Result, bool isVarArg);
>                        ^
> CGObjCGNU.cpp:547:33: error: no matching member function for call to 
> 'CreateCall'
>         llvm::CallInst *slot = Builder.CreateCall(lookupFunction, lookupArgs,
>                                ~~~~~~~~^~~~~~~~~~
> /usr/local/include/llvm/Support/IRBuilder.h:1143:13: note: candidate function 
> not viable: no known conversion from
>       'llvm::Value **' to 'const llvm::Twine' for 3rd argument
>   CallInst *CreateCall(Value *Callee, ArrayRef<Value *> Args,
>             ^
> /usr/local/include/llvm/Support/IRBuilder.h:1119:13: note: candidate function 
> not viable: no known conversion from
>       'llvm::Value *[2]' to 'llvm::Value *' for 2nd argument
>   CallInst *CreateCall(Value *Callee, Value *Arg, const Twine &Name = "") {
>             ^
> /usr/local/include/llvm/Support/IRBuilder.h:1116:13: note: candidate function 
> not viable: requires at most 2
>       arguments, but 3 were provided
>   CallInst *CreateCall(Value *Callee, const Twine &Name = "") {
>             ^
> CGObjCGNU.cpp:591:3: error: no matching function for call to 'get'
>                 llvm::FunctionType::get(llvm::Type::getVoidTy(Context), 
> impArgTypes, true) :
>                 ^~~~~~~~~~~~~~~~~~~~~~~
> /usr/local/include/llvm/DerivedTypes.h:105:24: note: candidate function not 
> viable: no known conversion from
>       'std::vector<const llvm::Type *>' to 'ArrayRef<llvm::Type *>' for 2nd 
> argument
>   static FunctionType *get(const Type *Result,
>                        ^
> /usr/local/include/llvm/DerivedTypes.h:110:24: note: candidate function not 
> viable: requires 2 arguments, but 3 were
>       provided
>   static FunctionType *get(const Type *Result, bool isVarArg);
>                        ^
> CGObjCGNU.cpp:592:3: error: no matching function for call to 'get'
>                 llvm::FunctionType::get(ReturnTy, impArgTypes, true);
>                 ^~~~~~~~~~~~~~~~~~~~~~~
> /usr/local/include/llvm/DerivedTypes.h:105:24: note: candidate function not 
> viable: no known conversion from
>       'std::vector<const llvm::Type *>' to 'ArrayRef<llvm::Type *>' for 2nd 
> argument
>   static FunctionType *get(const Type *Result,
>                        ^
> /usr/local/include/llvm/DerivedTypes.h:110:24: note: candidate function not 
> viable: requires 2 arguments, but 3 were
>       provided
>   static FunctionType *get(const Type *Result, bool isVarArg);
>                        ^
> CGObjCGNU.cpp:601:23: error: no matching function for call to 'get'
>         llvm::Type *SlotTy = GetStructType(Context, PtrTy, PtrTy, PtrTy,
>                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /home/boon/tmp/Etoile/Languages/LanguageKit/CodeGen/LLVMCompat.h:55:37: note: 
> expanded from:
> #define GetStructType(context, ...) StructType::get(__VA_ARGS__)
>                                     ^~~~~~~~~~~~~~~
> /usr/local/include/llvm/DerivedTypes.h:222:22: note: candidate function not 
> viable: 1st argument
>       ('const llvm::Type *') would lose const qualifier
>   static StructType *get(Type *elt1, ...) END_WITH_NULL;
>                      ^
> /usr/local/include/llvm/DerivedTypes.h:211:22: note: candidate function not 
> viable: requires at most 3 arguments,
>       but 6 were provided
>   static StructType *get(LLVMContext &Context, ArrayRef<Type*> Elements,
>                      ^
> /usr/local/include/llvm/DerivedTypes.h:216:22: note: candidate function not 
> viable: requires at most 2 arguments,
>       but 6 were provided
>   static StructType *get(LLVMContext &Context, bool isPacked = false);
>                      ^
> CGObjCGNU.cpp:644:35: error: no matching function for call to 'get'
>         llvm::StructType *ObjCMethodTy = GetStructType(
>                                          ^~~~~~~~~~~~~~
> /home/boon/tmp/Etoile/Languages/LanguageKit/CodeGen/LLVMCompat.h:55:37: note: 
> expanded from:
> #define GetStructType(context, ...) StructType::get(__VA_ARGS__)
>                                     ^~~~~~~~~~~~~~~
> /usr/local/include/llvm/DerivedTypes.h:222:22: note: candidate function not 
> viable: 1st argument
>       ('const llvm::Type *') would lose const qualifier
>   static StructType *get(Type *elt1, ...) END_WITH_NULL;
>                      ^
> /usr/local/include/llvm/DerivedTypes.h:211:22: note: candidate function not 
> viable: requires at most 3 arguments,
>       but 4 were provided
>   static StructType *get(LLVMContext &Context, ArrayRef<Type*> Elements,
>                      ^
> /usr/local/include/llvm/DerivedTypes.h:216:22: note: candidate function not 
> viable: requires at most 2 arguments,
>       but 4 were provided
>   static StructType *get(LLVMContext &Context, bool isPacked = false);
>                      ^
> CGObjCGNU.cpp:674:8: error: no member named 'PATypeHolder' in namespace 'llvm'
>         llvm::PATypeHolder OpaqueNextTy = llvm::OpaqueType::get(Context);
>         ~~~~~~^
> CGObjCGNU.cpp:675:55: error: use of undeclared identifier 'OpaqueNextTy'
>         llvm::Type *NextPtrTy = llvm::PointerType::getUnqual(OpaqueNextTy);
>                                                              ^
> CGObjCGNU.cpp:683:19: error: no member named 'OpaqueType' in namespace 'llvm'
>         llvm::cast<llvm::OpaqueType>(
>                    ~~~~~~^
> CGObjCGNU.cpp:684:15: error: expected ')'
>                 OpaqueNextTy.get())->refineAbstractTypeTo(ObjCMethodListTy);
>                             ^
> CGObjCGNU.cpp:683:30: note: to match this '('
>         llvm::cast<llvm::OpaqueType>(
>                                     ^
> CGObjCGNU.cpp:684:3: error: C++ requires a type specifier for all declarations
>                 OpaqueNextTy.get())->refineAbstractTypeTo(ObjCMethodListTy);
>                 ^
> fatal error: too many errors emitted, stopping now [-ferror-limit=]
> 20 errors generated.
> make[5]: *** [obj/LanguageKitCodeGen.obj/CGObjCGNU.cpp.o] Fehler 1
> make[4]: *** [internal-framework-run-compile-submake] Fehler 2
> make[3]: *** [LanguageKitCodeGen.all.framework.variables] Fehler 2
> make[2]: *** [internal-all] Fehler 2
> make[1]: *** [internal-all] Fehler 2
> make: *** [internal-all] Fehler 2
> 
> 
> Any hint would be very appreciated.
> 
> Cheers,
> Moritz Laeger
> _______________________________________________
> Etoile-discuss mailing list
> [email protected]
> https://mail.gna.org/listinfo/etoile-discuss


-- Sent from my Apple II


_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss

Répondre à