Found a cmake issue and fixed almost all of it, down to 1 missing reference:
/ede/smonsees/yocto/test/beignet-Release_v1.3/backend/src/llvm/llvm_to_gen.cpp:
In function ‘bool gbe::llvmToGen(gbe::ir::Unit&, const void*, int, bool, int,
std::__cxx11::string&)’:
/ede/smonsees/yocto/test/beignet-Release_v1.3/backend/src/llvm/llvm_to_gen.cpp:325:68:
error: no matching function for call to
‘llvm::LLVMContext::setDiagnosticHandler(void (*)(const llvm::DiagnosticInfo&,
void*), gbe::gbeDiagnosticContext*)’
mod.getContext().setDiagnosticHandler(&gbeDiagnosticHandler,&dc);
^
In file included from
/opt/limws/2.4.1/sysroots/llvm-clang/include/llvm/IR/Metadata.h:30:0,
from
/opt/limws/2.4.1/sysroots/llvm-clang/include/llvm/IR/TrackingMDRef.h:17,
from
/opt/limws/2.4.1/sysroots/llvm-clang/include/llvm/IR/DebugLoc.h:18,
from
/opt/limws/2.4.1/sysroots/llvm-clang/include/llvm/IR/Instruction.h:22,
from
/opt/limws/2.4.1/sysroots/llvm-clang/include/llvm/IR/BasicBlock.h:23,
from
/ede/smonsees/yocto/test/beignet-Release_v1.3/backend/src/llvm/llvm_includes.hpp:30,
from
/ede/smonsees/yocto/test/beignet-Release_v1.3/backend/src/llvm/llvm_to_gen.cpp:25:
/opt/limws/2.4.1/sysroots/llvm-clang/include/llvm/IR/LLVMContext.h:213:8: note:
candidate: void
llvm::LLVMContext::setDiagnosticHandler(std::unique_ptr<llvm::DiagnosticHandler>&&,
bool)
void setDiagnosticHandler(std::unique_ptr<DiagnosticHandler> &&DH,
^~~~~~~~~~~~~~~~~~~~
/opt/limws/2.4.1/sysroots/llvm-clang/include/llvm/IR/LLVMContext.h:213:8: note:
no known conversion for argument 1 from ‘void (*)(const
llvm::DiagnosticInfo&, void*)’ to ‘std::unique_ptr<llvm::DiagnosticHandler>&&’
make[2]: *** [backend/src/CMakeFiles/gbe.dir/llvm/llvm_to_gen.cpp.o] Error 1
make[1]: *** [backend/src/CMakeFiles/gbe.dir/all] Error 2
make: *** [all] Error 2
11:27 smonsees@yix490016 ~/yocto/test/beignet-Release_v1.3/mybuild>
-----Original Message-----
From: [email protected] [mailto:[email protected]] On
Behalf Of Monsees, Steven C (US) via lists.yoctoproject.org
Sent: Wednesday, September 16, 2020 10:05 AM
To: Khem Raj <[email protected]>
Cc: [email protected]
Subject: Re: [yocto] #yocto #sdk - meta-clang undefined references
*** WARNING ***
EXTERNAL EMAIL -- This message originates from outside our organization.
I can see that libclang is being included...so, not sure why when linking an
executable these references are missing...
-----Original Message-----
From: Monsees, Steven C (US)
Sent: Wednesday, September 16, 2020 7:06 AM
To: 'Khem Raj' <[email protected]>
Cc: [email protected]
Subject: RE: [yocto] #yocto #sdk - meta-clang undefined references
It should be linking in libclang , I will validate...
Note performing 'nm' on libclang appear to show the majority present...
Question: if I needed to include a library, what/how would I modify a recipe
under Yocto to be sure to include/link in the library ?
Thanks,
Steve
-----Original Message-----
From: Khem Raj [mailto:[email protected]]
Sent: Tuesday, September 15, 2020 5:06 PM
To: Monsees, Steven C (US) <[email protected]>
Cc: [email protected]
Subject: Re: [yocto] #yocto #sdk - meta-clang undefined references
*** WARNING ***
EXTERNAL EMAIL -- This message originates from outside our organization.
On Tue, Sep 15, 2020 at 12:56 PM Monsees, Steven C (US) via
lists.yoctoproject.org <[email protected]>
wrote:
>
>
>
> I am building meta-clang (sumo based 6.0.1), with cmake (3.8.2), all
> under a standard SDK “rocko based” (2.4.1)…
>
>
>
> Are the following routines accessible/supported under meta-clang ?
>
>
>
> libgbe.so: undefined reference to `clang::DiagnosticIDs::~DiagnosticIDs()'
>
> libgbe.so: undefined reference to
> `clang::TextDiagnosticPrinter::TextDiagnosticPrinter(llvm::raw_ostream&,
> clang::DiagnosticOptions*, bool)'
>
> libgbe.so: undefined reference to
> `clang::DiagnosticsEngine::~DiagnosticsEngine()'
>
> libgbe.so: undefined reference to
> `clang::CompilerInvocation::CreateFromArgs(clang::CompilerInvocation&, char
> const* const*, char const* const*, clang::DiagnosticsEngine&)'
>
> libgbe.so: undefined reference to
> `clang::CompilerInvocationBase::~CompilerInvocationBase()'
>
> libgbe.so: undefined reference to
> `clang::PCHContainerOperations::PCHContainerOperations()'
>
> libgbe.so: undefined reference to
> `clang::CompilerInstance::createDiagnostics(clang::DiagnosticConsumer*, bool)'
>
> libgbe.so: undefined reference to
> `clang::DiagnosticsEngine::DiagnosticsEngine(llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs>,
> clang::DiagnosticOptions*, clang::DiagnosticConsumer*, bool)'
>
> libgbe.so: undefined reference to `clang::CodeGenOptions::CodeGenOptions()'
>
> libgbe.so: undefined reference to
> `clang::CompilerInstance::~CompilerInstance()'
>
> libgbe.so: undefined reference to
> `clang::CompilerInstance::CompilerInstance(std::shared_ptr<clang::PCHContainerOperations>,
> clang::MemoryBufferCache*)'
>
> libgbe.so: undefined reference to
> `clang::EmitLLVMOnlyAction::EmitLLVMOnlyAction(llvm::LLVMContext*)'
>
> libgbe.so: undefined reference to
> `clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)'
>
> libgbe.so: undefined reference to
> `clang::CompilerInvocationBase::CompilerInvocationBase()'
>
> libgbe.so: undefined reference to
> `clang::CompilerInstance::setInvocation(std::shared_ptr<clang::CompilerInvocation>)'
>
> libgbe.so: undefined reference to `clang::CodeGenAction::takeModule()'
>
> libgbe.so: undefined reference to `clang::DiagnosticIDs::DiagnosticIDs()'
>
are you linking this library with libclang ? secondly, also check that its not
emitting bunch of libraries which needs to then individually linked
>
>
> thanks,
>
> Steve
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#50696): https://lists.yoctoproject.org/g/yocto/message/50696
Mute This Topic: https://lists.yoctoproject.org/mt/76873225/21656
Mute #yocto:https://lists.yoctoproject.org/g/yocto/mutehashtag/yocto
Mute #sdk:https://lists.yoctoproject.org/g/yocto/mutehashtag/sdk
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-