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.
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 */
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").
Created attachment 2994 icalss.h from libical this is icalss.h from my ubuntu system. version is 0.44
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?
just fyi: you can workaround this issue by using Orage's internal libical: ./configure --disable-libical
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