[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pkgconfig include path incorrect?
From: |
Colin Guthrie |
Subject: |
pkgconfig include path incorrect? |
Date: |
Wed, 27 Nov 2013 23:59:12 +0000 |
Hi Luke,
Hope you're keeping well?
'Twas brillig, and Luke Yelavich at 27/11/13 22:09 did gyre and gimble:
> This does make sense. I wasn't involved with that change, but was
> recently updating speech-dispatcher in Ubuntu to 0.8, and had to
> patch packages to use the include line above to be built against it.
>
> I'd take a look at the patch, but I get a 404.
Yeah, Jeremy mentioned this 404 too. In the end I removed the patch (but
thought the SVN link would still work regardless) and fixed my immediate
problem differently (in another package). Below is my longer explanation.
The problem I had was ultimately with mumble. It didn't include the
"speech-dispatcher/" path name in it's include, so when I looked at the
pkg-config file I just assumed it was missing the folder name (i.e. I
assumed the mumble code was correct in the way it was including things)
However, even when I fixed the pkg-config file, it didn't help mumble.
Turns out it wasn't using the pkg-config data anyway. So I fixed that
bit and it did work. Yay. But in the end, I just patched the full path
into the #include line anyway!
The way I figure it, the folder name is really part of the API. If there
is an API breakage at any point, the folder name can change and both
versions (old and new) can be installed in parallel most likely. Apps
ported to the new API, update their folder name. If this was silently
handled by updating the pkgconfig file, then you'd likely get more
subtle build failures due to the API change rather than a simple "file
not found" error.
So I guess I now think that the apps should just be updated to include
the path in their #include.
As speech-dispatcher 0.7 didn't ship a pkg-config file (from what I can
see), adding in the dir to the file actually won't help any existing
apps and they would need updating to use pkg-config details anyway - so
when fixing that, you may as fill just fix the includes too.
For reference, this was the patch:
http://svnweb.mageia.org/packages/cauldron/speech-dispatcher/current/SOURCES/speech-dispatcher-0.8-pkgconfig-includedir-fix.patch?view=markup&pathrev=553723
but as mentioned above, I've now removed it again and I don't think it
makes sense for upstream (reading up a bit more on the project history
and the lack of a pkg-config file in 0.7, I think it's just a general
"API breakage" that downstreams just need to deal with (and I use the
term "API breakage" very loosely here)e
Also for reference here is my mumble patch that both teaches it to use
pkg-config for speech-dispatcher, but also fixes the path on the include.
http://svnweb.mageia.org/packages/cauldron/speech-dispatcher/current/SOURCES/speech-dispatcher-0.8-pkgconfig-includedir-fix.patch?view=markup&pathrev=553723
HTHs
Col
--
Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/
Day Job:
Tribalogic Limited http://www.tribalogic.net/
Open Source:
Mageia Contributor http://www.mageia.org/
PulseAudio Hacker http://www.pulseaudio.org/
Trac Hacker http://trac.edgewall.org/