Project ERROR: Qt 5.2 or greater is required
Inviato: mer 19 feb 2020, 20:11
Questo messaggio di errore è restituito dalla compilazione via slackbuild di decklink-sdk (dipendenza opzionale di ffmpeg) dopo l'aggiornamento di Qt5 alla versione 5.13.2, ma credo si abbia lo stesso risultato anche con versioni meno recenti a partire da Qt 5.10.0 in su
In realtà l'errore è causato da qmake se nel sorgente del software da compilare è contenuta la chiamata alla funzione lessThan(QT_VERSION, 5.x ), funzione non valida per versioni di Qt5 uguali o superiori a 5.10.0 (rif: https://bugreports.qt.io/browse/QTBUG-63325 )
Io uso la versione 10.11.1 di decklink-sdk installata con lo slackbuild del repository di Ponce e ho risolto applicando la seguente patch:
Lo slackbuild del repository è predisposto per l'installazione di una versione meno recente di Decklink SDK, in ogni modo il concetto non cambia. La compilazione funziona finché si usa una versione di Qt5 precedente alla 5.10.0 mentre va in errore se si installa il pacchetto attualmente rilasciato con la current. Perciò è sufficiente inserire la chiamata alla patch nel codice dello slackbuild.
Naturalmente il problema potrebbe presentarsi anche con la compilazione di software di terze parti i cui sorgenti non sono aggiornati per versioni di Qt5 uguali o superiori a 5.10.0. Ho visto che in rete ci sono segnalazioni relative a questo problema, più o meno recenti. Qualora dovesse succedere il sorgente va patchato sostituendo la funzione versionAtLeast() al posto di lessThan()
In realtà l'errore è causato da qmake se nel sorgente del software da compilare è contenuta la chiamata alla funzione lessThan(QT_VERSION, 5.x ), funzione non valida per versioni di Qt5 uguali o superiori a 5.10.0 (rif: https://bugreports.qt.io/browse/QTBUG-63325 )
Io uso la versione 10.11.1 di decklink-sdk installata con lo slackbuild del repository di Ponce e ho risolto applicando la seguente patch:
Codice: Seleziona tutto
--- "Blackmagic DeckLink SDK 10.11.1/Linux/Samples/H265TestEncoder/H265TestEncoder.pro" 2018-07-05 14:02:16.000000000 +0200
+++ "Blackmagic DeckLink SDK-fixed 10.11.1/Linux/Samples/H265TestEncoder/H265TestEncoder.pro" 2020-02-19 19:26:06.989562839 +0100
@@ -30,7 +30,7 @@
src\
../../include
-lessThan(QT_VERSION, 5.2) {
+versionAtLeast($$QT_VERSION, 5.2){
error("Qt 5.2 or greater is required.")
}
Naturalmente il problema potrebbe presentarsi anche con la compilazione di software di terze parti i cui sorgenti non sono aggiornati per versioni di Qt5 uguali o superiori a 5.10.0. Ho visto che in rete ci sono segnalazioni relative a questo problema, più o meno recenti. Qualora dovesse succedere il sorgente va patchato sostituendo la funzione versionAtLeast() al posto di lessThan()