# LightDM complain about it do not find MOC5



## piggy (Apr 14, 2019)

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.

```
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
```


----------



## D-FENS (Apr 14, 2019)

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'.


----------



## piggy (Apr 15, 2019)

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.


----------



## hukadan (Apr 15, 2019)

I just tested x11/lightdm with poudriere(8) and it built just fine. Have you set specific options I could test ?


----------



## piggy (Apr 16, 2019)

hukadan said:


> 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:

```
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.


----------



## hukadan (Apr 16, 2019)

piggy said:


> 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.


----------



## piggy (Apr 16, 2019)

The environment is pretty pristine, just what is needed to build and run Lumina desktop.

```
===>  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
```


----------



## SirDice (Apr 17, 2019)

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?


----------



## piggy (Apr 18, 2019)

SirDice said:


> 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?




```
$ 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.
```


----------



## SirDice (Apr 18, 2019)

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.


----------



## piggy (Apr 18, 2019)

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.


----------



## talsamon (Apr 18, 2019)

I tried it, same error for me. This is a bug.


----------



## talsamon (Apr 18, 2019)

If I change in
/usr/ports/x11/lightdm/work/lightdm-1.28.0/liblightdm-qt/Makefile:


```
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).


----------



## piggy (Apr 18, 2019)

Someone said under poudriere it build fine... Thank you for the workaround.


----------



## diff-uN (Oct 20, 2019)

A fix (with _necessarily_ ugly regexp) is this:

```
/usr/ports/x11/lightdm % diff -uN Makefile.orig Makefile
```


```
--- 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.


----------



## SirDice (Oct 21, 2019)

diff-uN said:


> Please someone commit it, or re-post where appropriate for that.







__





						Log in to FreeBSD Bugzilla
					






					bugs.freebsd.org


----------



## acheron (Oct 21, 2019)

If it uses qt5 then it should use USE= qt:5 and perhaps USE_QT


----------



## diff-uN (Oct 23, 2019)

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.


----------

