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: