• Bug#266533: kinoplus: FTBFS with gcc-3.4: there are no arguments to `ri

    From Andreas Jochens@1:229/2 to All on Wed Aug 18 10:10:11 2004
    From: [email protected]

    Package: kinoplus
    Severity: normal
    Tags: patch

    When building 'kinoplus' with gcc-3.4 I get the following error:

    time_map.h: In member function `Entry* TimeMap<Entry>::SetEditable(double, bool)':
    time_map.h:258: error: there are no arguments to `rint' that depend on a template parameter, so a declaration of `rint' must be available
    In file included from book.cc:29:
    kino_plugin_utility.h: In member function `void kino::convolve_filter<PixelType>::push_weight(double)':
    kino_plugin_utility.h:84: error: `accumulate' is not a member of `std' kino_plugin_utility.h: In member function `PixelType kino::convolve_filter<PixelType>::get_value(unsigned int, unsigned int)':
    kino_plugin_utility.h:135: error: `accumulate' is not a member of `std' book.cc: In member function `virtual void FfmpegImport::CreateFrame(uint8_t*, int, int, double, double)':
    book.cc:2757: warning: cast from pointer to integer of different size book.cc:2762: warning: cast from pointer to integer of different size
    book.cc: In member function `int FfmpegImport::Refresh(char*)':
    book.cc:2899: warning: cast to pointer from integer of different size book.cc:2908: warning: cast to pointer from integer of different size
    make[3]: *** [book.lo] Error 1
    make[3]: Leaving directory `/kinoplus-0.3.2/src'

    With the attached patch 'kinoplus' can be compiled using gcc-3.4.

    Regards
    Andreas Jochens

    diff -urN ../tmp-orig/kinoplus-0.3.2/src/kino_plugin_utility.h ./src/kino_plugin_utility.h
    --- ../tmp-orig/kinoplus-0.3.2/src/kino_plugin_utility.h 2003-11-01 09:55:38.000000000 +0100
    +++ ./src/kino_plugin_utility.h 2004-08-18 09:48:46.420723609 +0200
    @@ -81,7 +81,7 @@
    m_weights.push_back(Weight);
    m_values.resize(m_weights.size());

    - m_scale = std::accumulate(m_weights.begin(), m_weights.end(), 0.0);
    + m_scale = accumulate(m_weights.begin(), m_weights.end(), 0.0);
    if(m_scale)
    m_scale = 1.0 / m_scale;
    }
    @@ -132,7 +132,7 @@

    PixelType get_value(const unsigned int Start, const unsigned int End)
    {
    - double scale = std::accumulate(m_weights.begin() + Start, m_weights.begin() + End, 0.0);
    + double scale = accumulate(m_weights.begin() + Start, m_weights.begin() + End, 0.0);
    if(scale)
    scale = 1.0 / scale;

    diff -urN ../tmp-orig/kinoplus-0.3.2/src/time_map.h ./src/time_map.h
    --- ../tmp-orig/kinoplus-0.3.2/src/time_map.h 2003-11-01 09:56:12.000000000 +0100
    +++ ./src/time_map.h 2004-08-18 09:49:11.231951729 +0200
    @@ -21,6 +21,7 @@
    #define _KINOPLUS