Bug#811645: FTBFS with GCC 6: cannot convert x to y

Martin Michlmayr tbm at hpe.com
Wed Jan 20 00:34:39 UTC 2016


Package: ams
Version: 2.1.1-1
Severity: important
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-6 gcc-6-cannot-convert

This package fails to build with GCC 6.  GCC 6 has not been released
yet, but it's expected that GCC 6 will become the default compiler for
stretch.

Note that only the first error is reported; there might be more.  You
can find a snapshot of GCC 6 in experimental.  To build with GCC 6,
you can set CC=gcc-6 CXX=g++-6 explicitly.

> sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on dl580gen9-02.hlinux
...
> g++ -D_REENTRANT -DLADSPA_PATH=\"/usr/lib/ladspa:/usr/local/lib/ladspa\" -DTRANSLATIONSDIR=\"/usr/share/ams/translations\" -DDEMOFILEPATH=\"/usr/share/ams/demos\" -DINSTRUMENTFILEPATH=\"/usr/share/ams/instruments\" -DHAVE_CONFIG_H -I.   -Wdate-time -D_FORTIFY_SOURCE=2 -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/qt4/QtCore -Wall -m64 -msse -mfpmath=sse -ffast-math -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -c -o ams-port.o `test -f 'port.cpp' || echo './'`port.cpp
> m_vocoder.cpp: In member function 'virtual void M_vocoder::generateCycle()':
> m_vocoder.cpp:293:52: error: incompatible types in assignment of 'float' to 'fftw_complex {aka double [2]}'
>        modinforward[l2] = modbuf[l1][l2] * window[l2];
>                                                     ^
> 
> m_vocoder.cpp:307:43: error: invalid array assignment
>        modinbackward[l2] = modoutforward[l2];
>                                            ^
> 
> m_vocoder.cpp:316:60: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double creal(__complex__ double)'
>        data[2][l1][l2] = logf(fabs (creal (modoutforward[l2])) + 1.0);
>                                                             ^
> 
> m_vocoder.cpp:330:27: error: incompatible types in assignment of 'int' to 'fftw_complex {aka double [2]}'
>        modinbackward[l2] = 0;
>                            ^
> 
> m_vocoder.cpp:337:50: error: invalid array assignment
>        modinbackward[ lclfrq ] = modoutforward [l2];
>                                                   ^
> 
> m_vocoder.cpp:339:69: error: invalid array assignment
>        modinbackward[fftsize - lclfrq] = modoutforward [ fftsize - l2];
>                                                                      ^
> 
> m_vocoder.cpp:345:43: error: invalid array assignment
>        modoutforward[l2] = modinbackward[l2];
>                                            ^
> 
> m_vocoder.cpp:348:27: error: incompatible types in assignment of 'int' to 'fftw_complex {aka double [2]}'
>        modinbackward[l2] = 0;
>                            ^
> 
> m_vocoder.cpp:362:55: error: invalid use of non-lvalue array
>              modinbackward[lclfrq] += modoutforward [l2];
>                                                        ^
> 
> m_vocoder.cpp:362:55: error:   in evaluation of 'operator+=(fftw_complex {aka double [2]}, fftw_complex {aka double [2]})'
> m_vocoder.cpp:363:76: error: invalid use of non-lvalue array
>              modinbackward[fftsize - lclfrq] += modoutforward [ fftsize - l2];
>                                                                             ^
> 
> m_vocoder.cpp:363:76: error:   in evaluation of 'operator+=(fftw_complex {aka double [2]}, fftw_complex {aka double [2]})'
> m_vocoder.cpp:371:30: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double cabs(__complex__ double)'
>       cabs (modoutforward [l2])
>                               ^
> 
> m_vocoder.cpp:372:44: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double carg(__complex__ double)'
>       * cexp (I * ( carg (modoutforward [l2])
>                                             ^
> 
> m_vocoder.cpp:375:41: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double cabs(__complex__ double)'
>       cabs (modoutforward [ fftsize - l2])
>                                          ^
> 
> m_vocoder.cpp:376:55: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double carg(__complex__ double)'
>       * cexp (I * ( carg (modoutforward [ fftsize - l2])
>                                                        ^
> 
> m_vocoder.cpp:386:48: error: invalid operands of types 'fftw_complex {aka double [2]}' and 'float' to binary 'operator/'
>        modoutbackward [l2] = modoutbackward[l2] / float (fftsize) ;
>                              ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
> 
> m_vocoder.cpp:387:48: error: invalid operands of types 'fftw_complex {aka double [2]}' and 'float' to binary 'operator/'
>        modoutbackward [l2] = modoutbackward[l2] / window[l2];
>                              ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
> 
> m_vocoder.cpp:402:35: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double creal(__complex__ double)'
>            synthdata->cyclesize/2 ]);
>                                    ^
> 
> m_vocoder.cpp:422:55: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double creal(__complex__ double)'
>   clov_sofar= fabs(creal(modoutbackward[clomatch_index])-spliceval );
>                                                        ^
> 
> m_vocoder.cpp:427:38: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double creal(__complex__ double)'
>       tval = creal (modoutbackward[l2]);
>                                       ^
> 
> m_vocoder.cpp:428:49: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double creal(__complex__ double)'
>       dtval = tval - creal (modoutbackward [l2-1]);
>                                                  ^
> 
> m_vocoder.cpp:444:64: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double creal(__complex__ double)'
>   residual = + spliceval - creal( modoutbackward[clomatch_index]);
>                                                                 ^
> 
> m_vocoder.cpp:449:67: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double creal(__complex__ double)'
>     data[0][l1][l2] = creal ( modoutbackward [ clomatch_index + l2])
>                                                                    ^
> 
> m_vocoder.cpp:467:56: error: incompatible types in assignment of 'float' to 'fftw_complex {aka double [2]}'
>        carrinforward [l2] = carrbuf [l1][l2] * window[l2];
>                                                         ^
> 
> m_vocoder.cpp:473:45: error: invalid array assignment
>        carrinbackward[l2] = carroutforward[l2];
>                                              ^
> 
> m_vocoder.cpp:491:45: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double cabs(__complex__ double)'
>     modmap[l2] += cabs (modoutforward[l2 + i]);
>                                              ^
> 
> m_vocoder.cpp:498:40: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double cabs(__complex__ double)'
>   modmap[l2] += cabs( modoutforward [i] );
>                                         ^
> 
> m_vocoder.cpp:501:40: error: cannot convert 'double*' to '__complex__ double' for argument '1' to 'double cabs(__complex__ double)'
>   modmap[l2] -= cabs( modoutforward [i] );
>                                         ^
> 
> m_vocoder.cpp:518:47: error: invalid operands of types 'fftw_complex {aka double [2]}' and 'float' to binary 'operator*'
>        carrinbackward[l2] = carroutforward[l2] * armodmap[l2];
>                             ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
> 
> m_vocoder.cpp:528:32: error: invalid operands of types 'fftw_complex {aka double [2]}' and 'float' to binary 'operator/'
>   (creal(carroutbackward[offset]/window[offset])) / (fftsize * 100);
>          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
> 

-- 
Martin Michlmayr
Linux for HPE Helion, Hewlett Packard Enterprise



More information about the pkg-multimedia-maintainers mailing list