File: touch.hsc_has_problems_on_non-linux_based_systems.mdwn

package info (click to toggle)
git-annex 5.20141125
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 37,828 kB
  • ctags: 583
  • sloc: haskell: 42,582; sh: 1,080; ansic: 498; makefile: 316; perl: 125
file content (20 lines) | stat: -rw-r--r-- 1,185 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
It seems that commit bc5c54c987f548505a3877e8a0e460abe0b2a081 introduced some linux specific things...

<pre>
hsc2hs Touch.hsc
Touch.hsc: In function ‘main’:
Touch.hsc:46: error: ‘UTIME_OMIT’ undeclared (first use in this function)
Touch.hsc:46: error: (Each undeclared identifier is reported only once
Touch.hsc:46: error: for each function it appears in.)
Touch.hsc:48: error: ‘UTIME_NOW’ undeclared (first use in this function)
Touch.hsc:67: error: ‘AT_FDCWD’ undeclared (first use in this function)
Touch.hsc:68: error: ‘AT_SYMLINK_NOFOLLOW’ undeclared (first use in this function)
compiling Touch_hsc_make.c failed
command was: /usr/bin/gcc -c -m32 -I/Library/Frameworks/GHC.framework/Versions/612/usr/lib/ghc-6.12.3/include/ Touch_hsc_make.c -o Touch_hsc_make.o
make: *** [Touch.hs] Error 1
</pre>

I dug around the OSX documentation and fcntl.h header file and it seems that UTIME_OMIT, UTIME_NOW, AT_FDCWD and AT_SYMLINK_NOFOLLOW aren't defined (at least on OSX). I suspect the BSD's in general will have problems compiling git-annex.

[[!meta title="annexed symlink mtime matching code is disabled on non-linux systems; needs testing"]]
[[!tag confirmed]]