Applying the following quick hacks the package builds under cygwin.
--- misc/glob.h.orig 2008-04-12 20:28:15.823000000 +0200+++ misc/glob.h 2008-04-12 20:29:01.621000000 +0200@@ -157,27 +157,6 @@ `glob' returns GLOB_ABEND; if it returns zero, the error is ignored. If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned. Otherwise, `glob' returns zero. */-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS != 64-extern int glob __P ((__const char *__pattern, int __flags,- int (*__errfunc) (__const char *, int),- glob_t *__pglob));--/* Free storage allocated in PGLOB by a previous `glob' call. */-extern void globfree __P ((glob_t *__pglob));-#else-# if defined(__GNUC__) && __GNUC__ >= 2-extern int glob __P ((__const char *__pattern, int __flags,- int (*__errfunc) (__const char *, int),- glob_t *__pglob)) __asm__ ("glob64");--extern void globfree __P ((glob_t *__pglob)) __asm__ ("globfree64");-# else-# define glob glob64-# define globfree globfree64-# define glob_t glob64_t-# endif-#endif- #ifdef _LARGEFILE64_SOURCE /*@-protoparammatch -type @*/ extern int glob64 __P ((__const char *__pattern, int __flags,--- rpmio/fts.h.orig 2008-04-12 19:26:30.607000000 +0200+++ rpmio/fts.h 2008-04-12 19:26:39.766000000 +0200@@ -36,10 +36,6 @@ #include <features.h> #else # define __THROW-#if defined(hpux) || defined(__hpux)-# define _INCLUDE_POSIX_SOURCE-# define _LARGEFILE64_SOURCE-#endif #endif
#include <sys/types.h>
Make check delivers the following results:
make[3]: Entering directory `/cygdrive/c/Users/st/SWDevelopment/rpm-5.1b2/rpmio'Skipping rpmtar tests: /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmtar is not executableTesting rpmdigest featuresopen of /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest failed: No such file or directoryopen of /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest failed: No such file or directory/usr/bin/md5sum: /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest: No such file or directoryopen of /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest failed: No such file or directory/usr/bin/sha1sum: /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest: No such file or directoryopen of /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest failed: No such file or directory/usr/bin/sha224sum: /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest: No such file or directoryopen of /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest failed: No such file or directory/usr/bin/sha256sum: /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest: No such file or directoryopen of /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest failed: No such file or directory/usr/bin/sha384sum: /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest: No such file or directoryopen of /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest failed: No such file or directory/usr/bin/sha512sum: /home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmdigest: No such file or directory
Testing pcregreprpmgrep 5.1b2 (without PCRE)error: ^(?:pattern)$: regcomp failed: repetition-operator operand invalidpcregrep: Error in command-line regex at offset 0: (null)error: ^(?:Pattern)$: regcomp failed: repetition-operator operand invalidpcregrep: Error in command-line regex at offset 0: (null)error: ^(?:complete pair\nof lines)$: regcomp failed: repetition-operator operand invalidpcregrep: Error in command-line regex at offset 0: (null)error: ^(?:\QAB.VE\E)$: regcomp failed: repetition-operator operand invalidpcregrep: Error in command-line regex at offset 0: (null)Files ./testdata/grepoutput and testtry differFAIL: RunGrepTest===================================1 of 1 tests failedPlease report to rpm-devel@rpm5.org===================================make[3]: *** [check-TESTS] Error 1make[3]: Leaving directory `/cygdrive/c/Users/st/SWDevelopment/rpm-5.1b2/rpmio'make[2]: *** [check-am] Error 2make[2]: Leaving directory `/cygdrive/c/Users/st/SWDevelopment/rpm-5.1b2/rpmio'make[1]: *** [check] Error 2make[1]: Leaving directory `/cygdrive/c/Users/st/SWDevelopment/rpm-5.1b2/rpmio'make: *** [check-recursive] Error 1
From: n3npq@mac.comSubject: Re: RPM 5.1b2 available for testingDate: Sat, 12 Apr 2008 13:36:07 -0400To: rpm-users@rpm5.org
On Apr 12, 2008, at 1:27 PM, Stefan Westmeier wrote:
Compiling it under cygwin results in: ../rpmio/.libs/librpmio.a(rpmrpc.o): In function `Globfree':/home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmrpc.c:1765: undefined reference to `globfree64'/home/st/SWDevelopment/rpm-5.1b2/rpmio/rpmrpc.c:1765: undefined reference to `globfree64'
You should be using misc/glob.c because rpm depends rather intimately
on a GNU extension that uses these vectors in the glob_t structure:
/* If the GLOB_ALTDIRFUNC flag is set, the following functions are used instead of the normal file access functions. */ void (*gl_closedir) __PMT ((void *)); struct dirent *(*gl_readdir) __PMT ((void *)); __ptr_t (*gl_opendir) __PMT ((__const char *)); int (*gl_lstat) __PMT ((__const char *, struct stat *)); int (*gl_stat) __PMT ((__const char *, struct stat *));
Guessing from the "64" in globfree64() you have managed to
define _LARGEFILE64_SOURCE, but perhaps are mixing
which glob.h is included, or can see the _LARGEFILE64_SOURCE define.
73 de Jeff
Received on Sat Apr 12 20:54:19 2008