make-3.77 with glibc-2.0.95 - wildcard matches fail

Mark Kettenis kettenis@phys.uva.nl
Sat Aug 8 01:38:00 GMT 1998


I have similar problems with make-3.77/glibc-2.0.95 as reported
earlier on gnu.utils.bug for Solaris 2.6.  

The cause is clear:

* glibc-2.0.95 supports large files, so it is enabled.

* glibc-2.0.95 contains `glob', so the one that comes with `make'
  isn't used.

However, the `glob' in `glibc' is compiled without large file support.
The resulting mismatch betweent `struct stat'/`struct dirent'  in
`glob' and `make' (where it really is `struct stat64'/`struct
dirent64').  Results in a failure.

The solution, however is a bit more difficult.  I see three
posibilities:

1) Disable large file support in `make' when compiling with `glibc'.

2) Do not elide the `glob' code in `make' when compiling with `glibc'.

3) Add support for large files to `glob' in `glibc'.

I think 3) is the way to go.  This probably involves the
implementation of a function `glob64', and appropriate changes to the
`glob.h' header file, which should then also be integrated in a new
version of `make'.

Does Solaris provide large file support for `glob'?

If everybody agrees that 3) is the way to go, I'll try to implement
it, but I don't know if I can finish that before my vacation :)

Mark



More information about the Libc-hacker mailing list