Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FRR 7 Centos 7 - service won't start - symbol lookup error: /usr/lib64/libfrr.so.0: undefined symbol: #4117

Closed
bodleytunes opened this issue Apr 10, 2019 · 7 comments
Assignees
Labels
question Not a bug

Comments

@bodleytunes
Copy link

With FRR 7.0-01.el7.centos /x64

I can't start the service

This is running in a centos 7 vm

Get an error as follows:

`[root@netflow-01 ~]# systemctl status frr
● frr.service - FRRouting (FRR)
   Loaded: loaded (/usr/lib/systemd/system/frr.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

Apr 10 09:54:02 netflow-01 frr[100225]: [FAILED]
Apr 10 09:54:02 netflow-01 frr[100225]: Starting FRRouting monitor daemon:
Apr 10 09:54:02 netflow-01 frr[100225]: watchfrr/usr/lib/frr/watchfrr: symbol lookup error: /usr/lib64/libfrr.so.0: undefined symbol: ly_register_types
Apr 10 09:54:02 netflow-01 frr[100225]: [96B blob data]
Apr 10 09:54:12 netflow-01 frr[100322]: Stopping FRRouting monitor daemon:
Apr 10 09:54:12 netflow-01 frr[100322]: Stopping FRRouting daemons (prio:0):
Apr 10 09:54:12 netflow-01 frr[100322]: Stopping other FRRouting daemons
Apr 10 09:54:12 netflow-01 frr[100322]: Removing remaining .vty files
Apr 10 09:54:12 netflow-01 frr[100322]: Removing all routes made by zebra.
Apr 10 09:54:12 netflow-01 systemd[1]: Started FRRouting (FRR).
`

Expected behavior
FRR should start normally.

Screenshots
image

nam
Versions
centos/7
kernel: 3.10.0-957.10.1.el7.x86_64

** Additional

/etc/frr/daemons

`[root@netflow-01 ~]# cat /etc/frr/daemons
# This file tells the frr package which daemons to start.
#
# Entries are in the format: <daemon>=(yes|no|priority)
#   0, "no"  = disabled
#   1, "yes" = highest priority
#   2 .. 10  = lower priorities
#
# For daemons which support multiple instances, a 2nd line listing
# the instances can be added. Eg for ospfd:
#   ospfd=yes
#   ospfd_instances="1,2"
#
# Priorities were suggested by Dancer <[email protected]>.
# They're used to start the FRR daemons in more than one step
# (for example start one or two at network initialization and the
# rest later). The number of FRR daemons being small, priorities
# must be between 1 and 9, inclusive (or the initscript has to be
# changed). /usr/lib/frr/frr then can be started as
#
#   /usr/lib/frr/frr <start|stop|restart|<priority>>
#
# where priority 0 is the same as 'stop', priority 10 or 'start'
# means 'start all'
#
# Sample configurations for these daemons can be found in
# /usr/share/doc/frr/examples/.
#
# ATTENTION:
#
# When activation a daemon at the first time, a config file, even if it is
# empty, has to be present *and* be owned by the user and group "frr", else
# the daemon will not be started by /usr/lib/frr/frr. The permissions should
# be u=rw,g=r,o=.
# When using "vtysh" such a config file is also needed. It should be owned by
# group "frrvty" and set to ug=rw,o= though. Check /etc/pam.d/frr, too.
#
watchfrr_enable=yes
watchfrr_options="-r '/usr/lib/frr/frr restart %s' -s '/usr/lib/frr/frr start %s' -k '/usr/lib/frr/frr stop %s'"
#
zebra=no
bgpd=no
ospfd=no
ospf6d=no
ripd=no
ripngd=no
isisd=no
ldpd=no
pimd=no
nhrpd=no
eigrpd=no
babeld=no
sharpd=no
pbrd=no
staticd=yes
bfdd=no
fabricd=no

#
# Command line options for the daemons
#
zebra_options=("-A 127.0.0.1")
bgpd_options=("-A 127.0.0.1")
ospfd_options=("-A 127.0.0.1")
ospf6d_options=("-A ::1")
ripd_options=("-A 127.0.0.1")
ripngd_options=("-A ::1")
isisd_options=("-A 127.0.0.1")
ldpd_options=("-A 127.0.0.1")
pimd_options=("-A 127.0.0.1")
nhrpd_options=("-A 127.0.0.1")
eigrpd_options=("-A 127.0.0.1")
babeld_options=("-A 127.0.0.1")
sharpd_options=("-A 127.0.0.1")
pbrd_options=("-A 127.0.0.1")
staticd_options=("-A 127.0.0.1")
bfdd_options=("-A 127.0.0.1")
fabricd_options=("-A 127.0.0.1")

#
# If the vtysh_enable is yes, then the unified config is read
# and applied if it exists.  If no unified frr.conf exists
# then the per-daemon <daemon>.conf files are used)
# If vtysh_enable is no or non-existant, the frr.conf is ignored.
# it is highly suggested to have this set to yes
vtysh_enable=yes
`

I did accidently try and install the centos6 rpm but I removed that and installed the centos7 one. Centos6 package had the same error but initially I thought it was because I installed the wrong one.

Cheers,
Jon.

@bodleytunes bodleytunes added the triage Needs further investigation label Apr 10, 2019
@bodleytunes bodleytunes changed the title FRR 7 Centos 7 FRR 7 Centos 7 - service won't start - symbol lookup error: /usr/lib64/libfrr.so.0: undefined symbol: Apr 10, 2019
@qlyoung
Copy link
Member

qlyoung commented Apr 10, 2019

