Today I met a weird “undefined symbol” issue, i.e., I built a program successfully on one machine, but after transferring it to another machine, it reported following error during running:
......
... symbol lookup error: xxxxxx: undefined symbol: LZ4F_compressFrameBound
from the output of ldd
, all libraries are there. After some time of debugging, I found the reason is the build machine and running machine have different versions of the librdkafka
library. After upgrading the librdkafka
library from build machine to the same version as running machine’s, the issue is fixed.
Enjoyed this insight.