← Back to team overview

qpdfview team mailing list archive

Re: qpdfview with mupdf

 

Hello,

Am 28.10.2015 um 23:42 schrieb mo:
> Hi - First, thanks very much for all your work on qpdfview! It's really
> a wonderful program. I use it on Linux Mint 17 (64-bit xfce) but I'm
> having problems setting it up to use mupdf as the backend with version
> 0.4.15. So I have two questions for you:
> 1) Is it possible to choose mupdf as the backend when installing the
> latest debian build? (which I downloaded from
> https://code.launchpad.net/~adamreichold/+archive/ubuntu/qpdfview-
> dailydeb/+build/8197604) I don't see a way to choose this from the GUI.

No, this is not possible since the Debian builds do not contain the
MuPDF plug-in which is also considered experimental and hence a
build-time option only.

> 2) I downloaded the same version of the source code (from
> https://launchpad.net/qpdfview/trunk/0.4.15) but when I follow the
> readme file and type 'qmake CONFIG+="with_fitz without_pdf"
> qpdfview.pro', I get many compilation errors (see below). I also get
> these errors when I use only the "with_fitz" option. Any
> suggestions/advice??

I think those compilation errors are due to the MuPDF version being
older than what the current plug-in source code is programmed against.
It should for example be compatible with MuPDF version 1.7, which you
would need to build from source as well. (There was a recent question
[1] about doing this on Debian which might be useful to you.)

Best regards, Adam.

P.S.: The plug-in is considered experimental since it needs a dedicated
maintainer, which is especially necessary since the MuPDF/Fitz API is
still changing rather rapidly as you experienced.

P.P.S.: I am also posting this to the qpdfview mailing list since it
seems useful to have this information publicly available.

[1] https://bugs.launchpad.net/qpdfview/+bug/1501336

> COMPILATION ERRORS USING 0.4.15 (as of 27 Oct 2015):
> sources/fitzmodel.cpp:95:45: error: ‘fz_drop_page’ was not declared in
> this scope
>      fz_drop_page(m_parent->m_context, m_page);
>                                              ^
> sources/fitzmodel.cpp: In member function ‘virtual QSizeF
> qpdfview::Model::FitzPage::size() const’:
> sources/fitzmodel.cpp:103:53: error: cannot convert ‘fz_context* const
> {aka fz_context_s* const}’ to ‘fz_document* {aka fz_document_s*}’ for
> argument ‘1’ to ‘fz_rect* fz_bound_page(fz_document*, fz_page*,
> fz_rect*)’
>      fz_bound_page(m_parent->m_context, m_page, &rect);
>                                                      ^
> sources/fitzmodel.cpp: In member function ‘virtual QImage
> qpdfview::Model::FitzPage::render(qreal, qreal, qpdfview::Rotation,
> const QRect&) const’:
> sources/fitzmodel.cpp:134:53: error: cannot convert ‘fz_context* const
> {aka fz_context_s* const}’ to ‘fz_document* {aka fz_document_s*}’ for
> argument ‘1’ to ‘fz_rect* fz_bound_page(fz_document*, fz_page*,
> fz_rect*)’
>      fz_bound_page(m_parent->m_context, m_page, &rect);
>                                                      ^
> sources/fitzmodel.cpp:145:64: error: cannot convert ‘fz_context* const
> {aka fz_context_s* const}’ to ‘fz_document* {aka fz_document_s*}’ for
> argument ‘1’ to ‘void fz_run_page(fz_document*, fz_page*, fz_device*,
> const fz_matrix*, fz_cookie*)’
>      fz_run_page(m_parent->m_context, m_page, device, &matrix, 0);
>                                                                 ^
> sources/fitzmodel.cpp:146:47: error: ‘fz_drop_device’ was not declared
> in this scope
>      fz_drop_device(m_parent->m_context, device);
>                                                ^
> sources/fitzmodel.cpp:177:81: error: cannot convert ‘fz_context* {aka
> fz_context_s*}’ to ‘fz_display_list* {aka fz_display_list_s*}’ for
> argument ‘1’ to ‘void fz_run_display_list(fz_display_list*, fz_device*,
> const fz_matrix*, const fz_rect*, fz_cookie*)’
>      fz_run_display_list(context, display_list, device, &tileMatrix,
> &tileRect, 0);
> ^
> sources/fitzmodel.cpp:182:28: error: ‘fz_drop_context’ was not declared
> in this scope
>      fz_drop_context(context);
>                             ^
> sources/fitzmodel.cpp: In member function ‘virtual
> QList<qpdfview::Model::Link*> qpdfview::Model::FitzPage::links() const’:
> sources/fitzmodel.cpp:194:53: error: cannot convert ‘fz_context* const
> {aka fz_context_s* const}’ to ‘fz_document* {aka fz_document_s*}’ for
> argument ‘1’ to ‘fz_rect* fz_bound_page(fz_document*, fz_page*,
> fz_rect*)’
>      fz_bound_page(m_parent->m_context, m_page, &rect);
>                                                      ^
> sources/fitzmodel.cpp:199:68: error: cannot convert ‘fz_context* const
> {aka fz_context_s* const}’ to ‘fz_document* {aka fz_document_s*}’ for
> argument ‘1’ to ‘fz_link* fz_load_links(fz_document*, fz_page*)’
>      fz_link* first_link = fz_load_links(m_parent->m_context, m_page);
>                                                                     ^
> sources/fitzmodel.cpp: In destructor ‘virtual
> qpdfview::Model::FitzDocument::~FitzDocument()’:
> sources/fitzmodel.cpp:253:43: error: ‘fz_drop_document’ was not declared
> in this scope
>      fz_drop_document(m_context, m_document);
>                                            ^
> sources/fitzmodel.cpp:254:30: error: ‘fz_drop_context’ was not declared
> in this scope
>      fz_drop_context(m_context);
>                               ^
> sources/fitzmodel.cpp: In member function ‘virtual int
> qpdfview::Model::FitzDocument::numberOfPages() const’:
> sources/fitzmodel.cpp:261:48: error: cannot convert ‘fz_context* const
> {aka fz_context_s* const}’ to ‘fz_document* {aka fz_document_s*}’ for
> argument ‘1’ to ‘int fz_count_pages(fz_document*)’
>      return fz_count_pages(m_context, m_document);
>                                                 ^
> sources/fitzmodel.cpp: In member function ‘virtual
> qpdfview::Model::Page* qpdfview::Model::FitzDocument::page(int) const’:
> sources/fitzmodel.cpp:268:62: error: cannot convert ‘fz_context* const
> {aka fz_context_s* const}’ to ‘fz_document* {aka fz_document_s*}’ for
> argument ‘1’ to ‘fz_page* fz_load_page(fz_document*, int)’
>      fz_page* page = fz_load_page(m_context, m_document, index);
>                                                               ^
> sources/fitzmodel.cpp: In member function ‘virtual void
> qpdfview::Model::FitzDocument::loadOutline(QStandardItemModel*) const’:
> sources/fitzmodel.cpp:291:64: error: cannot convert ‘fz_context* const
> {aka fz_context_s* const}’ to ‘fz_document* {aka fz_document_s*}’ for
> argument ‘1’ to ‘fz_outline* fz_load_outline(fz_document*)’
>      fz_outline* outline = fz_load_outline(m_context, m_document);
>                                                                 ^
> sources/fitzmodel.cpp:297:43: error: ‘fz_drop_outline’ was not declared
> in this scope
>          fz_drop_outline(m_context, outline);
>                                            ^
> sources/fitzmodel.cpp: In constructor
> ‘qpdfview::FitzPlugin::FitzPlugin(QObject*)’:
> sources/fitzmodel.cpp:313:44: error: ‘fz_register_document_handlers’ was
> not declared in this scope
>      fz_register_document_handlers(m_context);
>                                             ^
> sources/fitzmodel.cpp: In destructor ‘virtual
> qpdfview::FitzPlugin::~FitzPlugin()’:
> sources/fitzmodel.cpp:318:30: error: ‘fz_drop_context’ was not declared
> in this scope
>      fz_drop_context(m_context);
>                               ^
> sources/fitzmodel.cpp: In member function ‘virtual
> qpdfview::Model::Document* qpdfview::FitzPlugin::loadDocument(const
> QString&) const’:
> sources/fitzmodel.cpp:342:32: error: ‘fz_drop_context’ was not declared
> in this scope
>          fz_drop_context(context);
>                                 ^
> sources/fitzmodel.cpp: In member function ‘virtual int
> qpdfview::Model::FitzDocument::numberOfPages() const’:
> sources/fitzmodel.cpp:262:1: warning: control reaches end of non-void
> function [-Wreturn-type]
>  }
>  ^
> make[1]: *** [objects-fitz/fitzmodel.o] Error 1
> make[1]: Leaving directory
> `/home/pklinux4/Downloads/apps/qpdfview-0.4.15'
> make: *** [sub-fitz-plugin-pro-make_default-ordered] Error 2
> 

Attachment: signature.asc
Description: OpenPGP digital signature