Linkage errors with LLVM 13

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.

Hi, thanks, we are in the process of upgrading to LLVM 13, as you can see in this PR. But @vvassilev might be interested by your feedback nevertheless

Hi, the cling llvm13 patches on my fork are likely out of date. I expect to converge on the integration maybe next week and I can go and check what’s missing.

1 Like

Great, thanks Vassil. I’ll stand by on that.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

My branches are now fully synchronized. Apologies for the delay.