Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility with qpdf 11 #20

Closed
QuLogic opened this issue Sep 24, 2022 · 4 comments
Closed

Compatibility with qpdf 11 #20

QuLogic opened this issue Sep 24, 2022 · 4 comments

Comments

@QuLogic
Copy link

QuLogic commented Sep 24, 2022

It appears there are a few breaking changes in qpdf 11, which cause a few build errors when compiling:

g++ -std=gnu++14 -I"/usr/include/R" -DNDEBUG -I/usr/include/p11-kit-1  -I'/usr/lib64/R/library/Rcpp/include' -I/usr/local/include   -fpic  -O2  -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c bindings.cpp -o bindings.o
In file included from /usr/include/qpdf/Buffer.hh:26,
                 from /usr/include/qpdf/QPDF.hh:37,
                 from bindings.cpp:1:
/usr/include/qpdf/PointerHolder.hh:31:3: warning: #warning "POINTERHOLDER_TRANSITION is not defined -- see qpdf/PointerHolder.hh" [-Wcpp]
   31 | # warning "POINTERHOLDER_TRANSITION is not defined -- see qpdf/PointerHolder.hh"
      |   ^~~~~~~
bindings.cpp: In function 'QPDF read_pdf_with_password(const char*, const char*)':
bindings.cpp:27:10: error: use of deleted function 'QPDF::QPDF(const QPDF&)'
   27 |   return pdf;
      |          ^~~
/usr/include/qpdf/QPDF.hh:941:5: note: declared here
  941 |     QPDF(QPDF const&) = delete;
      |     ^~~~
bindings.cpp: In function 'int cpp_pdf_length(const char*, const char*)':
bindings.cpp:32:53: error: use of deleted function 'QPDF::QPDF(const QPDF&)'
   32 |   QPDF pdf = read_pdf_with_password(infile, password);
      |                                                     ^
/usr/include/qpdf/QPDF.hh:941:5: note: declared here
  941 |     QPDF(QPDF const&) = delete;
      |     ^~~~
bindings.cpp: In function 'Rcpp::CharacterVector cpp_pdf_split(const char*, std::string, const char*)':
bindings.cpp:41:55: error: use of deleted function 'QPDF::QPDF(const QPDF&)'
   41 |   QPDF inpdf = read_pdf_with_password(infile, password);
      |                                                       ^
/usr/include/qpdf/QPDF.hh:941:5: note: declared here
  941 |     QPDF(QPDF const&) = delete;
      |     ^~~~
bindings.cpp:44:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<QPDFPageObjectHelper>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |   for (int i = 0; i < pages.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~
bindings.cpp: In function 'Rcpp::CharacterVector cpp_pdf_select(const char*, const char*, Rcpp::IntegerVector, const char*)':
bindings.cpp:61:55: error: use of deleted function 'QPDF::QPDF(const QPDF&)'
   61 |   QPDF inpdf = read_pdf_with_password(infile, password);
      |                                                       ^
/usr/include/qpdf/QPDF.hh:941:5: note: declared here
  941 |     QPDF(QPDF const&) = delete;
      |     ^~~~
bindings.cpp: In function 'Rcpp::CharacterVector cpp_pdf_combine(Rcpp::CharacterVector, const char*, const char*)':
bindings.cpp:82:64: error: use of deleted function 'QPDF::QPDF(const QPDF&)'
   82 |     QPDF inpdf = read_pdf_with_password(infiles.at(i), password);
      |                                                                ^
/usr/include/qpdf/QPDF.hh:941:5: note: declared here
  941 |     QPDF(QPDF const&) = delete;
      |     ^~~~
bindings.cpp:84:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<QPDFPageObjectHelper>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   84 |     for (int i = 0; i < pages.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~
bindings.cpp: In function 'Rcpp::CharacterVector cpp_pdf_compress(const char*, const char*, bool, const char*)':
bindings.cpp:98:55: error: use of deleted function 'QPDF::QPDF(const QPDF&)'
   98 |   QPDF inpdf = read_pdf_with_password(infile, password);
      |                                                       ^
/usr/include/qpdf/QPDF.hh:941:5: note: declared here
  941 |     QPDF(QPDF const&) = delete;
      |     ^~~~
bindings.cpp: In function 'Rcpp::CharacterVector cpp_pdf_rotate_pages(const char*, const char*, Rcpp::IntegerVector, int, bool, const char*)':
bindings.cpp:111:55: error: use of deleted function 'QPDF::QPDF(const QPDF&)'
  111 |   QPDF inpdf = read_pdf_with_password(infile, password);
      |                                                       ^
/usr/include/qpdf/QPDF.hh:941:5: note: declared here
  941 |     QPDF(QPDF const&) = delete;
      |     ^~~~
@tillea
Copy link

tillea commented Sep 27, 2022

I confirm the Debian package shows the same issue when building against libqpdf-dev version 11.1.0. It would be great if this could be fixed soon.

@jeroen
Copy link
Member

jeroen commented Oct 7, 2022

Fixed in qpdf 1.3.0 (on cran now).

@jeroen jeroen closed this as completed Oct 7, 2022
@tillea
Copy link

tillea commented Oct 7, 2022 via email

@QuLogic
Copy link
Author

QuLogic commented Oct 14, 2022

Works in Fedora as well; thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants