[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#294221: prcs: FTBFS (amd64/gcc-4.0): no matching function for call to '__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >::stdio_filebuf(int, const std::_Ios_Openmode&, bool, const int&)'



Package: prcs
Severity: normal
Tags: patch

When building 'prcs' on amd64 with gcc-4.0,
I get the following error:

g++ -DHAVE_CONFIG_H -I. -I. -I.. -I./include    -O2 -Wall -c -o rebuild.o `test -f 'rebuild.cc' || echo './'`rebuild.cc
rebuild.cc: In member function 'void RebuildFile::init_stream()':
rebuild.cc:1009: error: '__c_file' was not declared in this scope
rebuild.cc:1009: error: expected primary-expression before ')' token
rebuild.cc:1010: error: expected `;' before ')' token
make[5]: *** [rebuild.o] Error 1
make[5]: Leaving directory `/prcs-1.3.3/src'

With the attached patch 'prcs' can be compiled
on amd64 using gcc-4.0.

Regards
Andreas Jochens

diff -urN ../tmp-orig/prcs-1.3.3/debian/patches/50_g++-3.4.dpatch ./debian/patches/50_g++-3.4.dpatch
--- ../tmp-orig/prcs-1.3.3/debian/patches/50_g++-3.4.dpatch	2005-02-08 16:23:11.938608839 +0100
+++ ./debian/patches/50_g++-3.4.dpatch	2005-02-08 16:22:59.998921585 +0100
@@ -36,7 +36,7 @@
  						  false /* close */, default_segment_size);
          buf->pubseekoff(0, ios::end, ios::out);
 +#else
-+        buf = new __gnu_cxx::stdio_filebuf<char> ((__c_file*)fdopen(seg->fd()) "w"), ios::out,
++        buf = new __gnu_cxx::stdio_filebuf<char> (seg->fd(), ios::out,
 +						  default_segment_size);
 +        buf->pubseekoff(0, ios::end, ios::out);
  #endif
diff -urN ../tmp-orig/prcs-1.3.3/src/hash.cc ./src/hash.cc
--- ../tmp-orig/prcs-1.3.3/src/hash.cc	2004-05-10 02:40:55.000000000 +0200
+++ ./src/hash.cc	2005-02-08 16:20:01.920416570 +0100
@@ -144,7 +144,7 @@
 
 int hash(FileEntry*const& x, int M)
 {
-  return (unsigned int)x % M;
+  return (unsigned long)x % M;
 }
 
 #define generic template<class Key, class Data>



Reply to: