Subject: Re: bug report: build issue with git 2.2.2 using uclibc toolchain

From: Jeff King <[email-masked]>
Date: Fri, 30 Jan 2015 11:33:32 -0500

On Fri, Jan 30, 2015 at 08:55:20AM -0700, Lance Fredrickson wrote:

> I've been keeping up-to-date versions of git built for an embedded mipsel
> architecture device running on uclibc.
> 2.2.1 and previous versions build fine, but 2.2.2 stops with an error.
> 
> The toolchain is an OpenWRT variant (entware) using gcc 4.6.4 and uclibc
> 0.9.32, available at the following.
> http://entware.wl500g.info/sources/
> 
> Here is the output of the build error.
> 
> CC builtin/grep.o
> builtin/get-tar-commit-id.c: In function 'cmd_get_tar_commit_id':
> builtin/get-tar-commit-id.c:31:12: error: dereferencing pointer to
> incomplete type

That seems odd. The line in question is:

  if (header->typeflag[0] != 'g')

the "header" variable is defined above as:

  struct ustar_header *header = (struct ustar_header *)buffer;

and "struct ustar_header" is defined in "tar.h", which is included
above.

uclibc ships its own tar.h. Ours should take precedence (because we use
""), but perhaps there is something funny going on in the build
settings. I can't find any interesting changes in v2.2.1..v2.2.2,
though.

Can you double-check that v2.2.1 still builds, and if so try to use "git
bisect start v2.2.2 v2.2.1" to find the responsible commit?

-Peff