1 |
Am 25.12.2011 19:56, schrieb Michael Volland: |
2 |
> Hi, |
3 |
> |
4 |
> our public library uses Adobe Digital Rights Management. |
5 |
> That means you download a paper/book and open it with acroread. |
6 |
> |
7 |
> It used to work fine with gentoo ~amd64 but not with ~x86 and x86. |
8 |
> (I assume it works with amd64 as well, can't just test it) |
9 |
> |
10 |
> Acroread always crashed, when I tried to open a drm-protected document |
11 |
> on x84-installations. |
12 |
> |
13 |
> The reason is, that acroread (acroread-9.4.2) is installed as binary, |
14 |
> but dynamically linked and when you open a drm-protected document, it |
15 |
> tries to load the non-existing library /usr/lib32/libidn.so.11. |
16 |
> |
17 |
> To reproduce: |
18 |
> in xterm: |
19 |
> $ export ACRODEBUG=1 |
20 |
> $ acroread |
21 |
> |
22 |
> now open drm-protected document |
23 |
> |
24 |
> dlopen: libidn.so.11: cannot open shared object file: No such file or |
25 |
> directory |
26 |
> |
27 |
> This library is part of app-emulation/emul-linux-x86-baselibs-20110928 |
28 |
> which is usually installed with non-x86 installations. |
29 |
> |
30 |
> So I installed emul-linux-x86-baselibs and did set a softlink from |
31 |
> /usr/lib32/libidn.so.11 to /usr/lib. It works fine. |
32 |
> |
33 |
> But lately I ran into problems after upgrading gcc. I couldn't emerge |
34 |
> qt-gui |
35 |
> anymore. Actually I had to remove the link, rename /usr/lib32 and |
36 |
> reemerge gcc. Then it was possible to emerge qt-gui. |
37 |
> |
38 |
> Any suggestions? |
39 |
> Could there be a library on x86 installation, that one could use? |
40 |
> Could I hide the library from ebuilds other than acroread? |
41 |
> Should I file a gentoo-bug-report? |
42 |
> |
43 |
> Greetings |
44 |
> Michael |
45 |
> |
46 |
> |
47 |
|
48 |
Solution: File a bug on b.g.o. Maybe the acroread dev can bundle a |
49 |
libidn.so.11 with acroread. |
50 |
|
51 |
Workaround: Symlink libidn.so.11 on some location outside the usual lib |
52 |
directory structure (I suggest /usr/local/acroread/lib). Create a shell |
53 |
script wrapper around acroread which calls |
54 |
`LD_LIBRARY_PATH=/usr/local/acroread/lib acroread` |
55 |
|
56 |
That way, only acroread will "see" this lib. |
57 |
|
58 |
Hope this helps, |
59 |
Florian Philipp |