FreeCAD - QT5-speech

Hi!

I want to install cad/freecad and it pulls accessibility/qt5-speech which doesn't build (yet):
Code:
===>  Configuring for qt5-speech-5.12.1
/bin/mkdir -p /usr/ports/accessibility/qt5-speech/work/.build
echo 'CMAKE_MODULE_TESTS = -' > /usr/ports/accessibility/qt5-speech/work/.build/.qmake.cache
echo 'QMAKE_LIBDIR_FLAGS = -L/usr/ports/accessibility/qt5-speech/work/.build/lib' >> /usr/ports/accessibility/qt5-speech/work/.build/.qmake.cache
echo 'QMAKE_DEFAULT_LIBDIRS = /usr/local/lib' >> /usr/ports/accessibility/qt5-speech/work/.build/.qmake.cache
echo 'QMAKE_DEFAULT_INCDIRS = /usr/local/include' >> /usr/ports/accessibility/qt5-speech/work/.build/.qmake.cache
Info: creating stash file /usr/ports/accessibility/qt5-speech/work/.build/.qmake.stash
Checking for flite... yes
Checking for flite_alsa... yes
Reading /usr/ports/accessibility/qt5-speech/work/qtspeech-everywhere-src-5.12.1/src/src.pro [/usr/ports/accessibility/qt5-speech/work/.build/src]
Reading /usr/ports/accessibility/qt5-speech/work/qtspeech-everywhere-src-5.12.1/src/tts/tts.pro [/usr/ports/accessibility/qt5-speech/work/.build/src/tts]
Reading /usr/ports/accessibility/qt5-speech/work/qtspeech-everywhere-src-5.12.1/src/plugins/plugins.pro [/usr/ports/accessibility/qt5-speech/work/.build/src/plugins]
  Reading /usr/ports/accessibility/qt5-speech/work/qtspeech-everywhere-src-5.12.1/src/plugins/tts/tts.pro [/usr/ports/accessibility/qt5-speech/work/.build/src/plugins/tts]
   Reading /usr/ports/accessibility/qt5-speech/work/qtspeech-everywhere-src-5.12.1/src/plugins/tts/speechdispatcher/speechdispatcher.pro [/usr/ports/accessibility/qt5-speech/work/.build/src/plugins/tts/speechdispatcher]
   Reading /usr/ports/accessibility/qt5-speech/work/qtspeech-everywhere-src-5.12.1/src/plugins/tts/flite/flite.pro [/usr/ports/accessibility/qt5-speech/work/.build/src/plugins/tts/flite]
Project ERROR: Unknown module(s) in QT: multimedia
*** Error code 3
I do not know and why FreeCAD needs this port and is it possible to built withou, please?

Thank you.
 
Dear fernandel,
just for information, there is a discussion ongoing on the freebsd-ports mailing list. May be you know that already, may be not. I have not followed that carefully. But one side topic is related to qt5 stuff. May be it is worth to check. If not please forgive me regarding the noise ;).
 
Dear fernandel,
just for information, there is a discussion ongoing on the freebsd-ports mailing list. May be you know that already, may be not. I have not followed that carefully. But one side topic is related to qt5 stuff. May be it is worth to check. If not please forgive me regarding the noise ;).
Yes, there are big discussion but there were not answer why FreeCAD needs accessibility/qt5-speech and other not to CAD related ports. Or I do not understand.
 
tl; dr; It comes from the devel/pyside2 dependency of cad/freecad.

I think the following part of the discussion answers your question (source: https://lists.freebsd.org/pipermail/freebsd-ports/2019-February/115528.html):
FreeCAD uses Qt for it's GUI (and a CAD system without GUI is
somewhat 1980ish). Formerly it used Qt4, but as that is going
away in four weeks, I switched it over to Qt5 - that's an option
with FreeCAD (and a little rough at the edges, see files/),
and there's really no benefit in preserving Qt4 compatibility
(remember, "going away in four weeks).
As FreeCAD is a funny mix of C++ and Python, it uses PySide2 and
friends for the Python-Qt5 bindings, and Pyside2 depends on
"most of Qt5" to provide bindings to all of that. Technically,
some dependencies are marked as "optional" in PySide2, but I
decided against OPTIONizing (or plainly not using) them, for the
following reasons:
- Not providing parts of the Qt5 bindings makes PySide2 less
useful: some other port may just require some of the
removed bindings.
- There's no official way for a port to depend on the OPTIONs of
another port. Flavors do help somewhat, but not for all possible
use cases.
- By default, the PySide2 build creates bindings for all the Qt5
components it finds at build time: that creates a high risk of
"contaminated" builds. Changing that is not trivial, but time
consuming and error prone.
- Weighing my time against the cost of storage (< 15ct/GB on SSDs)
and build time (minutes, not hours) for the extra dependencies, I
opted for the hardware - that's one time cost, whereas making some
of the dependencies optional would use much more of my time and
create an ongoing maintenance burden.
 
The point is not to wonder why FreeCad needs qt5-speech, and try to override it, the point is to know why qt5-speech doesn't build on your system.
If you don't succeed in compiling Firefox because you are not able to compile Xorg, just explain us if trying to override Xorg will solve your problem ?

---

That is why it is important to follow this methodology if you want to keep your system consistent.
and the aswer is:
"
Moin moin

Looks like we need to add some options to toggle the tts plugins
deterministically.
I'll look into it.


mfg Tobias"
 
Back
Top