This sounds like a busted package install. I just tried it on a completely fresh Centos7 box and it worked for me.

  • Did you install libyang?
  • Did you completely purge all other FRR packages from the system before installing the correct one?

By the way, even if you just want to use staticd, you need to turn zebra=yes on too.

@qlyoung qlyoung added question Not a bug and removed triage Needs further investigation labels Apr 10, 2019
@qlyoung qlyoung self-assigned this Apr 10, 2019
@qlyoung
Copy link
Member

qlyoung commented Apr 16, 2019

Closing this due to lack of activity

@qlyoung qlyoung closed this as completed Apr 16, 2019
@bodleytunes
Copy link
Author

Got this same error on a fresh VM of centos/7

@bodleytunes
Copy link
Author

bodleytunes commented Jun 11, 2019

2019-06-11T14:38:02.227827+01:00 libre-mon-01 frr[1325]: Loading capability module if not yet done. 2019-06-11T14:38:02.234529+01:00 libre-mon-01 frr[1325]: Starting FRRouting daemons (prio:10): 2019-06-11T14:38:02.294384+01:00 libre-mon-01 frr[1325]: zebra /usr/lib/frr/zebra: symbol lookup error: /usr/lib64/libfrr.so.0: undefined symbol: ly_register_types 2019-06-11T14:38:02.297566+01:00 libre-mon-01 frr[1325]: [FAILED] 2019-06-11T14:38:02.308042+01:00 libre-mon-01 frr[1325]: staticd /usr/lib/frr/staticd: symbol lookup error: /usr/lib64/libfrr.so.0: undefined symbol: ly_register_types 2019-06-11T14:38:02.310891+01:00 libre-mon-01 frr[1325]: [FAILED] 2019-06-11T14:38:02.316921+01:00 libre-mon-01 frr[1325]: Starting FRRouting monitor daemon: 2019-06-11T14:38:02.326619+01:00 libre-mon-01 frr[1325]: watchfrr/usr/lib/frr/watchfrr: symbol lookup error: /usr/lib64/libfrr.so.0: undefined symbol: ly_register_types 2019-06-11T14:38:02.329445+01:00 libre-mon-01 frr[1325]: [FAILED]#15/usr/lib/frr/frr: line 133: break: only meaningful in a for', while', or until' loop 2019-06-11T14:38:12.363988+01:00 libre-mon-01 frr[1372]: Stopping FRRouting monitor daemon: 2019-06-11T14:38:12.364969+01:00 libre-mon-01 frr[1372]: Stopping FRRouting daemons (prio:0): 2019-06-11T14:38:12.383921+01:00 libre-mon-01 frr[1372]: Stopping other FRRouting daemons 2019-06-11T14:38:12.386920+01:00 libre-mon-01 frr[1372]: Removing remaining .vty files 2019-06-11T14:38:12.387185+01:00 libre-mon-01 frr[1372]: Removing all routes made by zebra. 2019-06-11T16:14:01.458911+01:00 libre-mon-01 frr[11451]: Loading capability module if not yet done. 2019-06-11T16:14:01.466019+01:00 libre-mon-01 frr[11451]: Starting FRRouting daemons (prio:10): 2019-06-11T16:14:01.490438+01:00 libre-mon-01 frr[11451]: zebra /usr/lib/frr/zebra: symbol lookup error: /usr/lib64/libfrr.so.0: undefined symbol: ly_register_types 2019-06-11T16:14:01.493622+01:00 libre-mon-01 frr[11451]: [FAILED] 2019-06-11T16:14:01.503697+01:00 libre-mon-01 frr[11451]: staticd /usr/lib/frr/staticd: symbol lookup error: /usr/lib64/libfrr.so.0: undefined symbol: ly_register_types 2019-06-11T16:14:01.506831+01:00 libre-mon-01 frr[11451]: [FAILED] 2019-06-11T16:14:01.512174+01:00 libre-mon-01 frr[11451]: Starting FRRouting monitor daemon: 2019-06-11T16:14:01.520114+01:00 libre-mon-01 frr[11451]: watchfrr/usr/lib/frr/watchfrr: symbol lookup error: /usr/lib64/libfrr.so.0: undefined symbol: ly_register_types 2019-06-11T16:14:01.522327+01:00 libre-mon-01 frr[11451]: [FAILED]#015/usr/lib/frr/frr: line 133: break: only meaningful in a for', while', or until' loop 2019-06-11T16:14:11.559372+01:00 libre-mon-01 frr[11512]: Stopping FRRouting monitor daemon: 2019-06-11T16:14:11.560120+01:00 libre-mon-01 frr[11512]: Stopping FRRouting daemons (prio:0): 2019-06-11T16:14:11.578656+01:00 libre-mon-01 frr[11512]: Stopping other FRRouting daemons 2019-06-11T16:14:11.579636+01:00 libre-mon-01 frr[11512]: Removing remaining .vty files 2019-06-11T16:14:11.579920+01:00 libre-mon-01 frr[11512]: Removing all routes made by zebra.

@qlyoung
Copy link
Member

qlyoung commented Jun 11, 2019

@bodleytunes this issue was closed because I asked for more information and it wasn't provided. If you'd like to provide the info I asked for, we can reopen this.

@bodleytunes
Copy link
Author

bodleytunes commented Jun 11, 2019

Did I install libyang? yes both of them.

This is a fresh VM so nothing else installed.

@jansmets
Copy link

You need the exacty libyang FRR was built with.
(Yes, I think that is bad, and that they should statically link against it when using a random development version of libyang)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Not a bug
Projects
None yet
Development

No branches or pull requests

3 participants