When building debian packages with 2.9.2/2.9.3 released source tarball, the 
vtep-ctl command packed in openvswitch-vtep_*.deb is not a linked binary, but a 
script wrapper. It appears to work when installed on the same machine that 
builds the packages before cleaning up the build workspace, but it does not 
work when installed on other machines. The final binary is linked when first 
time vtep-ctl command is executed, so it won't success on other machines.

This bug does not happen for OVS 2.5.2

Steps to Reproduce
Download 2.9.3 release tarball 
Build .deb packages with instructions on 
http://docs.openvswitch.org/en/latest/intro/install/debian/ 
Copy packages to another machine and install openvswitch-vtep_2.9.3_amd64_1.deb 
as well as its dependencies 
Execute vtep-ctl --help
Expected Result
The command executes successfully

Actual Result
Following error information is printed:
/usr/bin/vtep-ctl: line 202: cd: /tmp/test/openvswitch-2.9.3: No such file or 
directory
gcc: error: vtep/vtep-ctl.o: No such file or directory
gcc: error: vtep/.libs/libvtep.so: No such file or directory
gcc: error: lib/.libs/libopenvswitch.so: No such file or directory

And the /usr/bin/vtep-ctl file is a bash script (a link wrapper)

System Information
Build in debian:latest docker container (CentOS 7 docker host)

Workaround
Apply this patch fixes the problem (should be the correct fix):

 debian/openvswitch-vtep.install | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/openvswitch-vtep.install b/debian/openvswitch-vtep.install
index ee32efa4c..b7852649d 100644
--- a/debian/openvswitch-vtep.install
+++ b/debian/openvswitch-vtep.install
@@ -1,3 +1,3 @@
 usr/share/openvswitch/scripts/ovs-vtep
 usr/share/openvswitch/vtep.ovsschema
-vtep/vtep-ctl usr/bin
+usr/bin/vtep-ctl


2018-10-29


hubo 
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to