From: Bill Lear <hidden> Date: 2016-06-15 22:43:17
Also breaks (tar fails) if I do the 'make configure; ./configure'
route. This is my third try to send this. I sent also to Junio
yesterday, but no response.
% uname -a Linux blake 2.6.18-8.1.4.el5xen #1 SMP Thu May 17 03:43:13 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
% gcc --version
gcc (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52)
% make prefix=/opt/git-1.5.2.2 all doc
GIT_VERSION = 1.5.2.2-dirty
* new build flags or prefix
CC convert-objects.o
CC blob.o
CC commit.o
CC connect.o
CC csum-file.o
CC cache-tree.o
CC base85.o
CC date.o
CC diff-delta.o
CC entry.o
CC exec_cmd.o
CC ident.o
CC interpolate.o
CC lockfile.o
CC patch-ids.o
CC object.o
CC pack-check.o
CC pack-write.o
CC patch-delta.o
CC path.o
CC pkt-line.o
CC sideband.o
CC reachable.o
CC reflog-walk.o
CC quote.o
CC read-cache.o
CC refs.o
CC run-command.o
CC dir.o
CC object-refs.o
CC server-info.o
CC setup.o
CC sha1_file.o
CC sha1_name.o
CC strbuf.o
CC tag.o
CC tree.o
CC usage.o
CC config.o
CC environment.o
CC ctype.o
CC copy.o
CC revision.o
CC pager.o
CC tree-walk.o
CC xdiff-interface.o
CC write_or_die.o
CC trace.o
CC list-objects.o
CC grep.o
CC match-trees.o
CC alloc.o
CC merge-file.o
CC path-list.o
GEN common-cmds.h
CC help.o
CC unpack-trees.o
CC diff.o
CC diff-lib.o
CC diffcore-break.o
CC diffcore-order.o
CC diffcore-pickaxe.o
CC diffcore-rename.o
CC tree-diff.o
CC combine-diff.o
CC diffcore-delta.o
CC log-tree.o
CC color.o
CC wt-status.o
CC archive-zip.o
CC archive-tar.o
CC shallow.o
CC utf8.o
CC convert.o
CC attr.o
CC decorate.o
CC progress.o
CC mailmap.o
CC symlinks.o
CC compat/strlcpy.o
AR libgit.a
CC xdiff/xdiffi.o
CC xdiff/xprepare.o
CC xdiff/xutils.o
CC xdiff/xemit.o
CC xdiff/xmerge.o
AR xdiff/lib.a
LINK git-convert-objects
libgit.a(utf8.o): In function `reencode_string':
/home/blear/build/git-1.5.2.2/utf8.c:317: undefined reference to `libiconv_open'
/home/blear/build/git-1.5.2.2/utf8.c:328: undefined reference to `libiconv'
/home/blear/build/git-1.5.2.2/utf8.c:353: undefined reference to `libiconv_close'
/home/blear/build/git-1.5.2.2/utf8.c:334: undefined reference to `libiconv_close'
collect2: ld returned 1 exit status
make: *** [git-convert-objects] Error 1
Bill
From: Marco Roeland <hidden> Date: 2016-06-15 22:43:17
On Tuesday June 19th 2007 at 14:00 Johannes Schindelin wrote:
On Tue, 19 Jun 2007, Bill Lear wrote:
quoted
Also breaks (tar fails) if I do the 'make configure; ./configure'
route.
Then there is a test missing in configure.
quoted
/home/blear/build/git-1.5.2.2/utf8.c:328: undefined reference to `libiconv'
You are missing libiconv.
On Linux there usually is no separate libiconv as this is integrated
into GNU libc. Most of the time this kind of error results when somehow
there _is_ a separate installation of libiconv under /usr/local/lib or
something. An #include <iconv.h> then finds the version under
/usr/local/include/iconv.h which has rather different definitions, due to
using all kind of macros.
If this is Bills situation try uninstalling the separate iconv package
or at least temporarily rename its iconv.h header.
--
Marco Roeland
From: Bill Lear <hidden> Date: 2016-06-15 22:43:17
On Tuesday, June 19, 2007 at 15:24:56 (+0200) Marco Roeland writes:
On Tuesday June 19th 2007 at 14:00 Johannes Schindelin wrote:
quoted
On Tue, 19 Jun 2007, Bill Lear wrote:
quoted
Also breaks (tar fails) if I do the 'make configure; ./configure'
route.
Then there is a test missing in configure.
quoted
/home/blear/build/git-1.5.2.2/utf8.c:328: undefined reference to `libiconv'
You are missing libiconv.
On Linux there usually is no separate libiconv as this is integrated
into GNU libc. Most of the time this kind of error results when somehow
there _is_ a separate installation of libiconv under /usr/local/lib or
something. An #include <iconv.h> then finds the version under
/usr/local/include/iconv.h which has rather different definitions, due to
using all kind of macros.
If this is Bills situation try uninstalling the separate iconv package
or at least temporarily rename its iconv.h header.
Well, I'll try that, but this is a fresh install of Centos 5, not a
custom-hacked OS, and I would think that git should build out of the
box on it.
I checked and there is no iconv package (rpm). I really don't want
to have to temporarily rename a header. I can't hand this out to
the rest of the company, some of whom do not have root access to
be able to rename header files.
Bill
From: Marco Roeland <hidden> Date: 2016-06-15 22:43:17
On Tuesday June 19th 2007 at 08:50 Bill Lear wrote:
Well, I'll try that, but this is a fresh install of Centos 5, not a
custom-hacked OS, and I would think that git should build out of the
box on it.
Yes it should, but your error messages do suggest there is a mismatch
between headers and libraries for the iconv functions. And as on Linux
those are in libc, which is always linked in, it suggests there is a roque
header perhaps!
I checked and there is no iconv package (rpm). I really don't want
to have to temporarily rename a header. I can't hand this out to
the rest of the company, some of whom do not have root access to
be able to rename header files.
You might at least investigate if there is somehow another iconv.h
header besides the system one under /usr/include, that might have been
used by the compiler instead of the standard one from GNU libc.
--
Marco Roeland
From: Bill Lear <hidden> Date: 2016-06-15 22:43:17
On Tuesday, June 19, 2007 at 16:30:00 (+0200) Marco Roeland writes:
On Tuesday June 19th 2007 at 08:50 Bill Lear wrote:
quoted
I checked and there is no iconv package (rpm). I really don't want
to have to temporarily rename a header. I can't hand this out to
the rest of the company, some of whom do not have root access to
be able to rename header files.
You might at least investigate if there is somehow another iconv.h
header besides the system one under /usr/include, that might have been
used by the compiler instead of the standard one from GNU libc.
Ok, I moved all the *iconv* stuff in /usr/local/<blah> and now
it builds ok.
However, I still get this:
install -d -m755 '/opt/git-1.5.2.2/share//git-core/templates/'
(cd blt && tar cf - .) | \
(cd '/opt/git-1.5.2.2/share//git-core/templates/' && tar xf -)
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers
tar: Error exit delayed from previous errors
So, I did a make -k and it worked ok, aside from this error.
I copied this line:
(cd blt && tar cf - .) | \
(cd '/opt/git-1.5.2.2/share//git-core/templates/' && tar xf -)
into a file, chmod +x'd that file, and cd'd into templates and ran
the script. I got the same error. I then tried running it by
hand from the command line:
% cd templates
% (cd blt && tar cf - .) | (cd /opt/git-1.5.2.2/share/git-core/templates && tar xf -)
and it worked fine.
Bill
From: David Kastrup <hidden> Date: 2016-06-15 22:43:17
Johannes Schindelin [off-list ref] writes:
Hi,
On Tue, 19 Jun 2007, Bill Lear wrote:
quoted
On Tuesday, June 19, 2007 at 14:00:07 (+0100) Johannes Schindelin writes:
quoted
On Tue, 19 Jun 2007, Bill Lear wrote:
quoted
Also breaks (tar fails) if I do the 'make configure; ./configure'
route.
Then there is a test missing in configure.
Here is the particular error:
install git '/opt/git-1.5.2.2/bin'
make -C templates DESTDIR='' install
make[1]: Entering directory `/home/blear/build/git-1.5.2.2/templates'
install -d -m755 '/opt/git-1.5.2.2/share/git-core/templates/'
(cd blt && gtar cf - .) | \
(cd '/opt/git-1.5.2.2/share/git-core/templates/' && gtar xf -)
gtar: This does not look like a tar archive
gtar: Skipping to next header
gtar: Archive contains obsolescent base-64 headers
gtar: Error exit delayed from previous errors
make[1]: *** [install] Error 2
make[1]: Leaving directory `/home/blear/build/git-1.5.2.2/templates'
make: *** [install] Error 2
WTF? gtar cannot read its own output?
Be that as may, this is not git error.
It is possible that cd is an alias outputting the target of cd.
People do those kind of things. It is also possible that the first cd
fails and thus the first gtar is not run (though tar xf /dev/null is
quiet here, so probably should be at the OP's site, too.).
--
David Kastrup
From: David Kastrup <hidden> Date: 2016-06-15 22:43:17
Bill Lear [off-list ref] writes:
On Tuesday, June 19, 2007 at 16:30:00 (+0200) Marco Roeland writes:
quoted
On Tuesday June 19th 2007 at 08:50 Bill Lear wrote:
quoted
I checked and there is no iconv package (rpm). I really don't want
to have to temporarily rename a header. I can't hand this out to
the rest of the company, some of whom do not have root access to
be able to rename header files.
You might at least investigate if there is somehow another iconv.h
header besides the system one under /usr/include, that might have been
used by the compiler instead of the standard one from GNU libc.
Ok, I moved all the *iconv* stuff in /usr/local/<blah> and now
it builds ok.
However, I still get this:
install -d -m755 '/opt/git-1.5.2.2/share//git-core/templates/'
^^^
(cd blt && tar cf - .) | \
(cd '/opt/git-1.5.2.2/share//git-core/templates/' && tar xf -)
^^^
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers
tar: Error exit delayed from previous errors
So, I did a make -k and it worked ok, aside from this error.
I copied this line:
(cd blt && tar cf - .) | \
(cd '/opt/git-1.5.2.2/share//git-core/templates/' && tar xf -)
^^^
into a file, chmod +x'd that file, and cd'd into templates and ran
the script. I got the same error. I then tried running it by
hand from the command line:
% cd templates
% (cd blt && tar cf - .) | (cd /opt/git-1.5.2.2/share/git-core/templates
^^^
&& tar xf -)
and it worked fine.
Not sure whether this is the problem: either cd does not understasnd
the double slashes, or your shell used for scripts has modified cd to
output some stuff when it is working (people sometimes imprudently
make shell functions or aliases for this).
Try writing something like
type cd
in a script file and see what output you get.
--
David Kastrup
From: Bill Lear <hidden> Date: 2016-06-15 22:43:17
On Tuesday, June 19, 2007 at 17:12:14 (+0200) David Kastrup writes:
Bill Lear [off-list ref] writes:
quoted
...
However, I still get this:
install -d -m755 '/opt/git-1.5.2.2/share//git-core/templates/'
^^^
quoted
(cd blt && tar cf - .) | \
(cd '/opt/git-1.5.2.2/share//git-core/templates/' && tar xf -)
^^^
quoted
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers
tar: Error exit delayed from previous errors
So, I did a make -k and it worked ok, aside from this error.
I copied this line:
(cd blt && tar cf - .) | \
(cd '/opt/git-1.5.2.2/share//git-core/templates/' && tar xf -)
^^^
quoted
into a file, chmod +x'd that file, and cd'd into templates and ran
the script. I got the same error. I then tried running it by
hand from the command line:
% cd templates
% (cd blt && tar cf - .) | (cd /opt/git-1.5.2.2/share/git-core/templates
^^^
&& tar xf -)
and it worked fine.
Not sure whether this is the problem: either cd does not understasnd
the double slashes, or your shell used for scripts has modified cd to
output some stuff when it is working (people sometimes imprudently
make shell functions or aliases for this).
Try writing something like
type cd
in a script file and see what output you get.
% echo 'type cd' > foo
% chmod +x foo
% ./foo
cd is a shell builtin
% bash --version
GNU bash, version 3.1.17(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
I also tried using the double-slash on the command line. It worked
fine. I tried a single slash from the script and it did not work.
% cd templates
% cat foo
set -x
type tar
type cd
(cd blt && tar cf - .) | (cd /opt/git-1.5.2.2/share/git-core/templates && tar xf -)
% ./foo
++ type tar
tar is /bin/tar
++ type cd
cd is a shell builtin
++ cd blt
++ tar cf - .
++ cd /opt/git-1.5.2.2/share/git-core/templates
++ tar xf -
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers
tar: Error exit delayed from previous errors
Bill
From: Alex Riesen <hidden> Date: 2016-06-15 22:43:17
Bill Lear, Tue, Jun 19, 2007 18:16:26 +0200:
% cat foo
set -x
type tar
type cd
(cd blt && tar cf - .) | (cd /opt/git-1.5.2.2/share/git-core/templates && tar xf -)
what would you see if your script contained:
set -x
(cd blt && tar cf - .) |less
?
Does the output look like a tar archive to you?
Can you share it with us if you're not sure?
From: Bill Lear <hidden> Date: 2016-06-15 22:43:17
On Tuesday, June 19, 2007 at 22:09:39 (+0200) Alex Riesen writes:
Bill Lear, Tue, Jun 19, 2007 18:16:26 +0200:
quoted
% cat foo
set -x
type tar
type cd
(cd blt && tar cf - .) | (cd /opt/git-1.5.2.2/share/git-core/templates && tar xf -)
what would you see if your script contained:
set -x
(cd blt && tar cf - .) |less
?
Does the output look like a tar archive to you?
Well, not sure. Lots of gobbledygook.
Can you share it with us if you're not sure?
Ok, I've tried to send a limited amount of data, hopefully useful. If
I redirect to a file:
(cd blt && tar cf - .) > tar.tar
and then try to view it with tar:
% tar tvf tar.tar
I get the same error as before. I sent the output through
'od' as so:
(cd blt && tar cf - .) | od -a | head -50
Here is the result of that:
0000000 / h o m e / b l e a r / b u i l
0000020 d / g i t - 1 . 5 . 2 . 2 / t e
0000040 m p l a t e s / b l t nl . / nul nul
0000060 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0000220 0 0 0 0 7 5 5 nul 0 0 0 1 3 5 0 nul
0000240 0 0 0 0 1 5 4 nul 0 0 0 0 0 0 0 0
0000260 0 0 0 nul 1 0 6 3 5 7 6 5 2 7 4 nul
0000300 0 1 0 7 2 4 nul sp 5 nul nul nul nul nul nul nul
0000320 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0000440 nul nul nul nul nul nul nul nul nul nul nul nul nul u s t
0000460 a r sp sp nul b l e a r nul nul nul nul nul nul
0000500 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
0000520 nul nul nul nul nul s o f t w a r e nul nul nul
0000540 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0001040 nul nul nul nul nul nul nul nul nul nul nul nul . / d e
0001060 s c r i p t i o n nul nul nul nul nul nul nul
0001100 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0001220 0 0 0 0 6 4 4 nul 0 0 0 1 3 5 0 nul
0001240 0 0 0 0 1 5 4 nul 0 0 0 0 0 0 0 0
0001260 0 7 2 nul 1 0 6 3 5 7 6 5 2 7 4 nul
0001300 0 1 3 1 7 1 nul sp 0 nul nul nul nul nul nul nul
0001320 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0001440 nul nul nul nul nul nul nul nul nul nul nul nul nul u s t
0001460 a r sp sp nul b l e a r nul nul nul nul nul nul
0001500 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
0001520 nul nul nul nul nul s o f t w a r e nul nul nul
0001540 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0002040 nul nul nul nul nul nul nul nul nul nul nul nul U n n a
0002060 m e d sp r e p o s i t o r y ; sp
0002100 e d i t sp t h i s sp f i l e sp t
0002120 o sp n a m e sp i t sp f o r sp g i
0002140 t w e b . nl nul nul nul nul nul nul nul nul nul nul
0002160 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0003040 nul nul nul nul nul nul nul nul nul nul nul nul . / b r
0003060 a n c h e s / nul nul nul nul nul nul nul nul nul
0003100 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0003220 0 0 0 0 7 5 5 nul 0 0 0 1 3 5 0 nul
0003240 0 0 0 0 1 5 4 nul 0 0 0 0 0 0 0 0
0003260 0 0 0 nul 1 0 6 3 5 7 6 5 2 7 3 nul
0003300 0 1 2 5 1 0 nul sp 5 nul nul nul nul nul nul nul
0003320 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
If I run this from the command-line, instead of a script, I get
this (and if it is redirected to a file instead of 'od', tar
can read it):
0000000 . / nul nul nul nul nul nul nul nul nul nul nul nul nul nul
0000020 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0000140 nul nul nul nul 0 0 0 0 7 5 5 nul 0 0 0 1
0000160 3 5 0 nul 0 0 0 0 1 5 4 nul 0 0 0 0
0000200 0 0 0 0 0 0 0 nul 1 0 6 3 5 7 6 5
0000220 2 7 4 nul 0 1 0 7 2 4 nul sp 5 nul nul nul
0000240 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0000400 nul u s t a r sp sp nul b l e a r nul nul
0000420 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
0000440 nul nul nul nul nul nul nul nul nul s o f t w a r
0000460 e nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
0000500 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0001000 . / d e s c r i p t i o n nul nul nul
0001020 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0001140 nul nul nul nul 0 0 0 0 6 4 4 nul 0 0 0 1
0001160 3 5 0 nul 0 0 0 0 1 5 4 nul 0 0 0 0
0001200 0 0 0 0 0 7 2 nul 1 0 6 3 5 7 6 5
0001220 2 7 4 nul 0 1 3 1 7 1 nul sp 0 nul nul nul
0001240 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0001400 nul u s t a r sp sp nul b l e a r nul nul
0001420 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
0001440 nul nul nul nul nul nul nul nul nul s o f t w a r
0001460 e nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
0001500 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0002000 U n n a m e d sp r e p o s i t o
0002020 r y ; sp e d i t sp t h i s sp f i
0002040 l e sp t o sp n a m e sp i t sp f o
0002060 r sp g i t w e b . nl nul nul nul nul nul nul
0002100 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0003000 . / b r a n c h e s / nul nul nul nul nul
0003020 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0003140 nul nul nul nul 0 0 0 0 7 5 5 nul 0 0 0 1
0003160 3 5 0 nul 0 0 0 0 1 5 4 nul 0 0 0 0
0003200 0 0 0 0 0 0 0 nul 1 0 6 3 5 7 6 5
0003220 2 7 3 nul 0 1 2 5 1 0 nul sp 5 nul nul nul
0003240 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
*
0003400 nul u s t a r sp sp nul b l e a r nul nul
0003420 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
0003440 nul nul nul nul nul nul nul nul nul s o f t w a r
0003460 e nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
0003500 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
Bill
From: Johannes Schindelin <hidden> Date: 2016-06-15 22:43:17
Hi,
On Tue, 19 Jun 2007, Bill Lear wrote:
(cd blt && tar cf - .) | od -a | head -50
Here is the result of that:
0000000 / h o m e / b l e a r / b u i l
0000020 d / g i t - 1 . 5 . 2 . 2 / t e
0000040 m p l a t e s / b l t nl . / nul nul
0000060 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul
As is easy to see, what has been suggested earlier is true. The cd
(idiotically) outputs the path to stdout.
Hth,
Dscho