Discussion:
TAR auf altem Linux bauen
(zu alt für eine Antwort)
Volker Englisch
2008-05-23 08:24:36 UTC
Permalink
Hallo,

um das Schönheitsproblem mit den LongLinks loszuwerden, möchte ich auf
einem alten Linux eine neuere Version von TAR bauen. Es ist ein Debian
2.0 mit TAR 1.12 (keine Angst, der Rechner hat keine
Internetverbindung). Das jeweilige ./configure endet übrigens ohne
Fehler.

Ein Versuch mit TAR 1.14 endet damit:

Making all in src
make[2]: Entering directory `/usr/src/tar-1.14/src'
gcc -g -O2 -o tar buffer.o compare.o create.o delete.o extract.o \
xheader.o incremen.o list.o mangle.o misc.o names.o rtapelib.o \
sparse.o system.o tar.o update.o utf8.o ../lib/libtar.a
list.o: In function `list_archive':
/usr/src/tar-1.14/src/list.c:240: undefined reference to `fwrite_unlocked'
make[2]: *** [tar] Error 1
make[2]: Leaving directory `/usr/src/tar-1.14/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/tar-1.14'
make: *** [all] Error 2

--------------------------------- cut ---------------------------------

Ein Versuch mit TAR 1.15.1 bringt:

gcc -g -O2 -o tar buffer.o compare.o create.o delete.o extract.o \
xheader.o incremen.o list.o mangle.o misc.o names.o sparse.o \
system.o tar.o update.o utf8.o ../lib/libtar.a \
/usr/local/lib/libiconv.so -Wl,-rpath -Wl,/usr/local/lib
list.o: In function `list_archive':
/usr/src/tar-1.15.1/src/list.c:242: undefined reference to `fwrite_unlocked'
../lib/libtar.a(argp-fmtstream.o): In function `argp_fmtstream_free':
/usr/src/tar-1.15.1/lib/argp-fmtstream.c:108: undefined reference to \
`fwrite_unlocked'
../lib/libtar.a(argp-fmtstream.o): In function `_argp_fmtstream_update':
/usr/src/tar-1.15.1/lib/argp-fmtstream.c:301: undefined reference to \
`fwrite_unlocked'
../lib/libtar.a(argp-fmtstream.o): In function `_argp_fmtstream_ensure':
/usr/src/tar-1.15.1/lib/argp-fmtstream.c:370: undefined reference to \
`fwrite_unlocked'
make[2]: *** [tar] Error 1
make[2]: Leaving directory `/usr/src/tar-1.15.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/tar-1.15.1'
make: *** [all] Error 2

--------------------------------- cut ---------------------------------

Und mit TAR 1.16 und neueren:

gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -c xstrtoumax.c
In file included from xstrtol.h:25,
from xstrtol.c:32,
from xstrtoumax.c:6:
inttypes.h:167: two `l's in integer constant
inttypes.h:184: two `l's in integer constant
inttypes.h:485: two `l's in integer constant
inttypes.h:493: two `l's in integer constant
inttypes.h:501: two `l's in integer constant
inttypes.h:509: two `l's in integer constant
inttypes.h:517: two `l's in integer constant
inttypes.h:525: two `l's in integer constant
inttypes.h:660: two `l's in integer constant
inttypes.h:677: two `l's in integer constant
inttypes.h:960: two `l's in integer constant
inttypes.h:968: two `l's in integer constant
inttypes.h:976: two `l's in integer constant
inttypes.h:984: two `l's in integer constant
inttypes.h:992: two `l's in integer constant
make[3]: *** [xstrtoumax.o] Error 1
make[3]: Leaving directory `/usr/src/tar-1.16.1/lib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/src/tar-1.16.1/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/tar-1.16.1'
make: *** [all] Error 2

--------------------------------- cut ---------------------------------

Ich habe zugegebenerweise von C keine Ahnung. Das mit den "zwei l's"
kann ich nicht nachvollziehen, in der inttypes.h ist dort nur eine
Zuweisung mit einem "l".

Jeder Hinweis der zum vollständigen Compilieren führen könnte, wird mit
gebührendem Dank gewürdigt :-)

TIA
V.
Markus Steinborn
2008-05-24 15:08:52 UTC
Permalink
Hallo Volker,

Wie wäre folgendes:

Auf neuern Linux _statisch_ compilieren?


Grüße

Markus
Volker Englisch
2008-05-25 07:35:22 UTC
Permalink
Hallo Markus,
Post by Markus Steinborn
Auf neuern Linux _statisch_ compilieren?
Das wäre auch einen Versuch wert, stimmt. Werde ich gelegentlich mal
versuchen.

Durch einen Tipp, den ich per E-Mail bekommen hatte, habe ich es
allerdings geschafft, den TAR 1.13 gebaut zu bekommen. Momentan reicht
die diese Version für meinen Zweck.

Danke auch Dir für den Hinweis.

Gruß
Volker

Loading...