Package: jigdo
Version: 0.7.2-1
Severity: serious
Justification: FTBFS

jigdo 0.7.2-1 is failing to build on alpha and ia64 with the following
error:

[...]
g++ $cxx -c jigdo-file-cmd.cc -o jigdo-file-cmd.o
./scan.hh: In member function 'void JigdoCache::readFilenames(RecurseDir&) 
[with RecurseDir = RecurseDir]':
jigdo-file-cmd.cc:248:   instantiated from here
./scan.hh:428: error: no matching function for call to 
'CacheFile::findName(const byte*&, size_t&, std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >&, __off_t&, __time_t&)'
./cachefile.hh:97: note: candidates are: Status CacheFile::findName(const 
byte*&, size_t&, const std::string&, long long int&, time_t&)
make[2]: *** [jigdo-file-cmd.o] Error 1
make[2]: Leaving directory /build/buildd/jigdo-0.7.2/src'
make[1]: *** [all] Error 2
[...]

A full build log can be found at
<http://buildd.debian.org/fetch.php?&pkg=jigdo&ver=0.7.2-1&arch=ia64&stamp=1121464153&file=log&as=raw>.

This error is a result of using 'long long int' in the prototype in place of
off_t; on 64-bit architectures off_t reduces to 'long int', not 'long long
int', resulting in this objection from the compiler.

Using off_t directly appears to be enough to fix the problem, as in the
attached patch.  Tested on alpha and i386.

There is also an unrelated build failure on m68k at the moment caused by a
g++-4.0 compiler bug.  You may wish to set jigdo up to build with gcc-3.3 or
gcc-3.4 instead for the time being, since jigdo is unfortunately holding the
latest version of gcc-defaults out of testing right now due to library
issues on arm.

Cheers,
-- 
Steve Langasek
postmodern programmer
diff -u jigdo-0.7.2/debian/changelog jigdo-0.7.2/debian/changelog
--- jigdo-0.7.2/debian/changelog
+++ jigdo-0.7.2/debian/changelog
@@ -1,3 +1,12 @@
+jigdo (0.7.2-1.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * High-urgency upload for RC bugfix.
+  * Fix integer type error in prototype for CacheFile::findName, needed
+    to fix a build failure on 64-bit architectures.
+
+ -- Steve Langasek <[EMAIL PROTECTED]>  Thu, 21 Jul 2005 01:28:25 -0700
+
 jigdo (0.7.2-1) unstable; urgency=low
 
   * New upstream release
only in patch2:
unchanged:
--- jigdo-0.7.2.orig/src/cachefile.cc
+++ jigdo-0.7.2/src/cachefile.cc
@@ -131,7 +131,7 @@
 //________________________________________
 
 Status CacheFile::findName(const byte*& resultData, size_t& resultSize,
-    const string& fileName, long long int& resultFileSize,
+    const string& fileName, off_t& resultFileSize,
     time_t& resultMtime) {
   DBT key; memset(&key, 0, sizeof(DBT));
   key.data = const_cast<char*>(fileName.c_str());
only in patch2:
unchanged:
--- jigdo-0.7.2.orig/src/cachefile.hh
+++ jigdo-0.7.2/src/cachefile.hh
@@ -94,7 +94,7 @@
       only valid until the next database operation. */
   Status findName(const byte*& resultData, size_t& resultSize,
                   const string& fileName,
-                  long long int& resultFileSize, time_t& resultMtime);
+                  off_t& resultFileSize, time_t& resultMtime);
 
   /** Insert/overwrite entry for the given file (name must be
       absolute, file must have the supplied mtime and size). The data

Reply via email to