Still being unable to access the PDFedit bug tracker, I hope this is a
reasonable location to offer one more bug report (and a patch).
While attempting to build the 0.4.5 tools on CentOS 5 / x86_64 using the
distro's standard CGG 4.1.2 toolchain, I receive the following compilation
error:
g++ -c -g -O2 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fno-strict-aliasing
-fexceptions -fstack-protector -pipe -posix -ansi -std=c++98 -I.
-I/home/jbolling/rpm/BUILD/pdfedit-0.4.5/src
-I/home/jbolling/rpm/BUILD/pdfedit-0.4.5/src/xpdf/ -I/usr/include
-I/usr/include/freetype2 -I/usr/include -o replace_text.o replace_text.cc
replace_text.cc: In function 'int main(int, char**)':
replace_text.cc:140: error: no matching function for call to 'min(size_t&,
unsigned int)'
The source line in question is the innocuous looking:
to = std::min(to, pdf->getPageCount()+1);
The problem is that 'to' has type size_t, whereas pdf->getPageCount() has type
unsigned int, and these are not equivalent in the compilation environment.
(size_t is a 64-bit unsigned integer, whereas unsigned int is only 32 bits
wide.) The problem could, and perhaps should, be fixed by changing the data
type of one or the other of these expressions so that they are compatible, but
a quick and not-too-dirty solution is to just do this:
diff -Naur pdfedit-0.4.5-base/src/tools/replace_text.cc
pdfedit-0.4.5-mod/src/tools/replace_text.cc
--- pdfedit-0.4.5-base/src/tools/replace_text.cc 2010-02-23
12:28:09.000000000 -0600
+++ pdfedit-0.4.5-mod/src/tools/replace_text.cc 2011-09-22 11:20:19.000000000
-0500
@@ -137,7 +137,7 @@
// sane values
- to = std::min(to, pdf->getPageCount()+1);
+ to = std::min(to, static_cast<size_t>(pdf->getPageCount()+1));
// now the hard stuff comes - do this crazy loops intentionally
for (size_t things_to_replace = 0; things_to_replace <
withs.size(); ++things_to_replace)
=== end of patch ===
Best,
John Bollinger
Email Disclaimer: www.stjude.org/emaildisclaimer
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Pdfedit-support mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pdfedit-support