Gentoo Archives: gentoo-user-cs

From: "Honza Macháček" <Hloupy.Honza@×××××××.cz>
To: gentoo-user-cs@l.g.o
Subject: Re: [gentoo-user-cs] x11
Date: Fri, 07 Apr 2006 10:55:11
Message-Id: 44364521.9020300@centrum.cz
In Reply to: Re: [gentoo-user-cs] x11 by "Jan Kundrát"
1 Jan Kundrát píše:
2
3 >>less /usr/lib/glibc.so
4 >
5 > Linkeru absolutne nerozumim, nicmene predpokladam spis "/usr/lib/libc.so".
6
7 Přesně tak, omlouvám se za trapný překlep.
8 Tak dlouho jsem hledal, jestli ten problematický soubor byl libc nebo
9 libglib a s jakou koncovkou, až jsem to spletl dohromady a napsal nesmysl.
10
11 >>> /* GNU ld script
12 >>> Use the shared library, but some functions are only in
13 >>> the static library, so try that secondarily. */
14 >>>OUTPUT_FORMAT(elf32-i386)
15 >>>GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.2 ) )
16 >> ...
17 >>>GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a /lib/ld-linux.so.2 )
18 >
19 > To je nejakej rucni uber-tweak, a nebo defaultni volba? Pokud
20 > automaticka, na jakych systemech?
21 > ...
22 > (OT poznamka - jak jiz bylo receno, linkeru ale vubec nerozumim, nicmene
23 > to, ze do souboru s priponou .so dava ascii text, mi prijde takovy, no,
24 > divny...)
25
26 Mé vlastní znalosti programování vůbec a systémového zvlášť jsou
27 značně útržkovité a omezené. Z onoho
28
29 >>> /* GNU ld script
30
31 na začátku ,,knihovny`` jsem vyrozuměl, že přinejmenším GNU ld poslední
32 dobou žere kromě binárních knihoven i skripty, které popisují, jakou
33 kombinaci binárních knihoven má za jakých okolností spořádat.
34 Když jsem poprvé hledal, proč mi najednou kompilátor nekompiluje,
35 našel jsem skrze Google věci jako
36 http://sourceware.org/ml/binutils/2005-01/msg00288.html -- zrovna moudrý
37 jsem z toho nebyl, ale usoudil jsem, že AS_NEEDED je příkaz, direktiva,
38 nebo jak se tomu nadává, přidaný (či přidaná nebo přidané) k syntaxi
39 skriptů linkeru někdy nedávno, a tak se mi může stát, že nainstaluji
40 knihovnu, která to používá, s linkerem, jenž to ještě nezná. Tím pádem
41 by problémy měly časem, jak budu upgradovat linker, zmizet, a prozatím
42 je snad aspoň částečně vyřeší ruční zásah, kterým ve skriptu předepíšu,
43 že to, co by se ideálně mělo načítat dle potřeby (AS_NEEDED), se bude
44 načítat vždycky.
45 Mé dočasné ruční řešení se zdálo vskutku fungovat, a teď, jak už jsem
46 psal, už můj linker rozumí i AS_NEEDED a já si do knihoven zasahovat
47 nemusím. Ale dělal jsem to několikrát, ještě docela nedávno, tak když
48 teď někdo jiný narazil na zásadní problémy s kompilací, dávám tuhle
49 možnost k lepšímu.
50
51 > No a ja jenom doplnim, ze je taky dobre overovat vsechno, co na
52 > konferenci/IRC lidi poradi.
53
54 To je velmi dobrá rada (zvlášť jestli ta ukázka z IRC byla autentická
55 a postižený o tom, že ,,rady`` okamžitě uposlechl, nežertoval). V tomhle
56 má konference oproti IRC trochu výhodu -- i nepříliš rozvážný člověk má
57 šanci, že než si přečte poštu, stačí zlomyslnou, nevhodně žertovnou nebo
58 prostě hloupou radu někdo okomentovat a uvést na správnou míru.
59
60 Například mě napadá, že v mém případě by možná bývalo už napoprvé
61 pomohlo, kdybych místo studia knihoven zkusil
62 eselect binutils list
63 a přepnul na nejčerstvější verzi. Ale zatím to sem nikdo nenapsal, tak
64 nevím.
65
66 Mějte se krásně.
67 Honza Macháček
68
69 --
70 gentoo-user-cs@g.o mailing list