You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Libyang missing symbol needed for FRR, leading it to crash on CentOS 7. Frr depends on libyang1/libyang2 which don't have the symbol, but the libyang package (also from FRR repo) does have this symbol.
Perhaps the spec file should be updated to depend on the libyang package instead? Or the version of libyang2 should be bumped?
When installing the frr-10.0-01.el7.x86_64 RPM on CentOS 7, it crashes with the following error:
Failed to start mgmtd!
/usr/lib/frr/bgpd: symbol lookup error: /usr/lib64/libfrr.so.0: undefined symbol: ly_temp_log_options
Failed to start bgpd!
/usr/lib/frr/staticd: symbol lookup error: /usr/lib64/libfrr.so.0: undefined symbol: ly_temp_log_option
Failed to start staticd!
/etc/frr/frr.conf does not exist; skipping config apply
The frr package depends on libyang1 and libyang2 (packages libyang1-1.0.184-0.x86_64 and libyang2-2.0.7-1.el7.x86_64), which appear to be missing the symbol "ly_temp_log_options".
# nm -gD /usr/lib64/libyang.so.1 | grep log_options
000000000000f190 T ly_log_options
# nm -gD /usr/lib64/libyang.so.2 | grep log_options
000000000000da00 T ly_log_options
When forcefully removing libyang1 and libyang2 and installing libyang (libyang-2.1.128-1.el7.x86_64), FRR works correctly and the missing symbol exists.
# nm -gD /usr/lib64/libyang.so.2.41.0 | grep log_options
000000000000f300 T ly_log_options
000000000000f310 T ly_temp_log_options
After some testing this issue appears to only affect older installations. The frr rpm depends on libyang.so.2()(64bit), which is provided by both libyang2 and libyang. So new installs will get the correct libyang package.
On systems with an older installation they may incorrectly keep using libyang2 if it was already in use. At least for older systems force installing libyang over libyang1/2 will fix this until an upstream fix is made.
Description
Libyang missing symbol needed for FRR, leading it to crash on CentOS 7. Frr depends on libyang1/libyang2 which don't have the symbol, but the libyang package (also from FRR repo) does have this symbol.
Perhaps the spec file should be updated to depend on the libyang package instead? Or the version of libyang2 should be bumped?
When installing the frr-10.0-01.el7.x86_64 RPM on CentOS 7, it crashes with the following error:
The frr package depends on libyang1 and libyang2 (packages libyang1-1.0.184-0.x86_64 and libyang2-2.0.7-1.el7.x86_64), which appear to be missing the symbol "ly_temp_log_options".
When forcefully removing libyang1 and libyang2 and installing libyang (libyang-2.1.128-1.el7.x86_64), FRR works correctly and the missing symbol exists.
Version
How to reproduce
Install frr-10 package on centos 7 and attempt to run.
Expected behavior
Program should run.
Actual behavior
Some daemons fail with missing symbol error.
/usr/lib/frr/bgpd: symbol lookup error: /usr/lib64/libfrr.so.0: undefined symbol: ly_temp_log_options
Failed to start bgpd!
Additional context
No response
Checklist
The text was updated successfully, but these errors were encountered: