equalsraf / neovim-qt

Neovim client library and GUI, in Qt5.
https://github.com/equalsraf/neovim-qt/wiki
ISC License
1.85k stars 171 forks source link

compile errors on gentoo #979

Closed eprst closed 2 years ago

eprst commented 2 years ago

Hi

I'm using ebuild as outlined in the readme and getting compile errors:

 /var/tmp/portage/app-editors/neovim-qt-0.2.15/work/neovim-qt-0.2.15/src/gui/shellwidget/shellwidget.cpp:209:72: error: variable ‘QPainterPath path’ has initializer but incomplete type
  209 |                                                 QPainterPath path(start);
      |                                                                        ^
compilation terminated due to -Wfatal-errors.

gcc 11.2.1

Full build.log.gz

equalsraf commented 2 years ago

I assume you are using this ebuild for v0.2.15 https://github.com/jgehrig/gentoo/blob/master/app-editors/neovim-qt/neovim-qt-0.2.15.ebuild. I see there is a missing include for QPainterPath, I cant check if that is the cause ATM but it looks like the problem was introduced in Qt 5.15 and fixed in neovim-qt in https://github.com/equalsraf/neovim-qt/pull/666

We need a new ebuild for 0.2.16.1 though. Or alternatively you can try building from master. Maybe this ebuild will work https://github.com/jgehrig/gentoo/blob/master/app-editors/neovim-qt/neovim-qt-9999.ebuild

eprst commented 2 years ago

Yes, I was using 0.2.15. 9999 works.

jgehrig commented 2 years ago

You wouldn't have these issues if you ran a normal distro!

Kidding obviously... I also run Gentoo :smile:

jgehrig commented 2 years ago

Marking as closed.

Yes, the break is caused by your Qt version. Qt did a header cleanup, and replaced some #include statements with forward declarations. We previously relied on some of these implicit header includes to build.

My ebuild script should probably provide a maximum Qt version...

Details for future readers:

A 9999 package in gentoo is the latest version available. Usually downloaded from the repository tip at the time of compile.

You can un-mask and install the 9999 package by adding the following line to /etc/portage/package.accept_keywords: app-editors/neovim-qt **

You could also fix the issue by placing a patch file for the pull request above into /etc/portage/patches/app-editors/neovim-qt/.