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

Re: Failure building ghc-7.8 debs



On Tue, Feb 11, 2014 at 12:56 AM, Joachim Breitner <nomeata@debian.org> wrote:
> Hi David,
>
> Am Montag, den 10.02.2014, 16:09 -0800 schrieb David Fox:
>> It seems to me that part of the problem is that the package.conf.d
>> directory used by the ghc-pkg command that is failing is empty:
>
> I don’t think that is the problem; I believe it is the linker that is
> failing here.
>
> Could you give us the output of
>
>         ldd /work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/ghc-pkg
>         objdump -p /work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/ghc-pkg
>
> Also, is this ghc-7.8.20140130-3, i.e. the latest version of the
> packaging (not that I expect it to make a difference).
>
> Is there a file
> /work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/terminfo-0.4.0.0/libHSterminfo-0.4.0.0-ghc7.8.20140130.so
> in your build tree?
>

I updated to release 3, with the same result.   Yes, the libHSterminfo
dynamic library is present in the build tree:

# ls -l /work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/terminfo-0.4.0.0/libHSterminfo-0.4.0.0-ghc7.8.20140130.so
-rwxr-xr-x 1 root root 339919 Feb 11 19:34
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/terminfo-0.4.0.0/libHSterminfo-0.4.0.0-ghc7.8.20140130.so

One more data point - I just ran dpkg-buildpackage on a "real" ubuntu
precise partition (not a build root) and it succeeded.  This usually
makes me think there is a missing dependency because a real partition
usually has tons more packages installed than a build root, but it
could be some other shenanigans as you suspect.  Maybe next I will
install everything into the build root that is installed on the
precise partition and see if that succeeds.

Here is the output of the ldd command:

# ldd /work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/ghc-pkg
        linux-vdso.so.1 =>  (0x00007fff43bfe000)
        libffi.so.5 => /usr/lib/x86_64-linux-gnu/libffi.so.5
(0x00007f366574d000)
        libHSterminfo-0.4.0.0-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../terminfo-0.4.0.0/libHSterminfo-0.4.0.0-ghc7.8.20140130.so
(0x00007f3665515000)
        libHSbin-package-db-0.0.0.0-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../bin-package-db-0.0.0.0/libHSbin-package-db-0.0.0.0-ghc7.8.20140130.so
(0x00007f36652fe000)
        libHSbinary-0.7.1.0-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../binary-0.7.1.0/libHSbinary-0.7.1.0-ghc7.8.20140130.so
(0x00007f3665087000)
        libHSCabal-1.18.1.3-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../Cabal-1.18.1.3/libHSCabal-1.18.1.3-ghc7.8.20140130.so
(0x00007f36644bd000)
        libHSprocess-1.2.0.0-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../process-1.2.0.0/libHSprocess-1.2.0.0-ghc7.8.20140130.so
(0x00007f366429d000)
        libHSpretty-1.1.1.1-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../pretty-1.1.1.1/libHSpretty-1.1.1.1-ghc7.8.20140130.so
(0x00007f3664082000)
        libHSdirectory-1.2.0.2-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../directory-1.2.0.2/libHSdirectory-1.2.0.2-ghc7.8.20140130.so
(0x00007f3663e65000)
        libHSunix-2.7.0.0-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../unix-2.7.0.0/libHSunix-2.7.0.0-ghc7.8.20140130.so
(0x00007f3663ba7000)
        libHStime-1.4.1-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../time-1.4.1/libHStime-1.4.1-ghc7.8.20140130.so
(0x00007f36638b7000)
        libHSold-locale-1.0.0.6-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../old-locale-1.0.0.6/libHSold-locale-1.0.0.6-ghc7.8.20140130.so
(0x00007f36636a4000)
        libHSfilepath-1.3.0.2-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../filepath-1.3.0.2/libHSfilepath-1.3.0.2-ghc7.8.20140130.so
