#67593 closed defect (fixed)

Failure to build qt5-qtspeech @5.15.10_0

Reported by: Gandoon (Erik Hedlund) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: chrstphrchvz (Christopher Chavez), sgrewe (Stefan Grewe)
Port: qt5-qtspeech

Description

Recently several issues has once again arisen pertaining to various Qt components as they are updated. One of them is this. Attempting to upgrade qt5-qtspeech from @5.15.8_0 to @5.15.10_0 I run into an issue that seems to be related to flite and, if I read the logs correctly, alsa (which is not something we have on MacOS).

The issue where the error breaks the build says: ld: library not found for -lasound

I could not find a reasonable cause as the previous version @5.15.8_0 built happily and without issues, and I would be happy if there is anyone with more experience of Qt out there that could point me in the correct direction.

Logfile attached.

Attachments (1)

qt5-qtspeech-main.log (68.4 KB) - added by Gandoon (Erik Hedlund) 17 months ago.
qt5-qtspeech fails to build

Download all attachments as: .zip

Change History (11)

Changed 17 months ago by Gandoon (Erik Hedlund)

Attachment: qt5-qtspeech-main.log added

qt5-qtspeech fails to build

comment:1 Changed 17 months ago by jmroot (Joshua Root)

Owner: set to MarcusCalhoun-Lopez
Status: newassigned

comment:2 Changed 17 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

I believe the problem is

135	:info:configure Checking for Flite... yes
136	:info:configure Checking for Flite with ALSA... yes

Do you have any idea where flite is coming from?
I do not believe it is provided by MacPorts.

comment:3 Changed 17 months ago by Gandoon (Erik Hedlund)

It actually is provided by MacPorts and required by qt6-qtspeech.

$ port -v installed flite
The following ports are currently installed:
  flite @2.2_0 (active) requested_variants='' platform='darwin 19' archs='x86_64' date='2023-06-08T16:48:00+0200'
$ port -v dependents flite
qt6-qtspeech depends on flite (by port:)

comment:4 Changed 17 months ago by Gandoon (Erik Hedlund)

One solution seems to be to deactivate flite while building qt5-qtspeech. This allows the build to succeed. If you have the qt6 version as well you may need to reactivate it afterwards.

I am as of yet unaware of if this will cause issues later.

comment:5 Changed 17 months ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added

comment:6 Changed 17 months ago by chrstphrchvz (Christopher Chavez)

The flite port was added a month ago as part of the qt 6.4.3 update: #67396.

Given that qt6-qtspeech depends on flite, it seems desirable for qt5-qtspeech to explicitly depend on it as well. The alternative would be to configure qt5-qtspeech with -no-flite to avoid using it opportunistically.

The library not found for -lasound error is because qt5-qtspeech is configuring with ALSA support, which specific to Linux. It seems like an upstream bug for this to happen, but it can be avoided with -no-flite-alsa.

Maybe older qtspeech ports are affected by similar issues.

comment:7 in reply to:  3 Changed 17 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Replying to Gandoon:

It actually is provided by MacPorts and required by qt6-qtspeech.

Of course, you are right.
Sorry, I was thinking about a different audio library.
The proper solutions have already been outlined.
I will try to see which one is the best.

comment:8 Changed 13 months ago by sgrewe (Stefan Grewe)

Cc: sgrewe added

comment:9 Changed 13 months ago by reneeotten (Renee Otten)

I just run into this issue myself. Thanks for the analysis and solution Christopher; it appears you didn't open a PR for that change. I just did and with these changes it builds fine; let's see what Marcus thinks about it.

comment:10 Changed 13 months ago by reneeotten (Renee Otten)

Resolution: fixed
Status: assignedclosed

In a1228b54b46fcc8a68d94bb2c045618f0554ef2c/macports-ports (master):

qt5-qtspeech: depend on flite, fix build failure

Closes: #67593

Note: See TracTickets for help on using tickets.