[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4
From: |
Paul Eggert |
Subject: |
Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4 |
Date: |
Thu, 3 Dec 2015 15:25:11 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 |
On 12/03/2015 05:30 AM, Jarkko Hietaniemi wrote:
Looks like rpl_lstat() thinks it's working with 'struct stat64'
5469:extern int rpl_lstat (const char *name, struct
stat64 *buf)
but then e.g. fstatat() is trying to use 'struct stat'.
Using -E on lstat.c shows that e.g.
static int
orig_lstat (const char *filename, struct stat64 *buf)
{
return lstat64 (filename, buf);
}
Tar wants struct stat64 uniformly. Plain 'struct stat' is for
brain-damaged old progams that fall over and die if off_t is wider than
32 bits, and tar's not like that.
How is the off_t width determined on your system? On 32-bit GNU/Linux,
config.h should contain a line "#define _FILE_OFFSET_BITS 64". Some
other systems require "#define _LARGE_FILES 1" instead. What does
Unixware require for "struct stat" to expand to "struct stat64"? You can
look in /usr/include to find out.
Trying -E on just
#include <sys/stat.h>
struct stat st;
shows just struct stat, not stat64, so something in tar config causes
the stat64 to jump in.
Yes, that's expected since you didn't include config.h there.
I'm puzzled as to why the problem occurs for rpl_lstat but not for
fstatat. tar-1.28/gnu/fstatat.c includes config.h first thing, so why
don't the config.h settings cause it to use struct stat64 instead of
struct stat? After all, the config.h settings work elsewhere.
Also, looking at your log, there's one other problem that keeps popping up:
CC exclude.o
In file included from exclude.c:36:
wctype.h:634: warning: `iswblank' redefined
/usr/local/lib/gcc-lib/i686-UnixWare7.0.1-sysv5/2.95.2/include/wctype.h:137:
warning: this is the location of the previous definition
What's up with that? It should get fixed too. What's the preprocessor
output for this one?
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, (continued)
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Paul Eggert, 2015/12/02
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Jarkko Hietaniemi, 2015/12/02
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Jarkko Hietaniemi, 2015/12/02
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Paul Eggert, 2015/12/02
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Jarkko Hietaniemi, 2015/12/02
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Paul Eggert, 2015/12/02
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Jarkko Hietaniemi, 2015/12/02
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Jarkko Hietaniemi, 2015/12/02
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Paul Eggert, 2015/12/03
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Jarkko Hietaniemi, 2015/12/04
- Message not available
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4,
Paul Eggert <=
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Jarkko Hietaniemi, 2015/12/03
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Jarkko Hietaniemi, 2015/12/04
- Re: [Bug-tar] GNU tar 1.23 build broke in Unixware 7.1.4, Paul Eggert, 2015/12/04