Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#56172 closed defect (fixed)

LyX @2.3.0_0: fatal error: 'QPdfWriter' file not found

Reported by: iqgrande Owned by: kurthindenburg (Kurt Hindenburg)
Priority: Normal Milestone:
Component: ports Version: 2.4.2
Keywords: Cc:
Port: LyX

Description

Hello MacPorts:

LyX was recently updated and the update does not build on my machine. It looks as if it cannot find QPdfWriter (see error below). Thank you for your help with this.

:info:build   CXX      lyxconvert.o
:info:build lyxconvert.cpp:11:10: fatal error: 'QPdfWriter' file not found
:info:build #include <QPdfWriter>
:info:build          ^~~~~~~~~~~~
:info:build 1 error generated.
:info:build make[4]: *** [lyxconvert.o] Error 1

Kind regards, Anthony

Attachments (1)

main.log (109.0 KB) - added by iqgrande 3 years ago.

Download all attachments as: .zip

Change History (14)

comment:1 Changed 3 years ago by mf2k (Frank Schima)

Cc: khindenburg@… removed
Owner: set to kurthindenburg
Status: newassigned

comment:2 Changed 3 years ago by kencu (Ken)

This update failed for me too (+qt4 variant) with the same error. Previous versions installed OK.

Last edited 3 years ago by kencu (Ken) (previous) (diff)

comment:3 Changed 3 years ago by kurthindenburg (Kurt Hindenburg)

Can you attach the main.log - it compiled on my system which is running the latest OS

Changed 3 years ago by iqgrande

Attachment: main.log added

comment:4 Changed 3 years ago by iqgrande

My system has macOS version 10.13.3 and MacPorts version 2.4.2. I hope this helps. Also, I forgot to add this to the initial submission, but my build does have some variants, i.e., I currently have "LyX @2.2.3_4+python27+qt4" installed. I did not choose any of those variants... those are what was automatically selected. If I should uninstall and then reinstall with a different set, then please let me know.

comment:5 Changed 3 years ago by iqgrande

FYI, if I uninstall and then reinstall (when it picks up Qt5 as a default) it builds.

comment:6 in reply to:  4 ; Changed 3 years ago by ryandesign (Ryan Schmidt)

Replying to iqgrande:

my build does have some variants, i.e., I currently have "LyX @2.2.3_4+python27+qt4" installed. I did not choose any of those variants... those are what was automatically selected. If I should uninstall and then reinstall with a different set, then please let me know.

The +qt4 variant is not the default; the +qt5 variant is, and the +qt5 variant builds fine. Maybe you have requested +qt4 in your variants.conf?

LyX claims to be compatible with Qt 4.8 and later, but maybe its Qt 4 compatibility has bitrotted. I could not find an upstream bug report about this issue; one should be filed, unless we can determine that it is our packaging error.

comment:7 Changed 3 years ago by kencu (Ken)

qt4 has no file called QPdfWriter -- that's a qt5 only header.

I'm not sure why this header is getting pulled into the qt4 build now, when it never was before.

comment:8 Changed 3 years ago by kencu (Ken)

Perhaps the new version 2.3.x series no longer supports qt4:Release Notes

!!Changes with respect to external programs and libraries in 2.3:

* LyX now supports only macOS 10.9 and higher (due to using Qt 5.9).

comment:9 Changed 3 years ago by kurthindenburg (Kurt Hindenburg)

2.2.3 does not have a convert folder (lyxconvert program). It is new in 2.3.0

  • LyX now includes a Qt-based fallback-converter for Mac to compensate missing ImageMagick convert utility.

comment:10 Changed 3 years ago by kurthindenburg (Kurt Hindenburg)

https://www.lyx.org/trac/ticket/11094

I'll patch out the new convert program if building w/ Qt4 for now

comment:11 Changed 3 years ago by kurthindenburg (Kurt Hindenburg)

Resolution: fixed
Status: assignedclosed

In 5f3d52e185f68830427e60d358ee11c93ef62164/macports-ports:

LyX: fix (non default) Qt4 build by removing new convert program

new convert program requires Qt5 https://www.lyx.org/trac/ticket/11094
closes #56172

comment:12 in reply to:  6 ; Changed 3 years ago by iqgrande

Replying to ryandesign:

Replying to iqgrande:

my build does have some variants, i.e., I currently have "LyX @2.2.3_4+python27+qt4" installed. I did not choose any of those variants... those are what was automatically selected. If I should uninstall and then reinstall with a different set, then please let me know.

The +qt4 variant is not the default; the +qt5 variant is, and the +qt5 variant builds fine. Maybe you have requested +qt4 in your variants.conf?

I never requested any variant for LyX. My /opt/local/etc/macports/variants.conf file is empty (minus the commented headers that describe how to use it). I don't recall if I followed the Migration strategy listed at Migration for going from Sierra to High Sierra or if I manually ran a script to reinstall everything. Perhaps the former approach may set variants after migration in such a way as the system think I manually set them? I only bring this up because I am concerned that some installed ports of mine are not tracking the defaults when I would like for them to. Is there a way to reset this behavior or would I need to install everything from scratch? Thank you for your help with this.

LyX claims to be compatible with Qt 4.8 and later, but maybe its Qt 4 compatibility has bitrotted. I could not find an upstream bug report about this issue; one should be filed, unless we can determine that it is our packaging error.

comment:13 in reply to:  12 Changed 3 years ago by kencu (Ken)

Replying to iqgrande:

I never requested any variant for LyX.

Back when you first installed it, +qt4 was the default. So on upgrading, that just was carried along. You did nothing wrong.

Note: See TracTickets for help on using tickets.