Pagina 1 di 1

libmp4v2, cdrkit (e altri): errori di compilazione con gcc-10 [RISOLTO]

Inviato: mar 15 dic 2020, 18:02
da gian_d
Con il passaggio di gcc alla versione 10 si verifica un errore di compilazione del sorgente di libmp4v2 (dipendenza di vlc). L'errore è già stato segnalato e corretto nella comunità di Gentoo da una patch che andrebbe applicata così come è nello slackbuild.
Riferimenti qui: https://bugs.gentoo.org/723098

Re: libmp4v2, cdrkit: errori di compilazione con gcc-10 [RISOLTO]

Inviato: mar 15 dic 2020, 18:38
da gian_d
Un altro errore, sempre dovuto al passaggio di gcc alla versione 10, si ha con la compilazione di cdrkit. In questo caso la patch è fornita dalla comunità di Fedora, si può scaricare qui: https://src.fedoraproject.org/rpms/cdrk ... cc10.patch

Re: libmp4v2, cdrkit: errori di compilazione con gcc-10 [RISOLTO]

Inviato: mer 16 dic 2020, 14:18
da gian_d
Altra vittima di gcc5 è musepack-tools. In questo caso ho trovato la patch qui: http://buildroot-busybox.2317881.n4.nab ... 64952.html

Re: libmp4v2, cdrkit: errori di compilazione con gcc-10 [RISOLTO]

Inviato: mer 16 dic 2020, 14:34
da ponce
grazie dei contributi, Giancarlo!

mi potresti mandare per favore via pm un tuo indirizzo di mail da mettere nei commit su git?

Re: libmp4v2, cdrkit: errori di compilazione con gcc-10 [RISOLTO]

Inviato: mer 16 dic 2020, 15:20
da gian_d
Fatto.
Nel frattempo ne è saltato fuori con gsoap un altro esattamente dello stesso tipo di quello di musepack-tool. In questo caso come patch ho usato questa:

Codice: Seleziona tutto

--- gsoap-2.8/gsoap/src/soapcpp2_lex.l	2019-08-15 08:05:08.000000000 +0200
+++ gsoap-2.8-fixed/gsoap/src/soapcpp2_lex.l	2020-12-16 14:43:08.454309633 +0100
@@ -50,7 +50,7 @@
 extern int isatty(int); /* silence warnings */
 
 #ifdef WITH_BISON
-YYSTYPE yylval;
+extern YYSTYPE yylval;
 #undef YY_NEED_STRLEN
 #define YY_INPUT(buf, result, max_size) \
         { \
Non è farina del mio sacco, sia chiaro, l'ho generata con Kompare basandomi su questa segnalazione: https://sourceforge.net/p/gsoap2/bugs/1269/

Da quel poco che capisco, questo "bug" si potrebbe superare senza ricorrere a delle patch ma semplicemente modificando i flag della compilazione mettendo -fno-common al posto di f-common come spiegato qui: https://bugzilla.opensuse.org/show_bug.cgi?id=1160244
Però non sono sicuro che possa funzionare semplicemente aggiungendo il flag nella variabile SLKCFLAGS dello slackbuild, peraltro non so se potrebbe andare in conflitto con la compilazione fatta con versioni precedenti a gcc10

Re: libmp4v2, cdrkit (e altri): errori di compilazione con gcc-10 [RISOLTO]

Inviato: mer 16 dic 2020, 15:40
da gian_d
Ho riprovato la compilazione senza la patch inserendo il flag nella variabile d'ambiente dello slackbuild con due distinte opzioni in questo modo:
1) CFLAGS="$SLKCFLAGS -fno-common" \
2) elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC -fno-common"

Forse sbaglio qualcosa, ma in entrambi i casi la compilazione si ferma per lo stesso errore anche se gcc acquisisce il flag. Almeno, così ho intravvisto nel codice della compilazione al punto 2). Con la patch, invece è tutto ok.

Re: libmp4v2, cdrkit (e altri): errori di compilazione con gcc-10 [RISOLTO]

Inviato: mer 16 dic 2020, 19:16
da ponce
la flag che gli dovresti passare per fare in modo che il gcc-10.x si comporti come le versioni precedenti e' -fcommon perche' -fno-common e' il nuovo default: dai un'occhiata a questa pagina https://gcc.gnu.org/gcc-10/porting_to.html

comunque, in questo caso specifico, c'e' una versione piu' recente di gsoap che compila senza bisogno di -fcommon e quindi ho aggiornato a quella.

in generale mi regolo cosi':
- se esistono patch ufficiali (degli sviluppatori dell'applicazione/libreria) o non ufficiali ma "fidate" preferisco usare quelle, perche' correggono imprecisioni nel codice che vengono evidenziate dai nuovi compilatori: e' il motivo per cui, per esempio, per libmp4v2 e per musepack-tools, che compilavano gia' nel repository passando flag aggiuntive al compilatore, ho preferito usare le patch che mi hai consigliato;
- se non si puo' fare altrimenti mi arrangio passando flag aggiuntive tipo -fcommon o altro (a seconda delle necessita').

Re: libmp4v2, cdrkit (e altri): errori di compilazione con gcc-10 [RISOLTO]

Inviato: mer 16 dic 2020, 21:05
da gian_d
LOL, avevo capito proprio il contrario, ci credo che non andava :-D

Re: libmp4v2, cdrkit: errori di compilazione con gcc-10 [RISOLTO]

Inviato: ven 18 dic 2020, 18:21
da gian_d
gian_d ha scritto:
mer 16 dic 2020, 14:18
Altra vittima di gcc5 è musepack-tools. In questo caso ho trovato la patch qui: http://buildroot-busybox.2317881.n4.nab ... 64952.html
[Ho paura che questa correzione non basti, ho appena messo un post riguardante altri problemi (sfuggiti all'inizio) che sono saltati fuori al momento di ricompilare vlc :-\]

ritiro quello che ho appena scritto (fra parentesi in corsivo), è tutto OK, avevo solo pasticciato