ok for this again a bad defs :

stdio.h

#ifdef _LARGE_FILE_API
typedef long long fpos64_t;
#endif /* _LARGE_FILE_API */

#endif /* _FPOS_T */

#ifdef _LARGE_FILES
#define fseeko fseeko64
#define ftello ftello64
#define fgetpos fgetpos64
#define fsetpos fsetpos64
#define fopen fopen64
#define freopen freopen64
#endif /* _LARGE_FILES */

/opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/stdio.h

#ifndef _H_LIMITS
#include <sys/limits.h>   /* limits.h not allowed by Posix.1a.  Must
be in _ALL_SOURCE */
#endif

#ifdef _LARGE_FILE_API
extern int fgetpos64(FILE *, fpos64_t *);
extern FILE *fopen64(const char *, const char *);
extern FILE *freopen64(const char *, const char *, FILE *);
extern int fseeko64(FILE *, off64_t, int);
extern int fsetpos64(FILE *, const fpos64_t *);
extern off64_t ftello64(FILE *);
#endif /* _LARGE_FILE_API */

Why did we include 2 differents stdio.h, one from AIX and another from gcc ?


2005/5/13, Henri Gomez <[EMAIL PROTECTED]>:
> well now it failed at a later time in build of rpm 4.2.1 ;(
> 
> usr/bin/gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../build -I../lib
> -I../rpmio -I../popt -DOPENPKG -DOPENPKG_AIX
> -I/QOpenSys/tmp/openpkg-2.3.1/zlib-1.2.2
> -I/QOpenSys/tmp/openpkg-2.3.1/bzip2-1.0.2
> -I/QOpenSys/tmp/openpkg-2.3.1/beecrypt-4.1.2 -DOPENPKG -DOPENPKG_AIX
> -I/QOpenSys/tmp/openpkg-2.3.1/zlib-1.2.2
> -I/QOpenSys/tmp/openpkg-2.3.1/bzip2-1.0.2
> -I/QOpenSys/tmp/openpkg-2.3.1/beecrypt-4.1.2 -O2 -D_GNU_SOURCE
> -D_REENTRANT -MT rpmdb.lo -MD -MP -MF .deps/rpmdb.Tpo -c rpmdb.c -o
> rpmdb.o
> In file included from ../system.h:401,
>                  from rpmdb.c:5:
> ../misc/glob.h:53: warning: redefinition of `size_t'
> /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/sys/types.h:159:
> warning: `size_t' previously declared here
> In file included from rpmdb.c:28:
> /usr/include/regex.h:188: error: conflicting types for `regex'
> /usr/include/libgen.h:56: error: previous declaration of `regex'
> /usr/include/regex.h:189: error: conflicting types for `regcmp'
> /usr/include/libgen.h:55: error: previous declaration of `regcmp'
> make[3]: *** [rpmdb.lo] Error 1
> make[3]: Leaving directory `/QOpenSys/tmp/openpkg-2.3.1/rpm-4.2.1/rpmdb'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/QOpenSys/tmp/openpkg-2.3.1/rpm-4.2.1/rpmdb'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/QOpenSys/tmp/openpkg-2.3.1/rpm-4.2.1'
> 
> libgen.h
> 
> #if _XOPEN_SOURCE_EXTENDED==1
> 
> extern char * __loc1;
> 
> #ifdef _NO_PROTO
> extern char *basename();
> extern char *dirname();
> extern char *regcmp();
> extern char *regex();
> #else /* _NO_PROTO */
> extern char *basename(char *);
> extern char *dirname(char *);
> extern char *regcmp(const char *, ...);
> extern char *regex(const char *, const char *, ...);
> #endif /* _NO_PROTO */
> 
> #endif /* _XOPEN_SOURCE_EXTENDED */
> 
> regexp.h
> 
> #ifdef  _NO_PROTO
> extern  char    *regex();
> extern  char    *regcmp();
> #else /* _NO_PROTO */
> extern  char    *regex(char *, char *, char *);
> extern  char    *regcmp(int);
> #endif  /* _NO_PROTO */
> 
> To fix I added in system.h
> 
> #ifndef OPENPKG_AIX
> /* for basename(3) and dirname(3) */
> #include <libgen.h>
> #endif
> 
> but now it failed at a later time :
> 
> /usr/bin/gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I../build
> -I../rpmdb -I../rpmio -I../popt -DOPENPKG -DOPENPKG_AIX
> -I/QOpenSys/tmp/openpkg-2.3.1/zlib-1.2.2
> -I/QOpenSys/tmp/openpkg-2.3.1/bzip2-1.0.2
> -I/QOpenSys/tmp/openpkg-2.3.1/beecrypt-4.1.2 -DOPENPKG -DOPENPKG_AIX
> -I/QOpenSys/tmp/openpkg-2.3.1/zlib-1.2.2
> -I/QOpenSys/tmp/openpkg-2.3.1/bzip2-1.0.2
> -I/QOpenSys/tmp/openpkg-2.3.1/beecrypt-4.1.2 -O2 -D_GNU_SOURCE
> -D_REENTRANT -MT getdate.lo -MD -MP -MF .deps/getdate.Tpo -c getdate.c
> -o getdate.o
> In file included from ./getdate.y:33:
> /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/stdio.h:484:
> error: conflicting types for `fgetpos64'
> /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/stdio.h:310:
> error: previous declaration of `fgetpos64'
> /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/stdio.h:487:
> error: conflicting types for `fseeko64'
> /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/stdio.h:430:
> error: previous declaration of `fseeko64'
> /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/stdio.h:488:
> error: conflicting types for `fsetpos64'
> /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/stdio.h:312:
> error: previous declaration of `fsetpos64'
> /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/stdio.h:489:
> error: conflicting types for `ftello64'
> /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/stdio.h:431:
> error: previous declaration of `ftello64'
> make[3]: *** [getdate.lo] Error 1
> make[3]: Leaving directory `/QOpenSys/tmp/openpkg-2.3.1/rpm-4.2.1/lib'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/QOpenSys/tmp/openpkg-2.3.1/rpm-4.2.1/lib'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/QOpenSys/tmp/openpkg-2.3.1/rpm-4.2.1'
> make: *** [all] Error 2
> 
> Well hope some could continue on this (will try more next week)
> 
> 2005/5/13, Henri Gomez <[EMAIL PROTECTED]>:
> > Well, in rpmrpc.c compiled by adding : OPENPKG_AIX
> >
> > /[EMAIL PROTECTED]@*/
> > static int ftpmagicdir = 0x8440291;
> > #if !defined(__FreeBSD__) && !defined(__NetBSD__) &&
> > !defined(__OpenBSD__) && !defined(sun) && !defined(OPENPKG_UNIXWARE)
> > && !defined(OPENPKG_DARWIN) && !defined(__osf__) &&
> > !defined(OPENPKG_IRIX64) && !defined(OPENPKG_HPUX) &&
> > !defined(OPENPKG_AIX)
> > #define SETFTPMAGIC(_dir) ((_dir)->fd) = ftpmagicdir
> > #define ISFTPMAGIC(_dir) ((_dir)->fd == ftpmagicdir)
> > #else
> > #define SETFTPMAGIC(_dir) ((_dir)->dd_fd) = ftpmagicdir
> > #define ISFTPMAGIC(_dir) ((_dir)->dd_fd == ftpmagicdir)
> > #endif
> >
> > ...
> >
> > #if defined(__FreeBSD__) || defined(__NetBSD__) ||
> > defined(__OpenBSD__) || defined(OPENPKG_DARWIN)
> >     dp->d_ino = i + 1;
> >     dp->d_reclen = 0;
> >     dp->d_type = av[i].type;
> >     strncpy(dp->d_name, av[i].name, sizeof(dp->d_name) - 1);
> >     dp->d_name[sizeof(dp->d_name)-1] = '\0';
> >     dp->d_namlen = strlen(dp->d_name);
> > #elif defined(OPENPKG_HPUX) || defined(sun) ||
> > defined(OPENPKG_UNIXWARE) || defined(__osf__) ||
> > defined(OPENPKG_IRIX64) || defined(OPENPKG_AIX)
> >     /* XXX glob(3) uses REAL_DIR_ENTRY(dp) test on d_ino */
> >     dp->d_ino = i + 1;          /* W2DO? */
> >     dp->d_reclen = 0;           /* W2DO? */
> >     strncpy(dp->d_name, av[i].name, sizeof(dp->d_name));
> > #else
> >     /* XXX glob(3) uses REAL_DIR_ENTRY(dp) test on d_ino */
> >     dp->d_ino = i + 1;          /* W2DO? */
> >     dp->d_reclen = 0;           /* W2DO? */
> >     dp->d_off = 0;              /* W2DO? */
> >     dp->d_type = av[i].type;
> >     strncpy(dp->d_name, av[i].name, sizeof(dp->d_name));
> > #endif
> >
> > sorry no diff ;(
> > 2005/5/13, Henri Gomez <[EMAIL PROTECTED]>:
> > > Me too.
> > >
> > > I find this bz :
> > >
> > > http://www.redhat.com/archives/rpm-list/2003-April/msg00122.html
> > >
> > > Same thing as True64 ?
> > >
> > > Need to find the corrects defines ?
> > >
> > > Black magic for me ;(
> > >
> > > I added in fts.c (just a try)
> > >
> > > #if defined(OPENPKG_AIX)
> > > #   define __errno_location()   (&errno)
> > > #   define dirfd(dirp)          -1
> > > #   define _STAT_VER            0
> > > #   define __fxstat64(_stat_ver, _fd, _sbp)     fstat((_fd), (_sbp))
> > > #   define _D_EXACT_NAMLEN(d) ((d)->d_namlen)
> > > #endif
> > >
> > > but build failed later ;(
> > >
> > > /usr/bin/gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I../popt -DOPENPKG
> > > -DOPENPKG_AIX -I/QOpenSys/tmp/openpkg-2.3.1/zlib-1.2.2
> > > -I/QOpenSys/tmp/openpkg-2.3.1/bzip2-1.0.2
> > > -I/QOpenSys/tmp/openpkg-2.3.1/beecrypt-4.1.2 -DOPENPKG -DOPENPKG_AIX
> > > -I/QOpenSys/tmp/openpkg-2.3.1/zlib-1.2.2
> > > -I/QOpenSys/tmp/openpkg-2.3.1/bzip2-1.0.2
> > > -I/QOpenSys/tmp/openpkg-2.3.1/beecrypt-4.1.2 -O2 -D_GNU_SOURCE
> > > -D_REENTRANT -MT rpmrpc.lo -MD -MP -MF .deps/rpmrpc.Tpo -c rpmrpc.c -o
> > > rpmrpc.o
> > > In file included from ../system.h:401,
> > >                  from rpmrpc.c:5:
> > > ../misc/glob.h:53: warning: redefinition of `size_t'
> > > /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/sys/types.h:159:
> > > warning: `size_t' previously declared here
> > > rpmrpc.c: In function `ftpOpendir':
> > > rpmrpc.c:1195: error: structure has no member named `fd'
> > > rpmrpc.c: In function `ftpReaddir':
> > > rpmrpc.c:1279: error: structure has no member named `fd'
> > > rpmrpc.c:1313: error: structure has no member named `d_off'
> > > rpmrpc.c:1314: error: structure has no member named `d_type'
> > > rpmrpc.c: In function `ftpClosedir':
> > > rpmrpc.c:1336: error: structure has no member named `fd'
> > > rpmrpc.c: In function `Glob':
> > > rpmrpc.c:1457: warning: assignment from incompatible pointer type
> > > rpmrpc.c:1458: warning: assignment from incompatible pointer type
> > > rpmrpc.c:1459: warning: assignment from incompatible pointer type
> > > rpmrpc.c: In function `Readdir':
> > > rpmrpc.c:1518: error: structure has no member named `fd'
> > > rpmrpc.c: In function `Closedir':
> > > rpmrpc.c:1527: error: structure has no member named `fd'
> > > make[2]: *** [rpmrpc.lo] Error 1
> > > make[2]: Leaving directory `/QOpenSys/tmp/openpkg-2.3.1/rpm-4.2.1/rpmio'
> > > make[1]: *** [all-recursive] Error 1
> > > make[1]: Leaving directory `/QOpenSys/tmp/openpkg-2.3.1/rpm-4.2.1'
> > > make: *** [all] Error 2
> > >
> > >
> > > 2005/5/13, Ralf S. Engelschall <[EMAIL PROTECTED]>:
> > > > On Fri, May 13, 2005, Henri Gomez wrote:
> > > >
> > > > > > My understand was that the options "--with-cpu=none 
> > > > > > --with-arch=none" we
> > > > > > are using during BeeCrypt configure time does already disable 
> > > > > > assembly
> > > > > > stuff.
> > > > >
> > > > > In 2.3.1 or HEAD/CURRENT ?
> > > >
> > > > Both should be the same in this corner.
> > > >
> > > > > BTW, it works now that I removed the gnu GAS from the build pass and
> > > > > that AIX as is used instead.
> > > > >
> > > > > But now it's rpm which fail ;(
> > > > >
> > > > > /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.2.0.0/3.3.2/include/sys/types.h:159:
> > > > > warning: `size_t' previously declared here
> > > > > fts.c: In function `Fts_open':
> > > > > fts.c:174: error: invalid type argument of `unary *'
> > > > > fts.c:215: error: invalid type argument of `unary *'
> > > > > fts.c:224: error: invalid type argument of `unary *'
> > > > > fts.c: In function `Fts_close':
> > > > > fts.c:364: error: invalid type argument of `unary *'
> > > > > fts.c: In function `Fts_read':
> > > > > fts.c:538: error: invalid type argument of `unary *'
> > > > > fts.c:561: error: invalid type argument of `unary *'
> > > > > fts.c: In function `Fts_set':
> > > > > fts.c:588: error: invalid type argument of `unary *'
> > > > > fts.c: In function `Fts_children':
> > > > > fts.c:604: error: invalid type argument of `unary *'
> > > > > fts.c:617: error: invalid type argument of `unary *'
> > > > > fts.c: In function `fts_build':
> > > > > fts.c:818: error: invalid type argument of `unary *'
> > > > > fts.c:842: error: invalid type argument of `unary *'
> > > > > fts.c: In function `fts_stat':
> > > > > fts.c:980: error: invalid type argument of `unary *'
> > > > > fts.c: In function `fts_palloc':
> > > > > fts.c:1145: error: invalid type argument of `unary *'
> > > > > fts.c: In function `fts_safe_changedir':
> > > > > fts.c:1214: error: `_STAT_VER' undeclared (first use in this function)
> > > > > fts.c:1214: error: (Each undeclared identifier is reported only once
> > > > > fts.c:1214: error: for each function it appears in.)
> > > > > fts.c:1220: error: invalid type argument of `unary *'
> > > > > fts.c:1231: error: invalid type argument of `unary *'
> > > > > make[2]: *** [fts.lo] Error 1
> > > > > make[2]: Leaving directory 
> > > > > `/QOpenSys/tmp/openpkg-2.3.1/rpm-4.2.1/rpmio'
> > > > > make[1]: *** [all-recursive] Error 1
> > > >
> > > > Yes, this is where I got stuck recently, too. fts.c is a nasty piece
> > > > of source which pokes around in libc structures. One needs an explicit
> > > > #ifdef/#endif for AIX there, but I was until now not able to figure out
> > > > what we need inside the #ifdef/#endif (it's just 3-4 lines of macros,
> > > > but one has to fiddle around with the system libc here)... I appreciate
> > > > a solution.
> > > >                                        Ralf S. Engelschall
> > > >                                        [EMAIL PROTECTED]
> > > >                                        www.engelschall.com
> > > >
> > > > ______________________________________________________________________
> > > > The OpenPKG Project                                    www.openpkg.org
> > > > Developer Communication List                   openpkg-dev@openpkg.org
> > > >
> > >
> >
>
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
Developer Communication List                   openpkg-dev@openpkg.org

Reply via email to