Bug 723157 - rasqal.h is reported missing when <redland.h>is included
Summary: rasqal.h is reported missing when <redland.h>is included
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: redland
Version: 15
Hardware: x86_64
OS: Linux
unspecified
low
Target Milestone: ---
Assignee: Thomas Vander Stichele
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-07-19 09:06 UTC by Pierre Blavy
Modified: 2011-07-19 15:50 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-07-19 10:34:16 UTC
Type: ---


Attachments (Terms of Use)

Description Pierre Blavy 2011-07-19 09:06:37 UTC
Description of problem:
Hello,
When I include <redland.h> in a C++ code, I get the following error:
/usr/include/librdf.h:33:20: erreur fatale: rasqal.h : Aucun fichier ou dossier de ce type


How reproducible: 
always


Steps to Reproduce:
1. Write in a cpp file
#include <redland.h> 
int main(int char**){return 0;}

2. compile it with gcc


Expected results:Compilation should work without any trick

Additional info:

Workaround : 
add -I/usr/include/rasqal to the compile line

Patch: 
edit /usr/include/librdf.h
replace #include <rasqal.h>
with    #include <rasqal/rasqal.h>

edit /usr/include/rdf_init.h
replace #include <rasqal.h>
with    #include <rasqal/rasqal.h>

Comment 1 Kevin Kofler 2011-07-19 10:34:16 UTC
$ pkg-config --cflags redland
-I/usr/include/rasqal

Comment 2 Orcan Ogetbil 2011-07-19 13:47:38 UTC
Exactly, it is not the job of the compiler to guess the include directories of your libraries. There are tools such as pkg-config that does the job. Afaik, most build tools (cmake, scons, waf, autohell, ...) have pkg-config functionality integrated in them for convenience.

Comment 3 Pierre Blavy 2011-07-19 14:19:00 UTC
The installed packages have to be consistent, therefore I think /usr/include/rdf_init.h and /usr/include/librdf.h should have includes consistent with the folder where librdf.h is stored.

Comment 4 Orcan Ogetbil 2011-07-19 15:50:12 UTC
The packages we have in Fedora which use the redland library are quite consistent.

Take a look at the output of
$ repoquery --whatrequires --alldeps redland
to see what packages need redland. If you look at the build systems of these packages, you will see that they use pkg-config to pass the necessary include flags to the compiler.

You can also check this through the build logs. For example, here is a list of our ardour builds. You can find the relevant build logs by following the links there.
http://koji.fedoraproject.org/koji/packageinfo?packageID=1320


Note You need to log in before you can comment on or make changes to this bug.