A few words for the curious: the build system has a staged install process.
The autotools (libtool) knows about the staged install area, and it sets up
RPATH where needed on libraries and binaries to point to that staged
install area. As libtool does not know about the final install area, the
separate brief meeting outside of autotools/libtool with patchelf or
chrpath is required.

Burt

On Mon, Dec 19, 2016 at 7:53 AM, Dave Barach (dbarach) <[email protected]>
wrote:

> Dear Jan,
>
>
>
> What you sent answers my question, which is that “yes, CSIT installs the
> plugin package.”
>
>
>
> After a bunch of investigation, we discovered the root cause: when we
> created the fd.io deb/rpm packaging - under duress a year ago - a
> specific step wasn’t accounted for.
>
>
>
> All of the vpp libraries have RPATH set to match the build tree. This
> allows folks to work on vpp library code without having to build and
> install fresh Debian packages. However, when building deb/rpm packages, the
> RPATH setting needs to disappear. Otherwise, Bad Things happen.
>
>
>
> In a normal installation, the dynamic loader ld-linux.so searches a bunch
> of nonexistent directories.
>
>
>
> In the case of building packages on the execution host - typical for a
> developer - the searches will probably NOT fail. The ioam plugins were
> linked in a sufficiently incestuous way to produce a second instance of [at
> least] the vxlan-gpe-pop-ioam-v4 graph node. In that situation, vpp throws
> up its hands and quits.
>
>
>
> It’s simple enough to fix: executables and dynamic libraries need to have
> a brief meeting with either patchelf or chrpath.
>
>
>
> Thanks… Dave
>
>
>
> *From:* Jan Gelety -X (jgelety - PANTHEON TECHNOLOGIES at Cisco)
> *Sent:* Monday, December 19, 2016 4:44 AM
> *To:* Dave Barach (dbarach) <[email protected]>; [email protected]
> *Subject:* RE: [csit-dev] FW: vxlan-gpe-pop-ioam-v4: multiply-defined by
> standard plugin build
>
>
>
> Hello Dave,
>
>
>
> Unfortunately the log of the corresponding vpp-csit-verify job is already
> deleted so we cannot check what happen there.
>
>
>
> However, all Debian packages (including plugin package) built-up in the
> job are copied to VIRL (tmp directory) and installed on both DUTs:
>
>
>
> *00:13:20.552* + scp -i priv_key -o StrictHostKeyChecking=no -o
> UserKnownHostsFile=/dev/null -o BatchMode=yes -o LogLevel=error
> vpp_17.01-rc0~219-g0f2b7da~b2891_amd64.deb 
> vpp-dbg_17.01-rc0~219-g0f2b7da~b2891_amd64.deb
> vpp-dev_17.01-rc0~219-g0f2b7da~b2891_amd64.deb 
> vpp-dpdk-dev_17.01-rc0~219-g0f2b7da~b2891_amd64.deb
> vpp-dpdk-dkms_17.01-rc0~219-g0f2b7da~b2891_amd64.deb
> vpp-lib_17.01-rc0~219-g0f2b7da~b2891_amd64.deb 
> vpp-plugins_17.01-rc0~219-g0f2b7da~b2891_amd64.deb
> vpp-python-api_17.01-rc0~219-g0f2b7da~b2891_amd64.deb
> [email protected]:/tmp/
>
>
>
> 09:20:02.412 TRACE return STDOUT
>
> [Command_desc] Starting /tmp/openvpp-testing/resources/libraries/bash/dut_
> setup.sh
>
> [Command_start_exec] 'dpkg -l vpp\*'
>
> [Command_outputs] Desired=Unknown/Install/Remove/Purge/Hold
>
> | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/
> trig-aWait/Trig-pend
>
> |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
>
> ||/ Name           Version                      Architecture Description
>
> +++-==============-============================-============
> -=============================================
>
> ii  vpp            17.01-rc0~219-g0f2b7da~b2891 amd64        Vector Packet
> Processing--executables
>
> ii  vpp-dbg        17.01-rc0~219-g0f2b7da~b2891 amd64        Vector Packet
> Processing--debug symbols
>
> ii  vpp-dev        17.01-rc0~219-g0f2b7da~b2891 amd64        Vector Packet
> Processing--development support
>
> ii  vpp-dpdk-dev   17.01-rc0~219-g0f2b7da~b2891 amd64        Vector Packet
> Processing--development support
>
> ii  vpp-dpdk-dkms  17.01-rc0~219-g0f2b7da~b2891 amd64        DPDK 2.1
> igb_uio_driver
>
> ii  vpp-lib        17.01-rc0~219-g0f2b7da~b2891 amd64        Vector Packet
> Processing--runtime libraries
>
> ii  vpp-plugins    17.01-rc0~219-g0f2b7da~b2891 amd64        Vector Packet
> Processing--runtime plugins
>
> ii  vpp-python-api 17.01-rc0~219-g0f2b7da~b2891 amd64        VPP Python
> API bindings
>
> [Command_done_exec] 'dpkg -l vpp\*'
>
>
>
> Regards,
>
> Jan
>
>
>
> *From:* [email protected] [mailto:[email protected]
> <[email protected]>] *On Behalf Of *Dave Barach (dbarach)
> *Sent:* Friday, December 16, 2016 19:18
> *To:* [email protected]
> *Subject:* [csit-dev] FW: vxlan-gpe-pop-ioam-v4: multiply-defined by
> standard plugin build
> *Importance:* High
>
>
>
> Folks,
>
>
>
> Please see below. How did https://gerrit.fd.io/r/#/c/3379/ pass csit? I’m
> guessing that we’re not installing the Debian plugins package...
>
>
>
> Vpp won’t even start with all of the current ioam plugins installed.
>
>
>
> Thanks… Dave
>
>
>
> *From:* Dave Barach (dbarach)
> *Sent:* Thursday, December 15, 2016 4:54 PM
> *To:* vpp-internal(mailer list) <[email protected]>
> *Subject:* vxlan-gpe-pop-ioam-v4: multiply-defined by standard plugin
> build
> *Importance:* High
>
>
>
> Folks,
>
>
>
> See below. Would the responsible party or parties please sort this out and
> push a patch at their earliest convenience?
>
>
>
> Installing the results of “make PLATFORM=vpp TAG=vpp_debug install-deb”
> via “sudo dpkg -i *.deb” yields a trivial vpp failure-to-start:
>
>
>
> # /usr/bin/vpp unix interactive
>
> vlib_plugin_early_init:213: plugin path /usr/lib/vpp_plugins
>
> load_one_plugin:92: Loaded plugin: /usr/lib/vpp_plugins/ioam_e2e_plugin.so
>
> load_one_plugin:92: Loaded plugin: /usr/lib/vpp_plugins/snat_plugin.so
>
> load_one_plugin:92: Loaded plugin: /usr/lib/vpp_plugins/libioam_
> trace_plugin.so
>
> load_one_plugin:92: Loaded plugin: /usr/lib/vpp_plugins/ioam_pot_plugin.so
>
> load_one_plugin:92: Loaded plugin: /usr/lib/vpp_plugins/ila_plugin.so
>
> load_one_plugin:92: Loaded plugin: /usr/lib/vpp_plugins/ioam_
> export_plugin.so
>
> load_one_plugin:92: Loaded plugin: /usr/lib/vpp_plugins/lb_plugin.so
>
> load_one_plugin:92: Loaded plugin: /usr/lib/vpp_plugins/libvxlan_
> gpe_ioam_export_plugin.so
>
> load_one_plugin:92: Loaded plugin: /usr/lib/vpp_plugins/libioam_
> vxlan_gpe_plugin.so
>
> load_one_plugin:92: Loaded plugin: /usr/lib/vpp_plugins/acl_plugin.so
>
> load_one_plugin:92: Loaded plugin: /usr/lib/vpp_plugins/libsixrd_plugin.so
>
> 0: register_node:300: more than one node named `vxlan-gpe-pop-ioam-v4'
>
> Aborted (core dumped)
>
>
>
> Thanks… Dave
>
>
>
> _______________________________________________
> vpp-dev mailing list
> [email protected]
> https://lists.fd.io/mailman/listinfo/vpp-dev
>
_______________________________________________
vpp-dev mailing list
[email protected]
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to