Re: How to build deb "dbg" packages?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yes, they always need to match. You can use the following to keep
track of buildids.

    build-id from an executable, shared library or separate debuginfo
file:·

$ eu-unstrip -n -e <exec|.sharedlib|.debug>

    build-ids of an executable and all shared libraries from a core
file:·

$ eu-unstrip -n --core <corefile>

    build-ids of an executable and all shared libraries of a running
process:·

$ eu-unstrip -n --pid <pid>

    build-id of the running kernel and all loaded modules:·

$ eu-unstrip -n -k

On Fri, Mar 27, 2020 at 11:52 AM Can Zhang <can@xxxxxxx> wrote:
>
> Thanks for the reply. Actually I made a mistake by claiming "dbg
> packages in ubuntu don't have source code included". Here's a little
> more information about making sure the binary and dbg package match:
>
> $ file /usr/bin/ceph-osd
> /usr/bin/ceph-osd: ELF 64-bit LSB shared object, x86-64, version 1
> (GNU/Linux), dynamically linked, interpreter /lib64/l, for GNU/Linux
> 3.2.0, BuildID[sha1]=8a15177a5cb79533f396ef01e68ba1a2025f07a1,
> stripped
> $ ll /usr/lib/debug/.build-id/8a/15177a5cb79533f396ef01e68ba1a2025f07a1.debug
> -rw-r--r-- 1 root root 195M Mar 26 17:27
> /usr/lib/debug/.build-id/8a/15177a5cb79533f396ef01e68ba1a2025f07a1.debug
>
> The binary has a "BuildID" field, and gdb would try to find the
> corresponding debug file under /usr/lib/debug/.build-id
> Hope it would help, and sorry for the disturbance.
>
>
> Best,
> Can Zhang
>
> On Thu, Mar 26, 2020 at 3:43 PM Brad Hubbard <bhubbard@xxxxxxxxxx> wrote:
> >
> > The source for frames 0 to 2 are not part of ceph, they are part of
> > glibc (libpthread).
> >
> > This is what I normally do.
> >
> > # apt-get install ceph-osd ceph-osd-dbg
> > # mkdir build && cd $_
> > # apt-get source ceph-osd
> > # cd ..
> > # gdb -d build/ /usr/bin/ceph-osd CoreDump
> >
> > Something like that should work for you too (at least for the actual
> > ceph frames).
> >
> > On Thu, Mar 26, 2020 at 11:29 AM Can Zhang <can@xxxxxxx> wrote:
> > >
> > > Hello,
> > >
> > > I have a follow-up question. As the dbg packages in ubuntu, not like
> > > rpm, don't have source code included, I also installed the source
> > > package, and instruct gdb to find the directory with command
> > > "directory /usr/src/ceph-14.2.7-75-g14b67dbc11", but it seems not
> > > working:
> > >
> > > (gdb) directory /usr/src/ceph-14.2.7-75-g14b67dbc11/src
> > > Source directories searched: /usr/src/ceph-14.2.7-75-g14b67dbc11/src:$cdir:$cwd
> > > (gdb) bt
> > > #0  0x00007f3aafa619f3 in futex_wait_cancelable (private=<optimized
> > > out>, expected=0, futex_word=0x564f5aedf1d8) at
> > > ../sysdeps/unix/sysv/linux/futex-internal.h:88
> > > #1  __pthread_cond_wait_common (abstime=0x0, mutex=0x564f5aedf030,
> > > cond=0x564f5aedf1b0) at pthread_cond_wait.c:502
> > > #2  __pthread_cond_wait (cond=0x564f5aedf1b0, mutex=0x564f5aedf030) at
> > > pthread_cond_wait.c:655
> > > #3  0x0000564f4f3ff747 in AsyncMessenger::wait() ()
> > > #4  0x0000564f4eb2119e in main ()
> > >
> > >
> > > could you help me with debugging in ubuntu environment?
> > >
> > >
> > >
> > >
> > > Best,
> > > Can Zhang
> > >
> > > On Tue, Mar 17, 2020 at 4:42 PM Can Zhang <can@xxxxxxx> wrote:
> > > >
> > > > Thanks for the reply. After some tinkering, I understand that
> > > > "make-debs.sh" intentionally remove *-dbg package building in normal
> > > > situations, quote "...and remove -dbg packages because they are large
> > > > and take time to build", so I comment out those lines:
> > > > ====
> > > > diff --git a/make-debs.sh b/make-debs.sh
> > > > index 5a7ca1aff5..650940ccf2 100755
> > > > --- a/make-debs.sh
> > > > +++ b/make-debs.sh
> > > > @@ -46,8 +46,8 @@ tar -C $releasedir -jxf $releasedir/ceph_$vers.orig.tar.bz2
> > > >  #
> > > >  cp -a debian $releasedir/ceph-$vers/debian
> > > >  cd $releasedir
> > > > -perl -ni -e 'print if(!(/^Package: .*-dbg$/../^$/))' ceph-$vers/debian/control
> > > > -perl -pi -e 's/--dbg-package.*//' ceph-$vers/debian/rules
> > > > +#perl -ni -e 'print if(!(/^Package: .*-dbg$/../^$/))' ceph-$vers/debian/control
> > > > +#perl -pi -e 's/--dbg-package.*//' ceph-$vers/debian/rules
> > > >  #
> > > >  # always set the debian version to 1 which is ok because the debian
> > > >  # directory is included in the sources and the upstream version will
> > > > ====
> > > > now the script could generate *-dbg*.deb files as expected.
> > > >
> > > >
> > > >
> > > > Best,
> > > > Can Zhang
> > > >
> > > > On Tue, Mar 17, 2020 at 11:47 AM kefu chai <tchaikov@xxxxxxxxx> wrote:
> > > > >
> > > > > On Mon, Mar 16, 2020 at 4:13 PM Can Zhang <can@xxxxxxx> wrote:
> > > > > >
> > > > > > Hello,
> > > > > >
> > > > > > I use "make-debs.sh" script to build debian packages, but instead of
> > > > > > getting *-dbg packages, I get packages like
> > > > > > "ceph-base-dbgsym_14.2.7-75-g14b67dbc11-1_amd64.ddeb", which cannot be
> > > > > > imported by reprepro, with errors like:
> > > > > >
> > > > > > Unknown file type: 'a2e592c703334bc9f55a62f6fac267d8 135503940 debug
> > > > > > optional ceph-base-dbgsym_14.2.7-75-g14b67dbc11-1_amd64.ddeb',
> > > > > > assuming source format...
> > > > > > Warning: File 'ceph-base-dbgsym_14.2.7-75-g14b67dbc11-1_amd64.ddeb'
> > > > > > looks like source but does not start with 'ceph_'!
> > > > >
> > > > > that's a known issue. see
> > > > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=730572 .
> > > > >
> > > > > >
> > > > > > I must have missed something about the package building procedure.
> > > > > > What supposed to be the right way to build deb packages?
> > > > > >
> > > > >
> > > > > please read https://wiki.debian.org/AutomaticDebugPackages for more
> > > > > info regarding to ddeb.
> > > > >
> > > > > i'd suggest search for answers first before shooting the question
> > > > > right to the maling list .
> > > > >
> > > > > >
> > > > > >
> > > > > > Best,
> > > > > > Can Zhang
> > > > > > _______________________________________________
> > > > > > Dev mailing list -- dev@xxxxxxx
> > > > > > To unsubscribe send an email to dev-leave@xxxxxxx
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Regards
> > > > > Kefu Chai
> > > _______________________________________________
> > > Dev mailing list -- dev@xxxxxxx
> > > To unsubscribe send an email to dev-leave@xxxxxxx
> > >
> >
> >
> > --
> > Cheers,
> > Brad
> >
>


-- 
Cheers,
Brad
_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx




[Index of Archives]     [CEPH Users]     [Ceph Devel]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux