Unfortunately, VT fails to compile on OS X Leopard (10.5.1).
- Is there a way to remove the anonymous variadic macros?
- open64, creat64, etc. do not appear to exist on OS X.
I don't know if you want to go through the work of supporting OS X or
not -- if not, we should put in appropriate controls so that VT will
"turn itself off" when it detects that it is on a system that does not
support what it needs (e.g., open64, creat64, ...etc.).
Here's the output from a build on OS X 10.5.1:
Making all in vtlib
gcc -DHAVE_CONFIG_H -I. -I.. -I../tools/opari/lib -I../extlib/otf/
otflib -I../extlib/otf/otflib -DBINDIR=\"/Users/jsquyres/bogus/bin
\" -DDATADIR=\"/Users/jsquyres/bogus/share/vampirtrace\" -DRFG -
DVT_IOWRAP -g -Wall -Wundef -Wno-long-long -Wsign-compare -Wmissing-
prototypes -Wstrict-prototypes -Wcomment -pedantic -Wno-long-double -
Werror-implicit-function-declaration -finline-functions -fno-strict-
aliasing -MT vt_iowrap.o -MD -MP -MF .deps/vt_iowrap.Tpo -c -o
vt_iowrap.o vt_iowrap.c
In file included from vt_iowrap.c:32:
vt_iowrap.h:239:20: warning: anonymous variadic macros were introduced
in C99
vt_iowrap.h:282:43: warning: anonymous variadic macros were introduced
in C99
vt_iowrap.h:328:33: warning: anonymous variadic macros were introduced
in C99
vt_iowrap.h:335:38: warning: anonymous variadic macros were introduced
in C99
vt_iowrap.c: In function ‘open’:
vt_iowrap.c:170: warning: ‘mode_t’ is promoted to ‘int’ when passed
through ‘...’
vt_iowrap.c:170: warning: (so you should pass ‘int’ not ‘mode_t’ to
‘va_arg’)
vt_iowrap.c:170: note: if this code is reached, the program will abort
vt_iowrap.c: At top level:
vt_iowrap.c:193: warning: no previous prototype for ‘open64’
vt_iowrap.c: In function ‘open64’:
vt_iowrap.c:204: warning: ‘mode_t’ is promoted to ‘int’ when passed
through ‘...’
vt_iowrap.c:204: note: if this code is reached, the program will abort
vt_iowrap.c: At top level:
vt_iowrap.c:249: warning: no previous prototype for ‘creat64’
vt_iowrap.c:368: error: syntax error before ‘lseek64’
vt_iowrap.c:368: error: syntax error before ‘off64_t’
vt_iowrap.c:369: warning: return type defaults to ‘int’
vt_iowrap.c:369: warning: function declaration isn’t a prototype
vt_iowrap.c: In function ‘lseek64’:
vt_iowrap.c:371: error: ‘off64_t’ undeclared (first use in this
function)
vt_iowrap.c:371: error: (Each undeclared identifier is reported only
once
vt_iowrap.c:371: error: for each function it appears in.)
vt_iowrap.c:371: error: syntax error before ‘ret’
vt_iowrap.c:376: error: implicit declaration of function ‘off64_t’
vt_iowrap.c:376: error: syntax error before ‘)’ token
vt_iowrap.c:383: error: ‘ret’ undeclared (first use in this function)
vt_iowrap.c:383: error: syntax error before ‘)’ token
vt_iowrap.c:385: error: ‘fd’ undeclared (first use in this function)
vt_iowrap.c:389: warning: control reaches end of non-void function
vt_iowrap.c: At top level:
vt_iowrap.c:542: error: syntax error before ‘off64_t’
vt_iowrap.c:543: warning: function declaration isn’t a prototype
vt_iowrap.c: In function ‘pread64’:
vt_iowrap.c:550: error: syntax error before ‘off64_t’
vt_iowrap.c:550: warning: function declaration isn’t a prototype
vt_iowrap.c:550: error: ‘fd’ undeclared (first use in this function)
vt_iowrap.c:550: error: ‘buf’ undeclared (first use in this function)
vt_iowrap.c:550: error: ‘count’ undeclared (first use in this function)
vt_iowrap.c:550: error: ‘offset’ undeclared (first use in this function)
vt_iowrap.c:557: error: syntax error before ‘off64_t’
vt_iowrap.c:557: warning: function declaration isn’t a prototype
vt_iowrap.c: At top level:
vt_iowrap.c:567: error: syntax error before ‘off64_t’
vt_iowrap.c:568: warning: function declaration isn’t a prototype
vt_iowrap.c: In function ‘pwrite64’:
vt_iowrap.c:575: error: syntax error before ‘off64_t’
vt_iowrap.c:575: warning: function declaration isn’t a prototype
vt_iowrap.c:575: error: ‘fd’ undeclared (first use in this function)
vt_iowrap.c:575: error: ‘buf’ undeclared (first use in this function)
vt_iowrap.c:575: error: ‘count’ undeclared (first use in this function)
vt_iowrap.c:575: error: ‘offset’ undeclared (first use in this function)
vt_iowrap.c:582: error: syntax error before ‘off64_t’
vt_iowrap.c:582: warning: function declaration isn’t a prototype
vt_iowrap.c: At top level:
vt_iowrap.c:617: warning: no previous prototype for ‘fopen64’
vt_iowrap.c:743: error: syntax error before ‘off64_t’
vt_iowrap.c:744: warning: function declaration isn’t a prototype
vt_iowrap.c: In function ‘fseeko64’:
vt_iowrap.c:751: error: syntax error before ‘off64_t’
vt_iowrap.c:751: warning: function declaration isn’t a prototype
vt_iowrap.c:751: error: ‘stream’ undeclared (first use in this function)
vt_iowrap.c:751: error: ‘offset’ undeclared (first use in this function)
vt_iowrap.c:751: error: ‘whence’ undeclared (first use in this function)
vt_iowrap.c:760: error: syntax error before ‘off64_t’
vt_iowrap.c:760: warning: function declaration isn’t a prototype
vt_iowrap.c: At top level:
vt_iowrap.c:815: warning: type defaults to ‘int’ in declaration of
‘fpos64_t’
vt_iowrap.c:815: error: syntax error before ‘*’ token
vt_iowrap.c:815: warning: function declaration isn’t a prototype
vt_iowrap.c: In function ‘fsetpos64’:
vt_iowrap.c:822: warning: type defaults to ‘int’ in declaration of
‘fpos64_t’
vt_iowrap.c:822: error: syntax error before ‘*’ token
vt_iowrap.c:822: warning: function declaration isn’t a prototype
vt_iowrap.c:822: error: ‘stream’ undeclared (first use in this function)
vt_iowrap.c:822: error: ‘pos’ undeclared (first use in this function)
vt_iowrap.c:831: warning: type defaults to ‘int’ in declaration of
‘fpos64_t’
vt_iowrap.c:831: error: syntax error before ‘*’ token
vt_iowrap.c:831: warning: function declaration isn’t a prototype
make[5]: *** [vt_iowrap.o] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all] Error 2
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
[22:44] beezle:~/svn/vt-integration %
--
Jeff Squyres
Cisco Systems