! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Orage fails to find libical headers with libical-0.44
Status:
CLOSED: WORKSFORME

Comments

Description Christoph Mende 2010-05-23 16:47:09 CEST
In file included from ical-archive.c:56:
/usr/include/libical/icalss.h:38:27: error: icalcomponent.h: No such file or directory
/usr/include/libical/icalss.h:111:23: error: icalgauge.h: No such file or directory
/usr/include/libical/icalss.h:282:21: error: icalset.h: No such file or directory
/usr/include/libical/icalss.h:342:25: error: icalcluster.h: No such file or directory

This comes from the fact that those files are in /usr/include/libical/ and pkg-config only returns -I/usr/include, but AFAIK apps are not supposed to include icalss.h.
The quick&dirty fix we use in the Gentoo package now is to add -I/usr/include/libical to CFLAGS, but this should be fixed by including the correct headers. Unfortunately I'm not familiar with the libical API and am not sure how exactly to fix this.
Comment 1 juha editbugs 2010-05-25 07:12:27 CEST
That looks strange. my icalss.h does not include any other h files. It is the collection of those files. And I am using 0.44 and already fixed an issue 
described in http://bugzilla.xfce.org/show_bug.cgi?id=6288
Perhaps you have not compiled libical?


My icalcc looks like this (it does not include icalcluster, but has copied it):
/* -*- Mode: C -*- */
/*======================================================================
 FILE: icalcluster.h
 CREATOR: eric 23 December 1999


 $Id: icalcluster.h,v 1.4 2008-01-02 20:07:40 dothebart Exp $
 $Locker:  $

 (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org

 This program is free software; you can redistribute it and/or modify
 it under the terms of either: 

    The LGPL as published by the Free Software Foundation, version
    2.1, available at: http://www.fsf.org/copyleft/lesser.html

  Or:

    The Mozilla Public License Version 1.0. You may obtain a copy of
    the License at http://www.mozilla.org/MPL/

 The Original Code is eric. The Initial Developer of the Original
 Code is Eric Busboom


======================================================================*/

#ifndef ICALCLUSTER_H
#define ICALCLUSTER_H

#include <libical/ical.h>


typedef struct icalcluster_impl icalcluster;

icalcluster* icalcluster_new(const char *key, icalcomponent *data);
icalcluster* icalcluster_new_clone(const icalcluster *cluster);

void icalcluster_free(icalcluster *cluster);

const char* icalcluster_key(icalcluster *cluster);
int icalcluster_is_changed(icalcluster *cluster);
void icalcluster_mark(icalcluster *cluster);
void icalcluster_commit(icalcluster *cluster);

icalcomponent* icalcluster_get_component(icalcluster* cluster);
int icalcluster_count_components(icalcluster *cluster, icalcomponent_kind kind);
icalerrorenum icalcluster_add_component(icalcluster* cluster,
                    icalcomponent* child);
icalerrorenum icalcluster_remove_component(icalcluster* cluster,
                       icalcomponent* child);

icalcomponent* icalcluster_get_current_component(icalcluster* cluster);
icalcomponent* icalcluster_get_first_component(icalcluster* cluster);
icalcomponent* icalcluster_get_next_component(icalcluster* cluster);

#endif /* !ICALCLUSTER_H */
Comment 2 Christoph Mende 2010-05-25 09:01:33 CEST
Well, beside the fact that icalcluster.h is not the interesting file (the error comes from icalss.h), my icalcluster.h also includes <icalset.h> which of course isn't available.
Same for icalss.h which does the following:
~ % grep include /usr/include/libical/icalss.h 
38:#include <icalcomponent.h>

I'm kinda inclined to blame libical here after reading https://bugs.gentoo.org/show_bug.cgi?id=297401 again.
Comment #4 states that it's the app's fault (which is why I filed this bug), then again this doesn't make sense (see my comment). Plus I think debian "fixed" this by changing the system includes to local includes (i.e. line 38 icalss.h to #include "icalcomponent.h").
Comment 3 juha editbugs 2010-05-25 09:06:36 CEST
Created attachment 2994 
icalss.h from libical

this is icalss.h from my ubuntu system. version is 0.44
Comment 4 juha editbugs 2010-05-25 09:07:53 CEST
The code snippet was from icalss.h and was shown to demonstrate that my icalss.h does not have any include statements, so how can it fail?

Is your icalss.h different then?
Comment 5 juha editbugs 2010-05-25 09:18:03 CEST
just fyi: you can workaround this issue by using Orage's internal libical:
./configure --disable-libical
Comment 6 Christoph Mende 2010-05-25 11:41:31 CEST
Created attachment 2995 
icalss.h diff

diff of your icalss.h against mine.
Like I said, debian (and Ubuntu) patch their libical, so this might actually be a libical bug despite what has been said in the Gentoo bug.
Using the bundled libical is not an option for me since Gentoo policy forces me to use the system one.
For now I'm going with my workaround (added -I/usr/include/libical to the build system for orage, which is definitely not what you should do heh) and wait for a response on the libical bug

Bug #6473

Reported by:
Christoph Mende
Reported on: 2010-05-23
Last modified on: 2011-01-18

People

CC List:
0 users

Version

Version:
unspecified

Attachments

icalss.h from libical (23.50 KB, text/plain)
2010-05-25 09:06 CEST , juha
no flags
icalss.h diff (3.77 KB, patch)
2010-05-25 11:41 CEST , Christoph Mende
no flags

Additional information