git=szenya

 ( NevemTeve | 2014. április 29., kedd - 18:47 )

Vagy hasonló. Például Harry Potter ellenszenves tanárát 'greasy git'-ként emlegetik. Ennél nagyobb gondom, hogy a git-1.9.2 ellenáll a fordításnak az egyik AIX-os gépemen. A következő apróságok örvendeztettek meg:

1. a make distclean törli a configure-t. Szerintem inkább a Makefile-t kellene törölnie, de hát ahány ház, annyi szokás; megoldjuk:
sed_repl 's/^ \$(RM) configure/ # $(RM) configure/' Makefile

2. Nem használja a libtool-t. Megoldás:
make ... QUIET_LINK='aix-libtool --mode=link ' ...

3. Van neki egy xdiff/lib.a nevű komponense, ami provokál egy hibát az aix-libtool-ban (Ugyanis az levágja a név elejéről a 'lib' prefixet, és rémülten szembesül az üres névvel.) Aix-libtool javítva.

4. A Makefile-ok igyekeznek csendesen működni, nehogy megtaláljam a hibát.
Sed barátunk kellő sokszori használata ezen is segít.

        sed_repl 's/^   @/      /'  perl/perl.mak\
        sed_repl 's/^   -@/     -/' perl/perl.mak\
        sed_repl 's/^   QUIET = @/      QUIET =/' perl/perl.mak
        sed_repl 's/^NOECHO = @/NOECHO =/' perl/perl.mak
        sed_repl 's/^NOOP = \$\$(SHELL) -c true/NOOP = echo "creating $$@ from $$^"/' perl/perl.mak

(ezt teszem sed-del a Makefile-ba a perl/perl.mak -ot léterhozó rész mögé; szerk: az utolsó sort különösen frappánsnak találom, ha szabad magamat fényeznem: egy felesleges hülyeségből hasznos információt csinálunk)

5. Ezek után látom azt a cuki parancsot, amin megpusztul az egyik AIX-on:
http://web.axelero.hu/lzsiga/git-perl-wtf.txt

20140429.1903: Valamiért úgy érzem, hogy ez perl-verzió probléma lesz. Ahol megy ott 5.8.8 van; ahol nem, ott meg 5.8.0

20140429.1908: Az utolsó, ami mindkét helyen lefut, ez:
/usr/bin/perl "-MExtUtils::Command" -e mkpath blib/lib
blib/lib könyvtár van is mindkettőn.

20140429.1944: Ahol nem megy, ott ez a következő parancs:
/usr/bin/perl "-MExtUtils::Command" -e eqtime /usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE/perl.h blib/lib/.exists

20140429.1946: Jahogy a perl.mak nem egyforma a két készüléken! A Makefile.PL még egyforma, csak a hívott komponensek verziója (ExtUtils::MakeMaker, teszemazt) különbözőek.

20140429.2001: Egy perl-frissítésről is lehet persze majd szó, de egyelőre a NO_PERL_MAKEMAKER=1 opció a make-nak segített.

20171019.1652: Ugyanaz a verzió, csak 64-bites:

ld: 0711-781 ERROR: TOC overflow. TOC size: 83040       Maximum size: 65536

Ugye nem lenne szép, ha pusztán ezen egyetlen szám alapján le-bloatware-ezném?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

"20140429.1903: Valamiért úgy érzem, hogy ez perl-verzió probléma lesz."

Nem. Hanem perverzió probléma.

"a make distclean törli a configure-t."

Akar meg expected behavior is lehet. Ugyanis az autoconfos cuccoknal neha ujra kell generalni a configuret az autoconf/automake parossal.

--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

Amiket eddig forrásból telepítettem (pár tucat), azokban a 'make distclean' olyasmit jelentett, hogy mindent töröl, amit létrehozott a configure és a make, vagyis visszaállítja a 'tar x' utáni állapotot. Persze fogalmam sincs, hogy van-e erre valamilyen szabvány, vagy csak hagyományokról beszélünk.

Szabvany es az autoconf? Melyik bolygorol tetszett jonni, es foleg, melyik korbol? :D

Nem, nincsenek szabvanyok, csak hagyomanyok. Es azokat is jo lazan tartjak be emberek.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

Hát pl a configure messze az én képességeimen felül áll... ha kell, le tudok gányolni ilyesmi javításokat:

sed_repl 's|hardcode_direct=yes|kabbe=yes|' configure
sed_repl 's|hardcode_direct=yes|kabbe=yes|' config/config.rpath

de arról szó sincs, hogy tudnám is, hogy ezt miért kell... (illetve hát azért kell, mert egyébként hirtelen segíteni akar (legalábbis AIX5 esetén) valamiféleképpen át akarja venni a libtool feladatát, és összekavarja a linkelést... de hogy minek... vagy, hogy miért hozza magával minden software a libtool-t...)