Bug 140207 - kdepim 3.5.6 compilation failure in kpilot errors in vcalRecord.cc
Summary: kdepim 3.5.6 compilation failure in kpilot errors in vcalRecord.cc
Status: RESOLVED FIXED
Alias: None
Product: kpilot
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: groot
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-17 20:16 UTC by Elan Ruusamäe
Modified: 2007-01-18 14:40 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Elan Ruusamäe 2007-01-17 20:16:59 UTC
Version:            (using KDE KDE 3.5.5)
Installed from:    Compiled From Sources
Compiler:          gcc version 3.3.6 (PLD Linux)
OS:                Linux (x86_64) release 2.6.16.35-1smp

compilation fails with:


../conduits/vcalconduit $ make
if /bin/sh ../../../libtool --silent --tag=CXX --mode=compile ccache amd64-pld-linux-g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../kpilot/lib -I../../..  -I../../../libkdepim -I/usr/include/qt -I/usr/X11R6/include   -DQT_THREAD_SUPPORT  -D_REENTRANT  -DHAVE_BOOST -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -MT vcalRecord.lo -MD -MP -MF ".deps/vcalRecord.Tpo" -c -o vcalRecord.lo vcalRecord.cc; \
then mv -f ".deps/vcalRecord.Tpo" ".deps/vcalRecord.Plo"; else rm -f ".deps/vcalRecord.Tpo"; exit 1; fi
vcalRecord.cc: In static member function `static void
   VCalRecord::setCategory(PilotDateEntry*, const KCal::Event*)':
vcalRecord.cc:587: error: invalid conversion from `int' to `const char*'
vcalRecord.cc:587: error:   initializing argument 1 of `QString::QString(const
   char*)'
vcalRecord.cc:626: error: invalid conversion from `int' to `const char*'
vcalRecord.cc:626: error:   initializing argument 1 of `QString::QString(const
   char*)'
make: *** [vcalRecord.lo] Error 1


used tarball: e37e6173fe9fd7f242c9502a4ae1d7de: kdepim-3.5.6.tar.bz2
and sources: 
b480dbd0622819d8f1c51a086fa19167  kdepim-3.5.6/kpilot/lib/pilot.h
6d555c797098acf3c88f6fe189ddebb0  kdepim-3.5.6/kpilot/lib/pilotDateEntry.h
75afd23dd321562a9e9302bb7887cbe5 kdepim-3.5.6/kpilot/conduits/vcalconduit/vcalRecord.cc
Comment 1 Elan Ruusamäe 2007-01-17 20:22:53 UTC
maybe this helps:

kpilot/conduits/vcalconduit/vcalRecord.cc:
void VCalRecord::setCategory(PilotDateEntry *de, const KCal::Event *e)
{
...
    if (eventCategories.size() < 1)
    {
        // This event has no categories.
line 587:        de->setCategory(Pilot::Unfiled);


kpilot/lib/pilot.h:
namespace Pilot
{
...
    /** Category number for unfiled records */
    static const int Unfiled = 0;


kpilot/lib/pilotDateEntry.h:
/** This class is a wrapper for pilot-link's datebook entries (struct Appointment). */
class KDE_EXPORT PilotDateEntry : public PilotRecordBase
{
...
    inline bool setCategory(const QString &label)
    {
        int c = Pilot::insertCategory(&fAppInfo.category,label,false);
        PilotRecordBase::setCategory(c);
        return c>=0;
    } ;
Comment 2 groot 2007-01-17 23:45:29 UTC
On Wednesday 17 January 2007 20:22, Elan RuusamXXe wrote:
> maybe this helps:
>
> line 587:        de->setCategory(Pilot::Unfiled);


It does, thank you. I'm test-compiling something now.
Comment 3 groot 2007-01-18 00:13:14 UTC
SVN commit 624745 by adridg:

Fix compile error w/ base class methods not being called.
BUG: 140207


 M  +1 -1      vcalRecord.cc  


--- branches/KDE/3.5/kdepim/kpilot/conduits/vcalconduit/vcalRecord.cc #624744:624745
@@ -584,7 +584,7 @@
 	if (eventCategories.size() < 1)
 	{
 		// This event has no categories.
-		de->setCategory(Pilot::Unfiled);
+		(PilotRecordBase *)de->setCategory(Pilot::Unfiled);
 		return;
 	}
 
Comment 4 Elan Ruusamäe 2007-01-18 13:40:31 UTC
it did not fix the problem

vcalRecord.cc: In static member function `static void
   VCalRecord::setCategory(PilotDateEntry*, const KCal::Event*)':
vcalRecord.cc:587: error: invalid conversion from `int' to `const char*'
vcalRecord.cc:587: error:   initializing argument 1 of `QString::QString(const
   char*)'
vcalRecord.cc:626: error: invalid conversion from `int' to `const char*'
vcalRecord.cc:626: error:   initializing argument 1 of `QString::QString(const
   char*)'
make[4]: *** [vcalRecord.lo] Error 1
make[4]: Leaving directory `/home/builder/rpm/pld/BUILD/kdepim-3.5.6/kpilot/conduits/vcalconduit'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/builder/rpm/pld/BUILD/kdepim-3.5.6/kpilot/conduits'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/builder/rpm/pld/BUILD/kdepim-3.5.6/kpilot'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/builder/rpm/pld/BUILD/kdepim-3.5.6'
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.45164 (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.45164 (%build)
Error: package build failed. (no more info)

$ grep -n . vcalRecord.cc|grep 587:
587:            (PilotRecordBase *)de->setCategory(Pilot::Unfiled);
$ grep -n . vcalRecord.cc|grep 626:
626:    de->setCategory(Pilot::Unfiled);

used qt/gcc:
qt-3.3.7-1.amd64
gcc-3.3.6-4.amd64

perhaps it's gcc version problem because i heard success on newer gcc:
qt-3.3.7-5.i686
gcc-4.2.0-0.20070106r120523.1.i686
Comment 5 Elan Ruusamäe 2007-01-18 13:54:11 UTC
hello, this fixes the compile problem now on gcc-3.3.6:

http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/kdepim-bug-140207.patch?rev=1.3
Comment 6 groot 2007-01-18 14:28:06 UTC
SVN commit 624937 by adridg:

Fix casting following patch from pl-
BUG: 140207


 M  +2 -2      vcalRecord.cc  


--- branches/KDE/3.5/kdepim/kpilot/conduits/vcalconduit/vcalRecord.cc #624936:624937
@@ -584,7 +584,7 @@
 	if (eventCategories.size() < 1)
 	{
 		// This event has no categories.
-		(PilotRecordBase *)de->setCategory(Pilot::Unfiled);
+		((PilotRecordBase *)de)->setCategory(Pilot::Unfiled);
 		return;
 	}
 
@@ -623,6 +623,6 @@
 		}
 	}
 
-	de->setCategory(Pilot::Unfiled);
+	((PilotRecordBase *)de)->setCategory(Pilot::Unfiled);
 }