[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Qt
From: |
Ludovic Courtès |
Subject: |
Re: Qt |
Date: |
Sat, 12 Oct 2013 21:38:08 +0200 |
User-agent: |
Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux) |
Andreas Enge <address@hidden> skribis:
> So I added Qt 4.8.5, after disabling a few tests requiring an X server -
> adding xorg-server as an input was not enough, as the server would not be
> started by the tests, but supposed to be already running.
I wonder how people address this in general. Perhaps we could start
xvfb in a pre-check phase if that’s enough?
> Two "hello world" programs I found in a tutorial compile.
Neat.
> The gui program complains about a missing icui18n library. Strace shows the
> following:
[...]
> open("/etc/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or
> directory)
What’s this?! Would be good to know where it comes from. Normally our
glibc doesn’t look for ld.so.cache (see ‘glibc-no-ld-so-cache.patch’.)
[...]
> icu4c was present at the time of compilation, but is not listed as a
> reference:
>
> $$ ./pre-inst-env guix gc --references
> /nix/store/z70fv39wa8yrvvqq9zfidsh86z72p4gr-qt-4.8.5
>
> /nix/store/2332f9jmabldwz08lqj9yd8znrx9z125-libpng-1.5.17
> /nix/store/3xkdzldlqm4sa2p4czjbnybdwq47qlw2-fontconfig-2.10.93
> /nix/store/52998i0m4gr7k35lni8fmg591zsyqamv-gcc-4.7.3
> /nix/store/8cpwgsdx2njpkdj20i963zfxs0fyqkvi-libjpeg-8d
> /nix/store/arsxjcl3kdxxjxf7s1nsvfczis6pckm3-libxrender-0.9.7
> /nix/store/asmki6g7ca64sdlcf6ahnjxvxg2x6sgv-libx11-1.5.0
> /nix/store/b3c1z47c201gz8gnx5553kw2qb4qdq3b-freetype-2.4.11
> /nix/store/dly2cqqprdsb4fqabrw0bxm1n42vpi6w-glib-2.38.0
> /nix/store/g4cs0ssg7ry4da1615947ild5l4wv6ba-zlib-1.2.7
> /nix/store/i9b6q8wciapn69wifmb1xgpikj4ljjzy-alsa-lib-1.0.27.1
> /nix/store/l8bnfq6n6hb2wvx0kxdy141jna8mkns3-mysql-5.1.54
> /nix/store/lhb68hrv6hcris5bbr7y894c9g8fj558-libxext-1.3.1
> /nix/store/shamfhyg9hcac63y3bll9p50ixxid8vb-glibc-2.18
> /nix/store/vmajpkk5ih03g0wik16693fkc638if8k-mesa-8.0.5
> /nix/store/z70fv39wa8yrvvqq9zfidsh86z72p4gr-qt-4.8.5
>
> ldd on the offending binary shows no dependency on anything icu related,
> and installing icu4c in the user profile does not have any effect.
>
> If I add $HOME/.guix-profile/lib to LD_LIBRARY_PATH, the problem disappears.
> I wonder if some dlopen magic is involved. Do you see a solution from
> this description?
libicu4c is a dependency of Qt, right?
If so, I would make sure that it’s NEEDed by libqt.so, and that it’s in
its RUNPATH. To do that, run:
objdump -x libqt.so | grep -E '(NEED|PATH)'
If it’s not NEEDed, then -licu4c must be added on the link command for
libqt.so.
If it’s not in the RUNPATH, then -Wl,-rpath=/path/to/icu4c/lib must be
added to the libqt.so ld flags.
HTH,
Ludo’.
- Qt, Andreas Enge, 2013/10/08
- Re: Qt, Ludovic Courtès, 2013/10/08
- Re: Qt, Andreas Enge, 2013/10/10
- Re: Qt, Ludovic Courtès, 2013/10/10
- Re: Qt, Andreas Enge, 2013/10/10
- Re: Qt, Mark H Weaver, 2013/10/10
- Re: Qt, Andreas Enge, 2013/10/31
- Re: Qt, Andreas Enge, 2013/10/12
- Re: Qt,
Ludovic Courtès <=
- Re: Qt, Andreas Enge, 2013/10/12
- Re: Qt, Andreas Enge, 2013/10/12
- Re: Qt, Ludovic Courtès, 2013/10/13
- Re: Qt, Andreas Enge, 2013/10/13
- Re: Qt, Ludovic Courtès, 2013/10/13