On Mon, Jun 27, 2011 at 05:30:37PM -0000, Benjamin Drung wrote:
> There still one test failing in my amd64 chroot:
> 
> Running binaries-general 1.0... building... testing... FAILED:                
>               
> --- t/tests/binaries-general/tagsting...2011-06-27 17:20:44.000000000 +0000
> +++ debian/tests/binaries-general/tags.binaries-general       2011-06-27 
> 17:23:17.107068548 +0000
> @@ -1,6 +1,7 @@
>  E: binaries-general: arch-dependent-file-in-usr-share usr/share/foo/basic
>  E: binaries-general: binary-or-shlib-defines-rpath usr/lib/foo/basiclibrpath 
> /usr/lib
>  E: binaries-general: binary-or-shlib-defines-rpath usr/share/foo/basic 
> /usr/local/lib
> +E: binaries-general: debug-symbols-directly-in-usr-lib-debug 
> usr/lib/debug/basic
>  E: binaries-general: library-in-debug-or-profile-should-not-be-stripped 
> usr/lib/debug/usr/share/foo/basic
>  W: binaries-general: binary-compiled-with-profiling-enabled 
> usr/share/foo/basic
>  W: binaries-general: debug-package-should-be-named-dbg usr/lib/debug/basic
---end quoted text---

I beleive the problem indeed was due to the Ubuntu change:

  - Drop debug-symbols-directly-in-usr-lib-debug from binaries-general.

you probably removed it because it caused the following FTBFS in i386 
arch:
-E: binaries-general: debug-symbols-directly-in-usr-lib-debug 
usr/lib/debug/basic

I tried to find out why debug-symbols-directly-in-usr-lib-debug error 
isn't triggered, so I created a package for the binaries-general test 
(attached), and built it, here are my findings:

* In lintian, the checks/binaries has the following:

    # Detached debugging symbols directly in /usr/lib/debug.
    if ($file =~ m,^usr/lib/debug/[^/]+$,) {
        unless (exists($objdump->{NEEDED})
            || $fileinfo =~ m/statically linked/) {
            tag 'debug-symbols-directly-in-usr-lib-debug', $file;
        }
    }


* After building the 'basic' package, I ran:

$ file debian/basic/usr/lib/debug/basic
debian/basic/usr/lib/debug/basic: ELF 32-bit LSB executable, Intel 80386, 
version 1 (SYSV), statically linked (uses shared libs), for GNU/Linux 2.6.15, 
not stripped

* Please note: "statically linked", although the Makefile builds 'basic' 
with:

   gcc -o basic basic.c -pg -Wl,--rpath,/usr/local/lib


So, I decided to check the built 'basic' binary:

$ file basic
basic: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically 
linked (uses shared libs), for GNU/Linux 2.6.15, not stripped

So, the culprit turned to be:

  objcopy --only-keep-debug basic $(DESTDIR)/usr/lib/debug/basic

This 'objcopy' causes the resulting binary to be statically linked.

What I would like you to do is to build the package I have attached, and 
check if debian/basic/usr/lib/debug/basic would be statically linked or 
not.


** Attachment added: "basic_1.0.tar.gz"
   
https://bugs.launchpad.net/ubuntu/+source/lintian/+bug/798513/+attachment/2187518/+files/basic_1.0.tar.gz

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/798513

Title:
  Candidate revision lintian 2.5.1ubuntu1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lintian/+bug/798513/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to