[voikko] [Fwd: Mozvoikon kääntämisestä]

Harri Pitkänen hatapitk at iki.fi
Wed Jan 28 20:03:51 EET 2009


On Tuesday 27 January 2009, Heikki Mäntysaari wrote:
> ti, 2009-01-27 kello 23:25 +0200, Ville-Pekka Vainio kirjoitti:
> > Kokeilin kääntää mozvoikkoa Fedorassa sekä "alkuperäisenä", Heikin
> > patchilla että Heikin patchilla ja yo. muutoksella. Mielenkiintoisesti
> > ldd-tuloste pysyi aina suunnilleen samanlaisena (tyyliin
> > <http://paste.ubuntu.com/110433/>), mutta ldd -u -tuloste ja RPM:n
> > Requiresit muuttuivat kyllä. Alkuperäisen ja Heikin patch + --as-needed
> > -yhdistelmän välillä erona oli se, että libm.so jäi pois RPM:n
> > Requiresista.
>
> Vertailun vuoksi oman käännökseni linkitykset Ubuntu 9.04:ssä:
> http://paste.ubuntu.com/110435/ , eli huomattavasti lyhyempi lista.
> Tuossa siis oma alkuperäinen pätsini + poistettu ylimääräisiä
> käännösparametreja (Ville-Pekan pätsi) + Harrin ehdottama --as-needed.
> Fedora tekee jotain selvästi eri tavalla.

ldd listaa myös epäsuorat riippuvuudet, eli riippuvuuksien riippuvuudet jne. 
Eli jos Fedorassa sattuu olemaan jotain ylimääräisiä riippuvuuksia tuolla 
ketjussa (näyttää olevan pangoa yms. graafisen puolen kirjastoa) niin ne 
tulevat myös mukaan. Suorat riippuvuudet, jotka tässä ovat kiinnostavia, saa 
helposti readelf-komennolla. Debianissa ilman --as-needed-valitsinta

$ readelf -d debian/mozvoikko/usr/lib/mozvoikko/libmozvoikko.so | grep NEEDED
 0x0000000000000001 (NEEDED)             Shared library: [libxul.so]
 0x0000000000000001 (NEEDED)             Shared library: [libxpcom.so]
 0x0000000000000001 (NEEDED)             Shared library: [libplds4.so.0d]
 0x0000000000000001 (NEEDED)             Shared library: [libplc4.so.0d]
 0x0000000000000001 (NEEDED)             Shared library: [libnspr4.so.0d]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

ja tuon valitsimen kanssa

$ readelf -d debian/mozvoikko/usr/lib/mozvoikko/libmozvoikko.so | grep NEEDED
 0x0000000000000001 (NEEDED)             Shared library: [libxpcom.so]
 0x0000000000000001 (NEEDED)             Shared library: [libnspr4.so.0d]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

> Laitoin oman testiversioni omaan pakettilähteeseeni:
> https://launchpad.net/~heikki-mantysaari/+archive/ppa (binäärit eivät
> tätä kirjoittaessani ole vielä valmistuneet, pitäisi pikapuoliin löytyä
> paketit Ubuntu 8.10:lle ja 9.04:lle).
>
> Debianin ja Ubuntun paketteihin en itse ajatellut tehdä muutoksia ennen
> kuin Mozvoikosta tulee uusi versio tai Thunderbird 3 ilmestyy
> pakettilähteisiin (mikä vaatii muutoksia paketointiin).

Huomasin muuten, että Debian-paketeissa oli jo pyrittykin 
käyttämään --as-needed-valitsinta. Rules-tiedostossa luki

LDFLAGS="-Wl, --as-needed" $(MAKE) -f Makefile.xulrunner extension-files

mutta tuo ei toiminut siksi, että mozvoikon Makefile.xulrunner ei välitä 
LDFLAGS-muuttujaa oikein. Ja jos se olisi välittänyt, niin silloin olisi 
tullut ongelmia ylimääräisen välilyönnin kanssa -Wl,:n jälkeen.

Pitäisi kai korjailla vielä lisää tuota Makefileä, että standardit muuttujat 
huomioitaisiin paremmin. Nyt kuitenkin olen laittanut SVN:ään kaikki nämä 
tähän mennessä ehdotetut muutokset. Ja päivitin testaajia varten 
debian-hakemiston sisällön (käytännössä kopioin sen lähes sellaisenaan 
Debianista) ja testasin vihdoin itsekin, että lisäosa tosiaan toimii.

En tiedä, missä vaiheessa Mozvoikosta kannattaisi julkaista uusi versio. Onhan 
sinne näitä pieniä muutoksia jo kertynyt, joten ehkä 0.9.6 (tai 1.0?) olisi 
aiheellista laittaa ulos paketoinnin helpottamiseksi. Vai odotammeko vielä, 
että Firefox 3.1 on niin lähellä julkaisua, että yhteensopivuus sen kanssa 
saadaan lopullisesti varmistettua? Andris varmaan tietää tästä asiasta 
enemmän.

Harri



More information about the voikko mailing list