Debian Bug report logs - #290467
tellico: FTBFS (amd64/gcc-4.0): incomplete type 'Tellico::Data::FileHandler' used in nested name specifier

Package: tellico; Maintainer for tellico is Regis Boudin <regis@debian.org>; Source for tellico is src:tellico.

Reported by: Andreas Jochens <aj@andaco.de>

Date: Fri, 14 Jan 2005 16:33:22 UTC

Severity: normal

Tags: patch

Done: Regis Boudin <regis@boudin.name>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Regis Boudin <regis@boudin.name>:
Bug#290467; Package tellico. Full text and rfc822 format available.

Acknowledgement sent to Andreas Jochens <aj@andaco.de>:
New Bug report received and forwarded. Copy sent to Regis Boudin <regis@boudin.name>. Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Andreas Jochens <aj@andaco.de>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: tellico: FTBFS (amd64/gcc-4.0): incomplete type 'Tellico::Data::FileHandler' used in nested name specifier
Date: Fri, 14 Jan 2005 10:55:12 +0100
Package: tellico
Severity: normal
Tags: patch

When building 'tellico' on amd64 with gcc-4.0,
I get the following error:

document.cpp: In member function 'bool Tellico::Data::Document::saveDocument(const KURL&)':
document.cpp:132: error: incomplete type 'Tellico::Data::FileHandler' used in nested name specifier
filehandler.cpp: In static member function 'static Tellico::Data::Image* Tellico::FileHandler::readImageFile(const KURL&, bool)':
image.cpp:27: error: 'Tellico::Data::Image::Image(const QString&)' is private
filehandler.cpp:126: error: within this context
imagefactory.cpp: In static member function 'static const Tellico::Data::Image& Tellico::ImageFactory::addImage(const QImage&, const QString&)':
image.cpp:36: error: 'Tellico::Data::Image::Image(const QImage&, const QString&)' is private
imagefactory.cpp:49: error: within this context
imagefactory.cpp: In static member function 'static const Tellico::Data::Image& Tellico::ImageFactory::addImage(const QByteArray&, const QString&, const QString&)':
image.cpp:43: error: 'Tellico::Data::Image::Image(const QByteArray&, const QString&, const QString&)' is private
imagefactory.cpp:71: error: within this context
make[4]: *** [tellico.all_cpp.o] Error 1
make[4]: Leaving directory `/tellico-0.13.1/src'

With the attached patch 'tellico' can be compiled
on amd64 using gcc-4.0.

Regards
Andreas Jochens

diff -urN ../tmp-orig/tellico-0.13.1/src/document.cpp ./src/document.cpp
--- ../tmp-orig/tellico-0.13.1/src/document.cpp	2004-11-25 17:51:05.000000000 +0100
+++ ./src/document.cpp	2005-01-14 10:33:05.204602973 +0100
@@ -129,7 +129,7 @@
   Export::TellicoZipExporter exporter(m_coll);
   exporter.setEntryList(m_coll->entryList());
   QByteArray data = exporter.data(false);
-  bool success = FileHandler::writeDataURL(url_, data);
+  bool success = Tellico::FileHandler::writeDataURL(url_, data);
 
 #ifndef NDEBUG
   if(!success) {
diff -urN ../tmp-orig/tellico-0.13.1/src/image.h ./src/image.h
--- ../tmp-orig/tellico-0.13.1/src/image.h	2004-10-30 02:02:27.000000000 +0200
+++ ./src/image.h	2005-01-14 10:39:21.043011102 +0100
@@ -42,11 +42,11 @@
 
   static QCString outputFormat(const QCString& inputFormat);
 
-private:
   Image(const QString& filename);
   Image(const QImage& image, const QString& format);
   Image(const QByteArray& data, const QString& format, const QString& id);
 
+private:
   QString m_id;
   QCString m_format;
 };



Information forwarded to debian-bugs-dist@lists.debian.org, Regis Boudin <regis@boudin.name>:
Bug#290467; Package tellico. Full text and rfc822 format available.

Acknowledgement sent to Regis Boudin <regis.boudin@gmail.com>:
Extra info received and forwarded to list. Copy sent to Regis Boudin <regis@boudin.name>. Full text and rfc822 format available.

Message #10 received at 290467@bugs.debian.org (full text, mbox):

From: Regis Boudin <regis.boudin@gmail.com>
To: Andreas Jochens <aj@andaco.de>, 290467@bugs.debian.org
Subject: Re: Bug#290467: tellico: FTBFS (amd64/gcc-4.0): incomplete type 'Tellico::Data::FileHandler' used in nested name specifier
Date: Fri, 14 Jan 2005 17:06:48 +0000
Hi,

Thanks for the report. I will check all this in a couple of hours. It
seems to be a gcc-4.0 related thing, so I should be able to reproduce
it on i386.

Best Regards,
Regis

On Fri, 14 Jan 2005 10:55:12 +0100, Andreas Jochens <aj@andaco.de> wrote:
> Package: tellico
> Severity: normal
> Tags: patch
> 
> When building 'tellico' on amd64 with gcc-4.0,
> I get the following error:
> 
> document.cpp: In member function 'bool Tellico::Data::Document::saveDocument(const KURL&)':
> document.cpp:132: error: incomplete type 'Tellico::Data::FileHandler' used in nested name specifier
> filehandler.cpp: In static member function 'static Tellico::Data::Image* Tellico::FileHandler::readImageFile(const KURL&, bool)':
> image.cpp:27: error: 'Tellico::Data::Image::Image(const QString&)' is private
> filehandler.cpp:126: error: within this context
> imagefactory.cpp: In static member function 'static const Tellico::Data::Image& Tellico::ImageFactory::addImage(const QImage&, const QString&)':
> image.cpp:36: error: 'Tellico::Data::Image::Image(const QImage&, const QString&)' is private
> imagefactory.cpp:49: error: within this context
> imagefactory.cpp: In static member function 'static const Tellico::Data::Image& Tellico::ImageFactory::addImage(const QByteArray&, const QString&, const QString&)':
> image.cpp:43: error: 'Tellico::Data::Image::Image(const QByteArray&, const QString&, const QString&)' is private
> imagefactory.cpp:71: error: within this context
> make[4]: *** [tellico.all_cpp.o] Error 1
> make[4]: Leaving directory `/tellico-0.13.1/src'
> 
> With the attached patch 'tellico' can be compiled
> on amd64 using gcc-4.0.
> 
> Regards
> Andreas Jochens
> 
> diff -urN ../tmp-orig/tellico-0.13.1/src/document.cpp ./src/document.cpp
> --- ../tmp-orig/tellico-0.13.1/src/document.cpp 2004-11-25 17:51:05.000000000 +0100
> +++ ./src/document.cpp  2005-01-14 10:33:05.204602973 +0100
> @@ -129,7 +129,7 @@
>    Export::TellicoZipExporter exporter(m_coll);
>    exporter.setEntryList(m_coll->entryList());
>    QByteArray data = exporter.data(false);
> -  bool success = FileHandler::writeDataURL(url_, data);
> +  bool success = Tellico::FileHandler::writeDataURL(url_, data);
> 
>  #ifndef NDEBUG
>    if(!success) {
> diff -urN ../tmp-orig/tellico-0.13.1/src/image.h ./src/image.h
> --- ../tmp-orig/tellico-0.13.1/src/image.h      2004-10-30 02:02:27.000000000 +0200
> +++ ./src/image.h       2005-01-14 10:39:21.043011102 +0100
> @@ -42,11 +42,11 @@
> 
>    static QCString outputFormat(const QCString& inputFormat);
> 
> -private:
>    Image(const QString& filename);
>    Image(const QImage& image, const QString& format);
>    Image(const QByteArray& data, const QString& format, const QString& id);
> 
> +private:
>    QString m_id;
>    QCString m_format;
>  };
> 
>



Information forwarded to debian-bugs-dist@lists.debian.org, Regis Boudin <regis@boudin.name>:
Bug#290467; Package tellico. Full text and rfc822 format available.

Acknowledgement sent to Robby Stephenson <robby@periapsis.org>:
Extra info received and forwarded to list. Copy sent to Regis Boudin <regis@boudin.name>. Full text and rfc822 format available.

Message #15 received at 290467@bugs.debian.org (full text, mbox):

From: Robby Stephenson <robby@periapsis.org>
To: Andreas Jochens <aj@andaco.de>, 290467@bugs.debian.org
Subject: Re: tellico: FTBFS (amd64/gcc-4.0): incomplete type 'Tellico::Data::FileHandler' used in nested name specifier
Date: Tue, 25 Jan 2005 20:45:20 -0800
On Friday 14 January 2005 1:55, you wrote:
> When building 'tellico' on amd64 with gcc-4.0,
> I get the following error:
...
> With the attached patch 'tellico' can be compiled
> on amd64 using gcc-4.0.

> diff -urN ../tmp-orig/tellico-0.13.1/src/document.cpp ./src/document.cpp
> --- ../tmp-orig/tellico-0.13.1/src/document.cpp	2004-11-25
> 17:51:05.000000000 +0100 +++ ./src/document.cpp	2005-01-14
> 10:33:05.204602973 +0100
> @@ -129,7 +129,7 @@
>    Export::TellicoZipExporter exporter(m_coll);
>    exporter.setEntryList(m_coll->entryList());
>    QByteArray data = exporter.data(false);
> -  bool success = FileHandler::writeDataURL(url_, data);
> +  bool success = Tellico::FileHandler::writeDataURL(url_, data);

Is this change enough to fix the compilation?

