libdpdk0 should provide a package for debug symbols

Bug #1560839 reported by Christian Ehrhardt 
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
dpdk (Ubuntu)
Fix Released
High
Christian Ehrhardt 

Bug Description

DPDK is great but still bleeding edge from time to time.
So debugging is likely to happen at some point.
Therefore it would be great to have an explicit -dbg or implicit -dbgsyms package such with debug symbols for DPDK 2.2 in Xenial.

Changed in dpdk (Ubuntu):
status: New → Triaged
importance: Undecided → High
assignee: nobody → ChristianEhrhardt (paelzer)
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

diff --git a/debian/control b/debian/control
index 60cf704..61e3475 100644
--- a/debian/control
+++ b/debian/control
@@ -79,3 +79,16 @@ Description: Data Plane Development Kit (basic
development files)
  This package contains the basic headers and library files required to
  build external applications which will also require at least SSE3 support
  when running.
+
+Package: libdpdk-dbg
+Priority: extra
+Section: debug
+Architecture: amd64 i386
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: libdpdk0 (= ${binary:Version}), ${misc:Depends}
+Description: Data Plane Development Kit (basic development files)
+ DPDK is a set of libraries for fast packet processing. Applications run
+ in user-space and communicate directly with dedicated network interfaces.
+ This package contains the debug symbols for the DPDK library. Install it
+ to debug the library or to examine a core dump.
diff --git a/debian/rules b/debian/rules
index df81ece..92f35ee 100755
--- a/debian/rules
+++ b/debian/rules
@@ -46,7 +46,7 @@ build-indep: build-config

 build-arch: build-config
        dh_testdir
- $(MAKE) O=$(DPDK_STATIC_DIR) build
+ $(MAKE) O=$(DPDK_STATIC_DIR) EXTRA_CFLAGS='-g' build
        # Unfortunately the decision about having static or shared
libraries is
        # made for the whole build, which then produces only .a or .so
files
        # (but not both).
@@ -59,7 +59,7 @@ build-arch: build-config
        cp -a $(DPDK_STATIC_DIR) $(DPDK_SHARED_DIR)
        sed -ri 's,(RTE_BUILD_SHARED_LIB=).*,\1y,' \
                $(DPDK_SHARED_DIR)/.config
- $(MAKE) O=$(DPDK_SHARED_DIR) build
+ $(MAKE) O=$(DPDK_SHARED_DIR) EXTRA_CFLAGS='-g' build

 build: build-arch build-indep

@@ -145,7 +145,7 @@ binary-arch:
        dh_link
        dh_compress
        dh_fixperms
- dh_strip
+ dh_strip --dbg-package=libdpdk-dbg
        dh_makeshlibs
        dh_shlibdeps
        dh_installdeb

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Reading through dh_strip since we have no old -dbg package to care about it might be enough to just do:

export EXTRA_CFLAGS = -g

- the export makes sure we build it for all binaries
- dh_strip magically does the right thing and should create a dbgsym packages as appropriate

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.3 KiB)

This bug was fixed in the package dpdk - 2.2.0-0ubuntu6

---------------
dpdk (2.2.0-0ubuntu6) xenial; urgency=medium

  * d/dpdk-init fix handling of multiple huge page sizes (LP: #1557532):
     - dpdk-init now ensures non-default-hugepage-size mountpoints are
       available as well.
     - extra mountpoints are only created if requested in dpdk.conf and not yet
       available (e.g. by the admin).
  * d/dpdk-init fix issues with unassigned devices (LP: #1558485):
     - dpdk-init no more checks /sys/.../driver of the device unconditionally
     - removed the superfluous tr call in that path
  * d/p/ubuntu-fix-lpm-use-after-free-and-leak.patch lpm/lpm6 (LP: #1554009):
     - lpm/lpm6 fix use after free on lpm[6]_create
     - lpm/lpm6 fix missing frees of rules_tbl substructure
     - lpm/lpm6 fix missing free of lpm due to early exit
     - make RTE_LOG messages of the failed allocation unique
  * d/p/ubuntu-backport-[01-26] backport for stability (LP: #1559981):
     - these will be in the following dpdk release and delta can then be dropped
     - 26 fixes that do not change api/behaviour but fix serious issues
        - 01 d3a274ce app/testpmd: handle SIGINT and SIGTERM
        - 02 308df2bf Handle SIGINT and SIGTERM in l3fwd.
        - 03 da82ee17 tools: fix unbinding failure handling
        - 04 16c1814c tools: support Python 3 in bind script
        - 05 bb9f4085 tools: support binding to built-in kernel modules
        - 06 6e7caa1a eal/linux: support built-in kernel modules
        - 07 86f36ff9 mempool: fix leak when creation fails
        - 08 ca67ed28 vhost: fix leak of fds and mmaps
        - 09 fa11a8a7 port: fix crash for ring writer nodrop
        - 10 04f36690 port: fix crash for ethdev writer nodrop
        - 11 c7a4ff80 i40e: fix overflow
        - 12 097e920c i40e: fix inverted check for no refcount
        - 13 330aa319 i40e: fix VLAN filtering
        - 14 9f44dd3d i40e/base: fix missing check for stopped admin queue
        - 15 8a880736 i40e/base: fix driver load failure
        - 16 7656a546 fm10k: fix VLAN flag in scattered Rx
        - 17 c6fb0e55 pcap: fix captured frame length
        - 18 6e027237 bonding: fix detach of bonded device
        - 19 df3e8ad7 bonding: fix detach of slave devices
        - 20 786c990a bonding: copy entire config structure in mode 4
        - 21 6698820b bonding: do not ignore multicast in mode 4
        - 22 8997a10b bonding: fix active slaves with no primary
        - 23 7a7122ed bonding: do not activate slave twice
        - 24 2186fff3 bonding: fix crash when no slave device
        - 25 c680a4a8 virtio: fix crash in statistics functions
        - 26 3b1e3e4e virtio: fix descriptors pointing to the same buffer
  * d/p/ubuntu-backport-27-virtio-fix-restart.patch for (LP: #1559981):
     - fixing re-initializing the ethdev as openvswitch-dpdk does in the
       virtio pmd driver by moving the detection of already being initialized
       from virtio_dev_close to virtio_dev_start/stop
     - this will be in the following dpdk release and delta can then be dropped
  * d/rules build with debuginfo (LP: #1560839):
     - exporting CFLAGS for all dpdk build processes
     - dh_strip...

Read more...

Changed in dpdk (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.