Hi folks, I’ve been trying the LLVM 13 branch again and I’m seeing some issues. I’ve made a very small test case here, built on Cling’s own cling-demo: GitHub - jeaye/cling-llvm-13-link-issue
In short, I’m JIT processing some code which defines a new type that inherits from a template using CRTP. It results in:
JIT session error: Symbols not found: [ _ZN14pool_item_baseI3barE13inc_referenceEv, _ZN14pool_item_baseI3barE7releaseEv ]
[runStaticInitializersOnce]: Failed to materialize symbols: { (main, { _ZN21pool_item_common_baseD2Ev, _ZN3barD0Ev, _ZTV3bar, _ZTI3bar, b, _ZTI21pool_item_common_base, _ZN14pool_item_baseI3barED2Ev, _ZN3barD2Ev, _ZTS14pool_item_baseI3barE, _ZTS21pool_item_common_base, _ZTI14pool_item_baseI3barE, $.cling-module-2.__inits.0, __orc_init_func.cling-module-2, _ZN3barD1Ev, _GLOBAL__sub_I_cling_module_2, __cxx_global_var_initcling_module_2_, _ZTS3bar, _Z15__cling_Un1Qu30Pv }) }
IncrementalExecutor::executeFunction: symbol '_ZN14pool_item_baseI3barE7releaseEv' unresolved while linking [cling interface function]!
You are probably missing the definition of pool_item_base<bar>::release()
Maybe you need to load the corresponding shared library?
IncrementalExecutor::executeFunction: symbol '_ZN14pool_item_baseI3barE13inc_referenceEv' unresolved while linking [cling interface function]!
You are probably missing the definition of pool_item_base<bar>::inc_reference()
Maybe you need to load the corresponding shared library?
I’ve also included exactly how I’m building Cling + LLVM 13, in case the issue is with that. I’d appreciate any eyes on this.