Andrea:
I'll give you a few pointers.
The duplicate definitions are in: sys/stat.h and sys/types.h, and
sys/dirent.h:
/*
#ifndef _INO_T
typedef __darwin_ino_t ino_t; */ /* inode number */ /*
#define _INO_T
#endif
*/
Commenting all three definitions out causes the "struct dirent {}" be
have an incomplete member type "ino_t d_ino"
(Which then causes the GNU Autoconf probe to fail and HAVE_DIRENT)
to fail.)
The ino_t type *IS* being defined somewhere (other than the three places
above) -- perhaps in the machine-dependent includes.
The autoconf test suite checks fails, but inside the Bacula findlib/*
code, exclusive inclusion of <dirent.h> in w/ HAVE_DIRENT_H 1 causes the
proper dependent inclusions.
Otherwise you end up with:
Compiling find_one.c
find_one.c: In function 'int find_one_file(JCR*, FF_PKT*, int
(*)(FF_PKT*, void*, bool), void*, char*, dev_t, bool)':
find_one.c:465: error: 'DIR' was not declared in this scope
find_one.c:465: error: 'directory' was not declared in this scope
find_one.c:591: error: 'opendir' was not declared in this scope
find_one.c:609: error: invalid application of 'sizeof' to incomplete
type 'dirent'
find_one.c:614: error: 'readdir_r' was not declared in this scope
find_one.c:620: error: invalid application of 'sizeof' to incomplete
type 'dirent'
find_one.c:620: error: 'NAMELEN' was not declared in this scope
find_one.c:621: error: invalid use of undefined type 'struct dirent'
find_one.c:466: error: forward declaration of 'struct dirent'
find_one.c:628: error: 'NAMELEN' was not declared in this scope
find_one.c:633: error: 'NAMELEN' was not declared in this scope
find_one.c:644: error: 'closedir' was not declared in this scope
*** Error code 1
> Are you running XCode 2.5 or 3.0 ?
>
XCode 3.0 wont install on 10.4.x. XCode 2.5 might install on 10.5.x
(and prevent these problems).
The HAVE_INTXX_T checks definitely fail on 10.3 w/ XCode 3.0:
Here is the OS/X 10.5.1 (9.1.0) config.log excerpt for:
AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t, [])
| #define HAVE_INTMAX_T 1
| /* end confdefs.h. */
| #include <stdint.h>
| int
| main ()
| {
| u_intmax_t a; a = 1;
| ;
| return 0;
| }
configure:25826: result: no
configure:25837: checking for intXX_t types
configure:25859: gcc -c -pipe -O2 -I/usr/include -D_REENTRANT
-no-cpp-precomp -I/usr/include -D_REENTRANT conftest.c >
&5
In file included from conftest.c:84:
/usr/include/sys/types.h:100: error: two or more data types in
declaration specifiers
/usr/include/sys/types.h:135: error: two or more data types in
declaration specifiers
/usr/include/sys/types.h:135: error: two or more data types in
declaration specifiers
configure:25865: $? = 1
configure: failed program was:
| /* confdefs.h. */
------------------------------------------------------------------------
Here is the OS/X 10.4.11 (Darwin 8.11.1) config.log excerpt for:
AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t, [])
---
| #define HAVE_INTMAX_T 1
| /* end confdefs.h. */
| #include <stdint.h>
| int
| main ()
| {
| u_intmax_t a; a = 1;
| ;
| return 0;
| }
configure:25820: result: no
configure:25831: checking for intXX_t types
configure:25853: gcc -c -pipe -O2 -I/usr/include -D_REENTRANT
-no-cpp-precomp -I/usr/include -D_REENTRANT conftest.c >
&5
configure:25859: $? = 0
configure:25863: test -z
|| test ! -s conftest.err
configure:25866: $? = 0
configure:25869: test -s conftest.o
configure:25872: $? = 0
configure:25885: result: yes
configure:25895: checking for int64_t type
------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel