Bug 224379 - Digikam doesn't compile (problem with advanced slideshow)
Summary: Digikam doesn't compile (problem with advanced slideshow)
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Portability-Compilation (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-26 20:25 UTC by Michael
Modified: 2017-08-19 20:59 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 1.1.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael 2010-01-26 20:25:41 UTC
Version:           svn from today (using Devel)
OS:                Linux
Installed from:    Compiled sources

Working on ubuntu 9.10 with latest kubuntu kde backports I get the following compile error

Building CXX object kipi-plugins/advancedslideshow/CMakeFiles/kipiplugin_advancedslideshow.dir/commoncontainer.o
In file included from /home/m/src/digikam/graphics/kipi-plugins/advancedslideshow/commoncontainer.cpp:25:
/home/m/src/digikam/graphics/kipi-plugins/advancedslideshow/commoncontainer.h:39:31: error: Phonon/VolumeSlider: No such file or directory
In file included from /home/m/src/digikam/graphics/kipi-plugins/advancedslideshow/commoncontainer.cpp:25:
/home/m/src/digikam/graphics/kipi-plugins/advancedslideshow/commoncontainer.h:127: error: ‘Phonon’ has not been declared
/home/m/src/digikam/graphics/kipi-plugins/advancedslideshow/commoncontainer.h:127: error: expected ‘{’ before ‘VolumeSlider’
/home/m/src/digikam/graphics/kipi-plugins/advancedslideshow/commoncontainer.h:128: error: invalid type in declaration before ‘{’ token
/home/m/src/digikam/graphics/kipi-plugins/advancedslideshow/commoncontainer.h:128: warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x
/home/m/src/digikam/graphics/kipi-plugins/advancedslideshow/commoncontainer.h:130: error: expected primary-expression before ‘public’
/home/m/src/digikam/graphics/kipi-plugins/advancedslideshow/commoncontainer.h:130: error: expected ‘}’ before ‘public’
/home/m/src/digikam/graphics/kipi-plugins/advancedslideshow/commoncontainer.h:130: error: expected ‘,’ or ‘;’ before ‘public’
/home/m/src/digikam/graphics/kipi-plugins/advancedslideshow/commoncontainer.h:135: error: expected declaration before ‘}’ token
make[2]: *** [kipi-plugins/advancedslideshow/CMakeFiles/kipiplugin_advancedslideshow.dir/commoncontainer.o] Fehler 1
make[1]: *** [kipi-plugins/advancedslideshow/CMakeFiles/kipiplugin_advancedslideshow.dir/all] Fehler 2
make: *** [all] Fehler 2

greets mike
Comment 1 Johannes Wienke 2010-01-26 20:32:23 UTC
Looks like you're missing the phonon development files.
Comment 2 Michael 2010-01-27 16:20:45 UTC
libphonon-dev and libqt4-phonon-dev are both installed in the matching version 4.6.

More ideas?

greets mike
Comment 3 caulier.gilles 2010-01-28 09:24:00 UTC
Compiler crying about this header not found :

http://lxr.kde.org/source/extragear/graphics/kipi-plugins/advancedslideshow/commoncontainer.h#39

Can you found this header file in your computer ?

This header content is given below :

http://websvn.kde.org/trunk/qt-copy/include/Phonon/VolumeSlider?view=markup

Gilles Caulier
Comment 4 Michael 2010-01-28 16:28:28 UTC
I have volumeslider.h in /usr/include/qt4/phonon

Is there a way to compile without advanced slideshow for the meantime?

greets mike

Listing: 

/*  This file is part of the KDE project
    Copyright (C) 2006-2007 Matthias Kretz <kretz@kde.org>

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) version 3, or any
    later version accepted by the membership of KDE e.V. (or its
    successor approved by the membership of KDE e.V.), Nokia Corporation 
    (or its successors, if any) and the KDE Free Qt Foundation, which shall
    act as a proxy defined in Section 6 of version 3 of the license.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public 
    License along with this library.  If not, see <http://www.gnu.org/licenses/>.

*/

#ifndef PHONON_UI_VOLUMESLIDER_H
#define PHONON_UI_VOLUMESLIDER_H

#include "phonon_export.h"
#include "phonondefs.h"
#include <QtGui/QWidget>

QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE

#ifndef QT_NO_PHONON_VOLUMESLIDER

namespace Phonon
{
class AudioOutput;
class VolumeSliderPrivate;

/** \class VolumeSlider volumeslider.h Phonon/VolumeSlider
 * \short Widget providing a slider to control the volume of an AudioOutput.
 *
 * \ingroup PhononWidgets
 * \author Matthias Kretz <kretz@kde.org>
 */
class PHONON_EXPORT VolumeSlider : public QWidget
{
    Q_OBJECT
    K_DECLARE_PRIVATE(VolumeSlider)
    /**
     * This property holds the maximum volume that can be set with this slider.
     *
     * By default the maximum value is 1.0 (100%).
     */
    Q_PROPERTY(qreal maximumVolume READ maximumVolume WRITE setMaximumVolume)
    /**
     * This property holds the orientation of the slider.
     *
     * The orientation must be Qt::Vertical (the default) or Qt::Horizontal.
     */
    Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation)

    /**
     * This property holds whether slider tracking is enabled.
     *
     * If tracking is enabled (the default), the volume changes
     * while the slider is being dragged. If tracking is
     * disabled, the volume changes only when the user
     * releases the slider.
     */
    Q_PROPERTY(bool tracking READ hasTracking WRITE setTracking)

    /**
     * This property holds the page step.
     *
     * The larger of two natural steps that a slider provides and
     * typically corresponds to the user pressing PageUp or PageDown.
     *
     * Defaults to 5 (5% of the voltage).
     */
    Q_PROPERTY(int pageStep READ pageStep WRITE setPageStep)

    /**
     * This property holds the single step.
     *
     * The smaller of two natural steps that a slider provides and
     * typically corresponds to the user pressing an arrow key.
     *
     * Defaults to 1 (1% of the voltage).
     */
    Q_PROPERTY(int singleStep READ singleStep WRITE setSingleStep)

    /**
     * This property holds whether the mute button/icon next to the slider is visible.
     *
     * By default the mute button/icon is visible.
     */
    Q_PROPERTY(bool muteVisible READ isMuteVisible WRITE setMuteVisible)

    /**
     * \brief the icon size used for the mute button/icon.
     *
     * The default size is defined by the GUI style.
     */
    Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize)
    public:
        /**
         * Constructs a new volume slider with a \p parent.
         */
        explicit VolumeSlider(QWidget *parent = 0);
        explicit VolumeSlider(AudioOutput *, QWidget *parent = 0);
        ~VolumeSlider();

        bool hasTracking() const;
        void setTracking(bool tracking);
        int pageStep() const;
        void setPageStep(int milliseconds);
        int singleStep() const;
        void setSingleStep(int milliseconds);
        bool isMuteVisible() const;
        QSize iconSize() const;
        qreal maximumVolume() const;
        Qt::Orientation orientation() const;
        AudioOutput *audioOutput() const;

    public Q_SLOTS:
        void setMaximumVolume(qreal);
        void setOrientation(Qt::Orientation);
        void setMuteVisible(bool);
        void setIconSize(const QSize &size);

        /**
         * Sets the audio output object to be controlled by this slider.
         */
        void setAudioOutput(Phonon::AudioOutput *);

    protected:
        VolumeSliderPrivate *const k_ptr;

    private:
        Q_PRIVATE_SLOT(k_ptr, void _k_sliderChanged(int))
        Q_PRIVATE_SLOT(k_ptr, void _k_volumeChanged(qreal))
        Q_PRIVATE_SLOT(k_ptr, void _k_mutedChanged(bool))
        Q_PRIVATE_SLOT(k_ptr, void _k_buttonClicked())
};

} // namespace Phonon

