LightDM complain about it do not find MOC5

Considering this is an issue with LightDM do not find Qmake (just my guess), I do not have any idea about fix it and considering all other qt5 based ports builds fine, this is a LightDM issue. Then, before maintainer look in to it, I can be glad if someone using this lightweight display manager can suggest a workaround for have it compiled and installed.
Code:
moc --qt=5 QLightDM/greeter.h -o greeter_moc5.cpp
moc --qt=5 QLightDM/power.h -o power_moc5.cpp
moc: could not find a Qt installation of '5'
moc: could not find a Qt installation of '5'
gmake[4]: *** [Makefile:1020: greeter_moc5.cpp] Error 1
gmake[4]: *** Waiting for unfinished jobs....
gmake[4]: *** [Makefile:1020: power_moc5.cpp] Error 1
gmake[4]: Leaving directory '/usr/ports/x11/lightdm/work/lightdm-1.28.0/liblightdm-qt'
gmake[3]: *** [Makefile:484: all-recursive] Error 1
 
You could look into slim. I use it on an ancient machine of mine, 1 core 1,2 GHz and it works very well.

Regarding your question - I tried to compile it myself and I ran into similar issues, however it complains about not being able to find Qt '4' and yours is '5'.
 
Yes becouse probably your system defaults to qt4 and mine to qt5. Strange no one is able to help. Not even qtchooser is able to help.
 
I just tested x11/lightdm with poudriere(8) and it built just fine. Have you set specific options I could test ?
No special option. There is only one option available, build with or without Vala, then it makes no diffierence. Always the build complain about:
Code:
moc: could not find a Qt installation of '5'
That box obviously got qt5 considering it runs Lumina desktop pretty fine. As you can see another user with qt4 in this case has the same problem.

I don't have idea about what Poudriere do more compared to a simple "make install clean" and why it buld under that environment. Maybe you got no qt.
 
I don't have idea about what Poudriere do more compared to a simple "make install clean"
It does it in a pristine FreeBSD. Which means that the error you see is probably related to something specific to your system. Which version of x11/lightdm are you trying to compile ? Is it
lightdm-1.28.0 or lightdm-1.28.0_1 ? Apparently, some patch was accidentally deleted on the 1.28.0 version, so it might be related to that. It was corrected on 04 Feb 2019.
 
The environment is pretty pristine, just what is needed to build and run Lumina desktop.
Code:
===>  Building for lightdm-1.28.0_1
gmake[2]: Entering directory '/usr/ports/x11/lightdm/work/lightdm-1.28.0'
gmake  all-recursive
gmake[3]: Entering directory '/usr/ports/x11/lightdm/work/lightdm-1.28.0'
Making all in common
gmake[4]: Entering directory '/usr/ports/x11/lightdm/work/lightdm-1.28.0/common'
gmake[4]: Nothing to be done for 'all'.
gmake[4]: Leaving directory '/usr/ports/x11/lightdm/work/lightdm-1.28.0/common'
Making all in liblightdm-gobject
gmake[4]: Entering directory '/usr/ports/x11/lightdm/work/lightdm-1.28.0/liblightdm-gobject'
gmake[4]: Nothing to be done for 'all'.
gmake[4]: Leaving directory '/usr/ports/x11/lightdm/work/lightdm-1.28.0/liblightdm-gobject'
Making all in liblightdm-qt
gmake[4]: Entering directory '/usr/ports/x11/lightdm/work/lightdm-1.28.0/liblightdm-qt'
moc --qt=5 QLightDM/greeter.h -o greeter_moc5.cpp
moc: could not find a Qt installation of '5'
gmake[4]: *** [Makefile:1020: greeter_moc5.cpp] Error 1
gmake[4]: Leaving directory '/usr/ports/x11/lightdm/work/lightdm-1.28.0/liblightdm-qt'
gmake[3]: *** [Makefile:484: all-recursive] Error 1
gmake[3]: Leaving directory '/usr/ports/x11/lightdm/work/lightdm-1.28.0'
gmake[2]: *** [Makefile:416: all] Error 2
gmake[2]: Leaving directory '/usr/ports/x11/lightdm/work/lightdm-1.28.0'
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/x11/lightdm
*** Error code 1
 
Can you post the output of: pkg version -v | grep qt, moc -v and pkg info qtchooser?

And does /etc/make.conf exist? If it exists, what does it contain?
 
Can you post the output of: pkg version -v | grep qt, moc -v and pkg info qtchooser?

