Undefined symbol when using UFO models
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
WHIZARD |
New
|
Undecided
|
Unassigned |
Bug Description
When using Whizard 3.1.4 installed from Spack, I cannot run any external UFO models without encountering the following error: 'whizard: symbol lookup error: ./.libs/
This issue can be worked around by prepending LD_PRELOAD=
Steps to reproduce:
wget https:/
tar xf dim6top_
whizard test.sin
where test.sin has the following contents:
model=dim6top_
show (model)
beams = "e-", "e+"
process bornproc = "e-", "e+" => "W+","b","W-","b~"
sqrts = 400 GeV
n_events=10000
sample_format = lhef
simulate (bornproc)
The output of whizard --build-config is:
WHIZARD 3.1.4
Build configuration:
precision 15 (significant decimals of real/complex numbers)
Optional features available in this build:
OpenMP yes (OpenMP parallel execution)
GoSam no (external NLO matrix element provider)
OpenLoops no (external NLO matrix element provider)
Recola no (external NLO matrix element provider)
LHAPDF no (PDF library)
HOPPET no (PDF evolution package)
fastjet yes (jet-clustering package)
Pythia6 yes (direct access for shower/
Pythia8 no (direct access for shower/
StdHEP yes (event I/O format)
HepMC yes (event I/O format)
LCIO yes (event I/O format)
MetaPost no (graphical event analysis via LaTeX/MetaPost)
This issue occurs with every external UFO model I tried, and the LD_PRELOAD workaround works for all of them so far.
Hi Benjamin, thanks for reporting this. lib.so. 0.0.0 7000) data1/reuter/ local/lib/ libomega_ core.so. 0 (0x0000767e239d 0000) data1/reuter/ local/lib/ libwhizard. so.2 (0x0000767e1f56 9000) 64-linux- gnu/libgfortran .so.5 (0x0000767e1f20 0000) 64-linux- gnu/libm. so.6 (0x0000767e1f11 7000) 64-linux- gnu/libc. so.6 (0x0000767e1ee0 0000) 64-linux- gnu/libgcc_ s.so.1 (0x0000767e1f0e 9000) data1/reuter/ local/lib/ libvamp. so.0 (0x0000767e1f09 4000) data1/reuter/ local/lib/ libcirce1. so.0 (0x0000767e1f52 c000) data1/reuter/ local/lib/ libcirce2. so.0 (0x0000767e1f52 0000) data1/reuter/ local/lib/ libLHAPDF. so (0x0000767e1ed0 3000)
We never encountered such an issue before. Apparently, compiling the matrix element code and linking it into default_lib.so had worked. When I do the same and look at the linked libraries (also using a Ubuntu 24.04 LTS), I get:
$ ldd .libs/default_
linux-vdso.so.1 (0x00007fff4856
libomega_core.so.0 => /nfs/theoc/
libwhizard.so.2 => /nfs/theoc/
libgfortran.so.5 => /lib/x86_
libm.so.6 => /lib/x86_
libc.so.6 => /lib/x86_
libgcc_s.so.1 => /lib/x86_
libvamp.so.0 => /nfs/theoc/
libcirce1.so.0 => /nfs/theoc/
libcirce2.so.0 => /nfs/theoc/
libLHAPDF.so => /nfs/theoc/
[...]
So there the linker can resolve the dynamic library libomega_core.so.0. Could it be that this installation directory is not in your LD_LIBRARY_PATH? On the other hand, it is strange that the libwhizard had been found. If you want you could sent us the config.log from your Whizard build, preferrably via email (as it contains system information), < whizard [at] desy.de)
Best,
JRR (Juergen)