> diff -urN ../tmp-orig/tellico-0.13.1/src/image.h ./src/image.h
> --- ../tmp-orig/tellico-0.13.1/src/image.h	2004-10-30 02:02:27.000000000
> +0200 +++ ./src/image.h	2005-01-14 10:39:21.043011102 +0100
> @@ -42,11 +42,11 @@
>
>    static QCString outputFormat(const QCString& inputFormat);
>
> -private:
>    Image(const QString& filename);
>    Image(const QImage& image, const QString& format);
>    Image(const QByteArray& data, const QString& format, const QString&
> id);

I'd like to keep these private, just to keep me from bad mistakes in the 
future. The Image class declares FileHandler as a friend, so I'm confused 
about why it can't call a private constructor. My c++ skills are lacking 
here.

Regis, do you have any help?

Thanks for the report, Andreas.

Robby



Information forwarded to debian-bugs-dist@lists.debian.org, Regis Boudin <regis@boudin.name>:
Bug#290467; Package tellico. Full text and rfc822 format available.

Acknowledgement sent to Regis Boudin <regis.boudin@gmail.com>:
Extra info received and forwarded to list. Copy sent to Regis Boudin <regis@boudin.name>. Full text and rfc822 format available.

Message #20 received at 290467@bugs.debian.org (full text, mbox):

From: Regis Boudin <regis.boudin@gmail.com>
To: Robby Stephenson <robby@periapsis.org>, 290467@bugs.debian.org
Subject: Re: Bug#290467: tellico: FTBFS (amd64/gcc-4.0): incomplete type 'Tellico::Data::FileHandler' used in nested name specifier
Date: Sun, 30 Jan 2005 19:47:44 +0000
Hi,

Sorry for the delay, some machine problems.

On Tue, 25 Jan 2005 20:45:20 -0800, Robby Stephenson
<robby@periapsis.org> wrote:
> On Friday 14 January 2005 1:55, you wrote:
> > When building 'tellico' on amd64 with gcc-4.0,
> > I get the following error:
> ...
> > With the attached patch 'tellico' can be compiled
> > on amd64 using gcc-4.0.

Andreas, apparently, I haven't a complete gcc-4.0 system, I get
linking errors even with your patches. I What do I need precisely to
build it ? What is the exact process ?

> 
> > diff -urN ../tmp-orig/tellico-0.13.1/src/document.cpp ./src/document.cpp
> > --- ../tmp-orig/tellico-0.13.1/src/document.cpp       2004-11-25
> > 17:51:05.000000000 +0100 +++ ./src/document.cpp       2005-01-14
> > 10:33:05.204602973 +0100
> > @@ -129,7 +129,7 @@
> >    Export::TellicoZipExporter exporter(m_coll);
> >    exporter.setEntryList(m_coll->entryList());
> >    QByteArray data = exporter.data(false);
> > -  bool success = FileHandler::writeDataURL(url_, data);
> > +  bool success = Tellico::FileHandler::writeDataURL(url_, data);
> 
> Is this change enough to fix the compilation?

For a first part, yes.

> 
> > diff -urN ../tmp-orig/tellico-0.13.1/src/image.h ./src/image.h
> > --- ../tmp-orig/tellico-0.13.1/src/image.h    2004-10-30 02:02:27.000000000
> > +0200 +++ ./src/image.h       2005-01-14 10:39:21.043011102 +0100
> > @@ -42,11 +42,11 @@
> >
> >    static QCString outputFormat(const QCString& inputFormat);
> >
> > -private:
> >    Image(const QString& filename);
> >    Image(const QImage& image, const QString& format);
> >    Image(const QByteArray& data, const QString& format, const QString&
> > id);
> 
> I'd like to keep these private, just to keep me from bad mistakes in the
> future. The Image class declares FileHandler as a friend, so I'm confused
> about why it can't call a private constructor. My c++ skills are lacking
> here.
> 
> Regis, do you have any help?

I'm not originally a C++ specialist, but after some tracking, I found
it's the same problem as with the first fix. It seems that gcc 4 is
very strict with friend classes. I'm testing another fix which should
fit better with what you want to do.

Thanks all for your help.

Regis



Reply sent to regis@boudin.name:
You have taken responsibility. Full text and rfc822 format available.

Notification sent to Andreas Jochens <aj@andaco.de>:
Bug acknowledged by developer. Full text and rfc822 format available.

Message #25 received at 290467-done@bugs.debian.org (full text, mbox):

From: Regis Boudin <regis@boudin.name>
To: 290467-done@bugs.debian.org
Subject: Fixed since 0.13.2
Date: Thu, 03 Mar 2005 17:06:50 +0000
The necessary modifications were applied upstream in tellico 0.13.2. My 
package was not uploaded and the bug not closed, sorry. From now I try 
to build every version with gcc-4.0 so this problem should not happend 
again.

Regards,
Regis




Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Mon Apr 21 10:24:55 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.