Compile Problems After Updating to Qt6

Richard Kimberly Heck rikiheck at lyx.org
Thu Mar 11 17:27:50 UTC 2021


On 3/11/21 11:29 AM, Kornel Benko wrote:
> Am Thu, 11 Mar 2021 16:05:24 +0100
> schrieb Christoph Schmitz <chr.schmitz at web.de>:
>
>> This is a duplicate of a question already asked in the user forum. Riki recommended to
>> post it in the developer forum.
>>
>> --
>>
>> Operating system: macOS 11.3 Beta (20E5196f)
>>
>> I have been struggling with this problem for a few days now. Last week my homebrew
>> installation quietly updated Qt to v6 (brew upgrade). Since then I can't compile LyX
>> anymore. Unfortunately I learned about the "brew pin" command too late.
>>
>> When running .\configure I get the error message: "configure: error: cannot compile a
>> simple Qt executable. Check you have the right $QTDIR."
>>
>> I tried to set $QTDIR to the following directories:
>>
>> /usr/local/Cellar/qt
>> /usr/local/Cellar/qt/6.0.2
>> /usr/local/Cellar/qt/6.0.2/bin
>> /usr/local/Cellar/qt/6.0.2/lib
>> /usr/local/opt/qt
>> /usr/local/opt/qt6
>> /usr/local/opt/qt at 6
>>
>> I also tried to downgrade to Qt5, but this also did not solve the problem. I have
>> noticed that Qt5 is not installed in the folder "qt" anymore (this is now the place,
>> where Qt6 is installed), but in a folder with the name "qt at 5".
>>
>> I also deleted my local repository and started from scratch. Also no success.
>>
>> I appreciate any recommendation what to do.
>>
>> Chris
> Trying to adapt cmake to qt6, I get compile errors
>
> usr2/src/lyx/lyx-git/src/insets/InsetInfo.cpp: In member function
> ‘std::__debug::vector<std::pair<std::__cxx11::basic_string<char>,
> std::__cxx11::basic_string<wchar_t> > > lyx::InsetInfoParams::getArguments(const
> lyx::Buffer*, const string&)
> const’: /usr2/src/lyx/lyx-git/src/insets/InsetInfo.cpp:300:22: error: ‘fromTime_t’ is not
> a member of ‘QDateTime’ date =
> QDateTime::fromTime_t(buf->fileName().lastModified()).date();
> ^~~~~~~~~~ /usr2/src/lyx/lyx-git/src/insets/InsetInfo.cpp:326:22: error: ‘fromTime_t’ is
> not a member of ‘QDateTime’ time =
> QDateTime::fromTime_t(buf->fileName().lastModified()).time();
> ^~~~~~~~~~ /usr2/src/lyx/lyx-git/src/insets/InsetInfo.cpp: In member function ‘virtual
> void lyx::InsetInfo::updateBuffer(const lyx::ParIterator&, lyx::UpdateType,
> bool)’: /usr2/src/lyx/lyx-git/src/insets/InsetInfo.cpp:1152:22: error: ‘fromTime_t’ is
> not a member of ‘QDateTime’ date =
> QDateTime::fromTime_t(buffer().fileName().lastModified()).date();
> ^~~~~~~~~~ /usr2/src/lyx/lyx-git/src/insets/InsetInfo.cpp:1169:22: error: ‘fromTime_t’ is
> not a member of ‘QDateTime’ time =
> QDateTime::fromTime_t(buffer().fileName().lastModified()).time();

This will take some work. There's some info here:

https://doc.qt.io/qt-6/portingguide.html

Maybe we should make this a post 2.4 priority, though of course work on 
it could start now in a branch.

Riki




More information about the lyx-devel mailing list