(0x00007f3663485000)
        libHScontainers-0.5.4.0-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../containers-0.5.4.0/libHScontainers-0.5.4.0-ghc7.8.20140130.so
(0x00007f36630a2000)
        libHSbytestring-0.10.4.0-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../bytestring-0.10.4.0/libHSbytestring-0.10.4.0-ghc7.8.20140130.so
(0x00007f3662dbe000)
        libHSdeepseq-1.3.0.2-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../deepseq-1.3.0.2/libHSdeepseq-1.3.0.2-ghc7.8.20140130.so
(0x00007f3662bb6000)
        libHSarray-0.5.0.0-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../array-0.5.0.0/libHSarray-0.5.0.0-ghc7.8.20140130.so
(0x00007f366291d000)
        libHSbase-4.7.0.0-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../base-4.7.0.0/libHSbase-4.7.0.0-ghc7.8.20140130.so
(0x00007f3662073000)
        libHSinteger-gmp-0.5.1.0-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../integer-gmp-0.5.1.0/libHSinteger-gmp-0.5.1.0-ghc7.8.20140130.so
(0x00007f3661e57000)
        libHSghc-prim-0.3.1.0-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../ghc-prim-0.3.1.0/libHSghc-prim-0.3.1.0-ghc7.8.20140130.so
(0x00007f3661bd6000)
        libHSrts-ghc7.8.20140130.so =>
/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/../rts-1.0/libHSrts-ghc7.8.20140130.so
(0x00007f3661971000)
        libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5
(0x00007f3661748000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f366153f000)
        libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f366133c000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3661138000)
        libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10
(0x00007f3660ec8000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3660c46000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f3660a2a000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f366069e000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3665966000)


And the objdump command:

# objdump -p /work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/ghc-pkg

/work/build/ghc/ghc-7.8.20140130/debian/tmp/usr/lib/ghc/bin/ghc-pkg:
  file format elf64-x86-64

Program Header:
    PHDR off    0x0000000000000040 vaddr 0x0000000000400040 paddr
0x0000000000400040 align 2**3
         filesz 0x00000000000001c0 memsz 0x00000000000001c0 flags r-x
  INTERP off    0x0000000000000200 vaddr 0x0000000000400200 paddr
0x0000000000400200 align 2**0
         filesz 0x000000000000001c memsz 0x000000000000001c flags r--
    LOAD off    0x0000000000000000 vaddr 0x0000000000400000 paddr
0x0000000000400000 align 2**21
         filesz 0x000000000003eb44 memsz 0x000000000003eb44 flags r-x
    LOAD off    0x000000000003f000 vaddr 0x000000000063f000 paddr
0x000000000063f000 align 2**21
         filesz 0x0000000000009c58 memsz 0x0000000000009c80 flags rw-
 DYNAMIC off    0x000000000003f018 vaddr 0x000000000063f018 paddr
0x000000000063f018 align 2**3
         filesz 0x00000000000003b0 memsz 0x00000000000003b0 flags rw-
    NOTE off    0x000000000000021c vaddr 0x000000000040021c paddr
0x000000000040021c align 2**2
         filesz 0x0000000000000044 memsz 0x0000000000000044 flags r--
EH_FRAME off    0x000000000003ea70 vaddr 0x000000000043ea70 paddr
0x000000000043ea70 align 2**2
         filesz 0x000000000000002c memsz 0x000000000000002c flags r--
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr
0x0000000000000000 align 2**3
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-

