Bug 467136

Summary: Compile with kdepim--iCal support is disabled--a regression from previous releases
Product: [Fedora] Fedora Reporter: John Poelstra <poelstra>
Component: taskjugglerAssignee: Ondrej Vasik <ovasik>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bkahn, kevin, ovasik, pcormier, rdieter, suzhentao
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 2.4.1-5.fc10 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-03-16 19:49:42 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 488347    
Bug Blocks:    
Attachments:
Description Flags
taskjuggler2.4.1 ical support header files and libs in fedora10
none
patch for kdepim-3.5.10 in fedora10( error with redefinition of 'struct flock' and 'struct flock64' )
none
kdepim3 libs list none

Description John Poelstra 2008-10-15 21:49:25 UTC
Description of problem:
It appears that TaskJuggler is being built differently from previous releases and as a result schedule compilation fails.

I'm trying to build a schedule that builds fine with Fedora 9 where the package versions are
taskjuggler-libs-2.4.1-1.fc9.i386
taskjuggler-2.4.1-1.fc9.i386

The error message I get with F10 is "The program was compiled without kdepim support.  Therefore ICal support has been disabled."

Version-Release number of selected component (if applicable):
taskjuggler-libs-2.4.1-3.fc10.i386
taskjuggler-2.4.1-3.fc10.i386

How reproducible:
Try to build a schedule with an iCal report definition

Comment 1 Ondrej Vasik 2008-10-16 05:48:06 UTC
That's expected and only possible behaviour - that's the reason why I did rebase to 2.4.1 in fc9 - to have latest upstream release with kdepim-3.5. Kevin Kofler updated kdepim to version 4 in rawhide - and as taskjuggler is qt3 application - it could not be used together. He tried (as he is much more experienced with Qt) to port taskjuggler to Qt4, but it seems to be too complex. Some things could be done by Qt3 compatibility functions from Qt4 but not all of them. I already asked two KDE guys (Kevin Kofler and Jaroslav Reznik) for quick investigation and possible help. Both said it will take quite a long time to have Qt4 support for taskjuggler stable. Upstream said that Qt4 support is not planned until it will be stable aproximately 1 year ago - but it seems that there is still no action from them at the moment. Any idea?

Comment 2 Rex Dieter 2008-11-07 20:03:27 UTC
Right, to get the support back quickest, would require a kdepim3 (-libs anyway) build, which doesn't currently exist in F10+.  There are a handful of apps that would benefit from it, taskjuggler being one.

That said, implementing this isn't currently on our (kde-sig's) radar.

Long term, the best solution is to get apps ported to using the kdepim4 framework.

Comment 3 Su Zhentao 2008-12-19 01:51:35 UTC
Created attachment 327401 [details]
taskjuggler2.4.1 ical support header files and libs in fedora10 

Since without kdepim 3.5.10 support, taskjuggler 2.4.1 can't build with ical support in fedora 10.
With taskjuggler2.4.1-fc10-buildsupport, taskjuggler 2.4.1 can build with ical support now.
Usage: decompress taskjuggler2.4.1-fc10-buildsupport.tar.bz2, run install_libs script with root permission, the install_libs will add ical header files and libs for taskjuggler2.4.1 building with ical.

Comment 4 Su Zhentao 2008-12-19 02:01:36 UTC
Created attachment 327402 [details]
patch for kdepim-3.5.10 in fedora10( error with redefinition of 'struct flock' and 'struct flock64' )

When compile kdepim-3.5.10 in fedora10 , error with redefinition of 'struct flock'
and 'struct flock64', use this patch, kdepim-3.5.10 can build successfully in
fedora10.

Comment 5 Su Zhentao 2008-12-19 02:19:26 UTC
If anyone prefers to get the ical support header files and libs in fedora10 by himself, a simple way is( no need to build kdepim3.5.10 ):
1. download kdepim-3.5.10.tar.bz2 from http://mirrors.isc.org/pub/kde/stable/3.5.10/src/kdepim-3.5.10.tar.bz2
2. decompress, configure
3. build in order: libkmime, libemailfunctions, libktnef, libkcal
4. get the libs ( libkcal.so.2.0.0, libktnef.so.1.0.0, libkmime.so.2.2.0 ) and headerfiles( detail in comment 3 attachment ) by yourself.
5. copy the libs and create proper links.

Comment 6 Su Zhentao 2008-12-19 04:24:49 UTC
For taskjuggler2.4.1 configure with ical support, libkcal header files( alarm.h, attachment.h, attendee.h, calendar.h, calendarlocal.h
calendarnull.h, calendarresources.h, calfilter.h, calformat.h
calstorage.h, customproperties.h, dndfactory.h, duration.h
event.h, exceptions.h, filestorage.h, freebusy.h, htmlexport.h
htmlexportsettings.h, icaldrag.h, icalformat.h, incidencebase.h
incidenceformatter.h, incidence.h, journal.h, kcalversion.h
libkcal_export.h, listbase.h, period.h, person.h, qtopiaformat.h
recurrence.h, recurrencerule.h, resourcecached.h, resourcecalendar.h
resourcelocalconfig.h, resourcelocaldirconfig.h, resourcelocaldir.h
resourcelocal.h, scheduler.h, todo.h, vcaldrag.h, vcalformat.h ) 
and file kdepimmacros.h are needed, they are needed to pass kdepim check.

For taskjuggler2.4.1 make, libkcal.so.2.0.0, libkcal.la, libktnef.so.1.0.0, libktnef.la, libkmime.so.2.2.0, libkmime.la (in /usr/lib/) and their links are needed( more details are in comment 3 attachment ).

For taskjuggler2.4.1 run, only libkcal.so.2.0.0, libktnef.so.1.0.0, libkmime.so.2.2.0 and their links ibkcal.so.2, libktnef.so.1, ibkmime.so.2 are needed.

Comment 7 Rex Dieter 2008-12-19 04:37:13 UTC
If still interested, please follow advice/plan in comment #2, create a kdepim3 package containing the items you outlined, that can install without conflict on a stock F-10 system.  Everyone wins.

Comment 8 John Poelstra 2008-12-20 01:19:51 UTC
(In reply to comment #7)
> If still interested, please follow advice/plan in comment #2, create a kdepim3
> package containing the items you outlined, that can install without conflict on
> a stock F-10 system.  Everyone wins.

@suzhentao -- using what you've figured out, would you be willing to work on what Rex is suggesting to solve this bug?

Thanks,
John

Comment 9 Su Zhentao 2008-12-21 14:33:59 UTC
Created attachment 327581 [details]
kdepim3 libs list

In Fedora10, kdepim4 is installed by default, some kdepim applications, such as kalarm,kcandy,kmail,knotes,kontact,korgnizer, use kdepim4 libs. When installed kdepim3, the K Desktop Environment of these applications regressed from "KDE 4.1.2" to  "3.5.10-1.fc10 Fedora", that sounds bad and kdepim3 shouldn't be installed in fedora10.
So if any application needs kdepim3 libs, these libs has to be added manually; meanwhile, compile needs some header files to be added manually too, please refer to the method for taskjuggler2.4.1 in comment #6.
To follow Rex and John's advices, kdepim3 installing procedure has been checked carefully. It shows that 19 folders (kontact, libkcal, kabc, kaddressbook, korganizer, calendar, kmail, akregator, kdepim, kpilot, kleo, libemailfunctions, mimelib, ksieve, qgpgme, gpgme++, ktnef, kgantt, index) are created in "/usr/include/", these folders include more than 100 header files, and kdepimmacros.h MUST be copied to "/usr/include/" too, it's VERY important to build! 
More than 50 libs have been added to "/usr/lib/", the links and .la of these libs have been added to "/usr/lib/" or "/usr/include/kde3/", about the libs list, please refer to the attachment for a detail. Those instrested in the libs can get what they want from kdepim3 easily.

Comment 10 Kevin Kofler 2009-02-24 17:11:43 UTC
I'm not too thrilled about a kdepim3 compat package just for taskjuggler. :-( Also note that the KDE 3 libkcal (which is what's needed here) also ships with a forked libical and this is not likely to ever change in the KDE 3 version. (KDE 4 now uses the system libical.)

Comment 11 Benjamin Kahn 2009-02-24 18:00:29 UTC
But taskjuggler isn't going to be ported to kde4.  (Well, there is the new version 3 which isn't ready yet and isn't at all compatible with version 2.)

taskjuggler has regressed in functionality in Fedora because a library is missing.  Sure, it would be nicer if it could use the system libical, but it doesn't.  Isn't it worth keeping taskjuggler 2 compatible with itself?

(Taskjuggler in fedora 10 is unable to compile schedules that request an icalreport)

Comment 12 Rex Dieter 2009-03-03 20:16:48 UTC
OK, here's my first try at a compat kdepim3 pkg that allows taskjuggler to build with libkcal support, see bug #488347

Comment 13 Rex Dieter 2009-03-06 16:30:46 UTC
ok, kdepim3 is in rawhide, mind if I take a stab at re-enabling this there?

(Once we know things work ok, we can do likewise for F-10 as well).

Comment 14 Ondrej Vasik 2009-03-09 15:14:58 UTC
Thanks... taskjuggler-2.4.1-7.fc11 with kdepim3 ICal support built rawhide. Waiting for F10 package to make F-10 update as well...

Comment 15 Rex Dieter 2009-03-09 15:20:45 UTC
I've got kdepim-3.5.10-1.fc10 built and tagged in the F-10 buildroot, ready too.  It and a new taskjuggler build can be pushed as an update together.

Comment 16 Fedora Update System 2009-03-09 15:57:33 UTC
taskjuggler-2.4.1-4.fc10,kdepim3-3.5.10-1.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/taskjuggler-2.4.1-4.fc10,kdepim3-3.5.10-1.fc10

Comment 17 Fedora Update System 2009-03-09 23:07:08 UTC
taskjuggler-2.4.1-4.fc10, kdepim3-3.5.10-1.fc10 has been pushed to the Fedora 10 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update taskjuggler kdepim3'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-2544

Comment 18 Fedora Update System 2009-03-11 18:03:48 UTC
taskjuggler-2.4.1-5.fc10, kdepim3-3.5.10-1.fc10 has been pushed to the Fedora 10 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update taskjuggler kdepim3'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-2544

Comment 19 Fedora Update System 2009-03-16 19:49:32 UTC
taskjuggler-2.4.1-5.fc10, kdepim3-3.5.10-1.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.