And does /etc/make.conf exist? If it exists, what does it contain?
Code:
$ pkg version -v | grep qt
gpgme-qt5-1.13.0                   =   up-to-date with index
gstreamer1-qt5-1.2.0_20            =   up-to-date with index
libaccounts-qt5-1.13_9             =   up-to-date with index
libdbusmenu-qt5-0.9.3.160420160218_9 =   up-to-date with index
phonon-qt5-4.10.2_3                =   up-to-date with index
pinentry-qt5-1.1.0_1               =   up-to-date with index
polkit-qt5-0.112.0_6               =   up-to-date with index
poppler-qt5-0.75.0                 =   up-to-date with index
qt5-assistant-5.12.2               =   up-to-date with index
qt5-buildtools-5.12.2              =   up-to-date with index
qt5-concurrent-5.12.2              =   up-to-date with index
qt5-core-5.12.2                    =   up-to-date with index
qt5-dbus-5.12.2                    =   up-to-date with index
qt5-declarative-5.12.2             =   up-to-date with index
qt5-designer-5.12.2                =   up-to-date with index
qt5-gui-5.12.2                     =   up-to-date with index
qt5-help-5.12.2                    =   up-to-date with index
qt5-imageformats-5.12.2            =   up-to-date with index
qt5-linguisttools-5.12.2           =   up-to-date with index
qt5-location-5.12.2                =   up-to-date with index
qt5-multimedia-5.12.2              =   up-to-date with index
qt5-network-5.12.2                 =   up-to-date with index
qt5-opengl-5.12.2                  =   up-to-date with index
qt5-printsupport-5.12.2            =   up-to-date with index
qt5-qmake-5.12.2                   =   up-to-date with index
qt5-script-5.12.2                  =   up-to-date with index
qt5-sensors-5.12.2                 =   up-to-date with index
qt5-serialport-5.12.2              =   up-to-date with index
qt5-sql-5.12.2                     =   up-to-date with index
qt5-sqldrivers-mysql-5.12.2        =   up-to-date with index
qt5-sqldrivers-sqlite3-5.12.2      =   up-to-date with index
qt5-svg-5.12.2                     =   up-to-date with index
qt5-testlib-5.12.2                 =   up-to-date with index
qt5-uiplugin-5.12.2                =   up-to-date with index
qt5-uitools-5.12.2                 =   up-to-date with index
qt5-webchannel-5.12.2              =   up-to-date with index
qt5-webengine-5.12.2               =   up-to-date with index
qt5-webkit-5.212.0.a2_21           =   up-to-date with index
qt5-widgets-5.12.2                 =   up-to-date with index
qt5-x11extras-5.12.2               =   up-to-date with index
qt5-xml-5.12.2                     =   up-to-date with index
qt5-xmlpatterns-5.12.2             =   up-to-date with index
qtchooser-66                       =   up-to-date with index
qterminal-0.14.0                   =   up-to-date with index
qtermwidget-0.14.0                 =   up-to-date with index
signon-qt5-8.58_2                  =   up-to-date with index
$ moc -v
moc 5.12.2
$ pkg info qtchooser
qtchooser-66
Name           : qtchooser
Version        : 66
Installed on   : Mon Apr 15 21:24:05 2019 CEST
Origin         : misc/qtchooser
Architecture   : FreeBSD:12:amd64
Prefix         : /usr/local
Categories     : misc
Licenses       : GPLv3, LGPL21
Maintainer     : kde@FreeBSD.org
WWW            : https://github.com/qt/qtchooser
Comment        : Qt tool wrapper
Annotations    :
        FreeBSD_version: 1200086
Flat size      : 125KiB
Description    :
The Qt tool chooser wraps the execution of all Qt tools, to allow for
different Qt versions coexistence.
 
At first glance that all looks to be in order. I was thinking you may have had some old QT4 libraries lingering that could have interfered. But that doesn't seem to be the case.
 
I also did try to force via qtchooser qt5 in place of default as the qt version and it didn’t help. I admit I didn’t built a poudriere environment for this, then I’m still wondering how it build under that environment. For me it doesn’t on three different 64 bit boxes.
 
If I change in
/usr/ports/x11/lightdm/work/lightdm-1.28.0/liblightdm-qt/Makefile:

Code:
1019 %_moc5.cpp: QLightDM/%.h
1020         $(AM_V_MOC5) $(MOC5) $< -o $@

to

1019 %_moc5.cpp: QLightDM/%.h
1020         $(AM_V_MOC5) ${prefix}/bin/moc $< -o $@

it builds to the end.

(I don't know in the moment how to fix this correct).
 
A fix (with necessarily ugly regexp) is this:
Bash:
/usr/ports/x11/lightdm % diff -uN Makefile.orig Makefile
Diff:
--- Makefile.orig       2019-07-26 23:46:53.000000000 +0300
+++ Makefile    2019-10-20 22:21:56.963064000 +0300
@@ -54,6 +54,10 @@
        @${REINPLACE_CMD} -e 's,%%PREFIX%%,${PREFIX},' \
                ${WRKSRC}/data/lightdm.conf

+pre-build:
+       @${REINPLACE_CMD} -e 's,V_MOC5) ..MOC5),V_MOC5) ${PREFIX}/bin/moc,' \
+               ${WRKSRC}/liblightdm-qt/Makefile
+
 post-install:
        ${RM} -r ${STAGEDIR}${PREFIX}/etc/init
        ${INSTALL_SCRIPT} ${WRKDIR}/Xsession ${STAGEDIR}${PREFIX}/etc/lightdm/
Also works in post-configure phase.
Please someone commit it, or re-post where appropriate for that. TIA.
 
My first impression was that it will use qt if and only if qt5 is already installed by some other port, e.g. it doesn't otherwise require qt. This is probably the reason it was building just fine in "clean" poudriere env. I may be wrong.
 
Back
Top