CMakeLists.txt from contrib/buildsystems fails to build on Mac
- From
Ilya Kantor <iliakan@gmail.com>
- Date
- Feb 8, 2023, 11:45 UTC
- Message-ID
- <BFC8139A-0A9A-4E84-BC0B-D6EE5F469F82@gmail.com>
Hello,
I've just tried to build git as described in contrib/buildsystems/CMakeLists.txt, and it doesn't work.
Is this route supposed to work at all?
I'm on MacOS Ventura, first running this: ``` mkdir -p contrib/buildsystems/out cd contrib/buildsystems/out cmake ../ -DCMAKE_BUILD_TYPE=Release ```
This works fine (the full output is here: https://gist.github.com/11f6786eb195a4bc939e010d4f759a22).
And then I run `make`:
``` make ```
Although it dies with an error.
The full output is here: https://gist.github.com/24e2eb21613668c44d81f6f0cc78e1a1
Here's the ending error:
```
/opt/tmp/git/read-cache.c:170:22: error: no member named 'st_ctim' in 'struct stat'
sd->sd_ctime.nsec = ST_CTIME_NSEC(*st);
^~~~~~~~~~~~~~~~~~
/opt/tmp/git/contrib/buildsystems/../../git-compat-util.h:1380:48: note: expanded from macro 'ST_CTIME_NSEC'
#define ST_CTIME_NSEC(st) ((unsigned int)((st).st_ctim.tv_nsec))
~~~~ ^
/opt/tmp/git/read-cache.c:171:22: error: no member named 'st_mtim' in 'struct stat'
sd->sd_mtime.nsec = ST_MTIME_NSEC(*st);
^~~~~~~~~~~~~~~~~~
/opt/tmp/git/contrib/buildsystems/../../git-compat-util.h:1381:48: note: expanded from macro 'ST_MTIME_NSEC'
#define ST_MTIME_NSEC(st) ((unsigned int)((st).st_mtim.tv_nsec))
~~~~ ^
/opt/tmp/git/read-cache.c:2410:27: error: no member named 'st_mtim' in 'struct stat'
istate->timestamp.nsec = ST_MTIME_NSEC(st);
^~~~~~~~~~~~~~~~~
/opt/tmp/git/contrib/buildsystems/../../git-compat-util.h:1381:48: note: expanded from macro 'ST_MTIME_NSEC'
#define ST_MTIME_NSEC(st) ((unsigned int)((st).st_mtim.tv_nsec))
~~~~ ^
/opt/tmp/git/read-cache.c:3177:27: error: no member named 'st_mtim' in 'struct stat'
istate->timestamp.nsec = ST_MTIME_NSEC(st);
^~~~~~~~~~~~~~~~~
/opt/tmp/git/contrib/buildsystems/../../git-compat-util.h:1381:48: note: expanded from macro 'ST_MTIME_NSEC'
#define ST_MTIME_NSEC(st) ((unsigned int)((st).st_mtim.tv_nsec))
~~~~ ^
4 errors generated.
make[2]: *** [CMakeFiles/libgit.dir/opt/tmp/git/read-cache.c.o] Error 1
make[1]: *** [CMakeFiles/libgit.dir/all] Error 2
```May that be because of some changes in MacOs Ventura? Or is the CMakeLists.txt "dead and forgotten"? ;)
P.S. The regular "make" route works.
Kind regards, Ilya Kantor