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
