ElvishArtisan/drouter

Missing sy/syinterfaces.h

Closed this issue · 6 comments

I'm trying to get drouter up and running for testing purposes, but fail to compile it on CentOS 7:

./configure --prefix=/opt/drouter
[...]
checking for SWITCHYARD... no
configure: error: *** Switchyard not found ***

After some browsing, I found a Switchyard library tarball within the switchyard source RPM (I'm not sure if this is the canonical upstream source). After the installation of the switchyard-devel package, configure succeeds, but make still fails:

DOCBOOK_STYLESHEETS=/usr/share/sgml/docbook/xsl-ns-stylesheets-1.78.1 make
[...]
Making all in dmap
make[2]: Entering directory `/home/builder/drouter/src/dmap'
  CXX      dmap.o
dmap.cpp:30:29: fatal error: sy/syinterfaces.h: No such file or directory
 #include <sy/syinterfaces.h>

After verifying that syinterfaces.h is really missing in /usr/include/sy and the switchyard-0.13.3 tarball, I realized that there's already a drouter RPM available. However, drouterd from this package also seems to miss SyInterfaces:

LD_DEBUG=libs drouterd
[...]
      5127:	
      5127:	find library=libSwitchyard.so.3 [0]; searching
      5127:	 search cache=/etc/ld.so.cache
      5127:	  trying file=/lib64/libSwitchyard.so.3
[...]
      5127:	calling init: /lib64/libSwitchyard.so.3
[...]
      5127:	drouterd: error: symbol lookup error: undefined symbol: _ZN12SyInterfacesC1Ev (fatal)

drouterd: symbol lookup error: drouterd: undefined symbol: _ZN12SyInterfacesC1Ev
nm -D /lib64/libSwitchyard.so.3 | grep --count SyInterfaces
0

Any hints on where to find sy/syinterfaces.h would be highly appreciated. On the other hand, I probably simply missed to install the correct dependency to use the drouter RPM.

Many thanks!

That's an old version. You can get the current version (v0.11.1) at:
http://github.com/ElvishArtisan/Switchyard

Thanks a lot! How could I miss that repository in the first place :-( While browsing the release tags of Switchyard I wonder if 0.11.1 is the correct release, shouldn't it be 0.17.1?

I had actually had it marked 'private'. That library has actually been open for some time now; this was a good reminder to open the repo and update all the licensing bits appropriately.

Thanks you so much, I'm now able to build drouter on CentOS 7.

Do you have any plans on bumping the drouter and switchyard RPMs located at caspian.paravelsystems.com? If you don't find the time, I could create builds on the public OBS in the meantime.

Drouter is already at the current release (v0.6.1). I’ve just bumped switchyard to 0.17.1.

Nice, thanks a lot. drouterd from the Paravel-Broadcast repository is now working again.