#endif //QT_NO_PHONON_VOLUMESLIDER

QT_END_NAMESPACE
QT_END_HEADER

// vim: sw=4 ts=4 et
#endif // PHONON_UI_VOLUMESLIDER_H
Comment 5 Michael 2010-01-28 23:18:45 UTC
After cleaning up the packages of Ubuntu 9.10 it compiles now without problems.

greets mike
Comment 6 Nikola Cakelic 2010-02-07 08:59:07 UTC
(In reply to comment #5)
> After cleaning up the packages of Ubuntu 9.10 it compiles now without problems.
> 
> greets mike

Hello, can you please explain what did you do about "cleaning up the packages"? I have the same compile problem in Kubuntu 9.10 with kde-beta-backports PPA repository. Thank you.
Comment 7 Michael 2010-02-07 17:09:15 UTC
I just removed the phonen dev packages completely with synaptic and installed them again afterwards...

greete mike
Comment 8 David Feliu 2010-02-26 13:33:42 UTC
Same here, same solution.

David
Comment 9 Von Wallace 2010-03-17 01:50:44 UTC
I had similar problem here is what I did..

1. Remove all softlinks to /usr/include/qt4/phonon

2. Reinstalled anything that said phonon.. (this did not fix it just yet)

3. Then issued the following command as root
cd /usr/include
ln -s /usr/include/qt4/phonon phonon

All is good!