Dynamic Section:
  NEEDED               libffi.so.5
  NEEDED               libHSterminfo-0.4.0.0-ghc7.8.20140130.so
  NEEDED               libHSbin-package-db-0.0.0.0-ghc7.8.20140130.so
  NEEDED               libHSbinary-0.7.1.0-ghc7.8.20140130.so
  NEEDED               libHSCabal-1.18.1.3-ghc7.8.20140130.so
  NEEDED               libHSprocess-1.2.0.0-ghc7.8.20140130.so
  NEEDED               libHSpretty-1.1.1.1-ghc7.8.20140130.so
  NEEDED               libHSdirectory-1.2.0.2-ghc7.8.20140130.so
  NEEDED               libHSunix-2.7.0.0-ghc7.8.20140130.so
  NEEDED               libHStime-1.4.1-ghc7.8.20140130.so
  NEEDED               libHSold-locale-1.0.0.6-ghc7.8.20140130.so
  NEEDED               libHSfilepath-1.3.0.2-ghc7.8.20140130.so
  NEEDED               libHScontainers-0.5.4.0-ghc7.8.20140130.so
  NEEDED               libHSbytestring-0.10.4.0-ghc7.8.20140130.so
  NEEDED               libHSdeepseq-1.3.0.2-ghc7.8.20140130.so
  NEEDED               libHSarray-0.5.0.0-ghc7.8.20140130.so
  NEEDED               libHSbase-4.7.0.0-ghc7.8.20140130.so
  NEEDED               libHSinteger-gmp-0.5.1.0-ghc7.8.20140130.so
  NEEDED               libHSghc-prim-0.3.1.0-ghc7.8.20140130.so
  NEEDED               libHSrts-ghc7.8.20140130.so
  NEEDED               libtinfo.so.5
  NEEDED               librt.so.1
  NEEDED               libutil.so.1
  NEEDED               libdl.so.2
  NEEDED               libgmp.so.10
  NEEDED               libm.so.6
  NEEDED               libpthread.so.0
  NEEDED               libc.so.6
  RPATH
$ORIGIN/../terminfo-0.4.0.0:$ORIGIN/../bin-package-db-0.0.0.0:$ORIGIN/../binary-0.7.1.0:$ORIGIN/../Cabal-1.18.1.3:$ORIGIN/../process-1.2.0.0:$ORIGIN/../pretty-1.1.1.1:$ORIGIN/../directory-1.2.0.2:$ORIGIN/../unix-2.7.0.0:$ORIGIN/../time-1.4.1:$ORIGIN/../old-locale-1.0.0.6:$ORIGIN/../filepath-1.3.0.2:$ORIGIN/../containers-0.5.4.0:$ORIGIN/../bytestring-0.10.4.0:$ORIGIN/../deepseq-1.3.0.2:$ORIGIN/../array-0.5.0.0:$ORIGIN/../base-4.7.0.0:$ORIGIN/../integer-gmp-0.5.1.0:$ORIGIN/../ghc-prim-0.3.1.0:$ORIGIN/../rts-1.0
  INIT                 0x000000000040cb00
  FINI                 0x000000000043c5bc
  INIT_ARRAY           0x000000000063f000
  INIT_ARRAYSZ         0x0000000000000008
  FINI_ARRAY           0x000000000063f008
  FINI_ARRAYSZ         0x0000000000000008
  HASH                 0x0000000000400260
  GNU_HASH             0x0000000000400d38
  STRTAB               0x00000000004035b0
  SYMTAB               0x0000000000400d78
  STRSZ                0x0000000000005485
  SYMENT               0x0000000000000018
  DEBUG                0x0000000000000000
  PLTGOT               0x000000000063fcc0
  PLTRELSZ             0x0000000000000048
  PLTREL               0x0000000000000007
  JMPREL               0x000000000040cab8
  RELA                 0x0000000000408db0
  RELASZ               0x0000000000003d08
  RELAENT              0x0000000000000018
  FLAGS_1              0x0000000000000080
  VERNEED              0x0000000000408d90
  VERNEEDNUM           0x0000000000000001
  VERSYM               0x0000000000408a36

Version References:
  required from libc.so.6:
    0x09691a75 0x00 02 GLIBC_2.2.5

I am currently building in a non-changeroot environment to see if that
makes any difference.


Reply to: