After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 707561 - Unable to find multiarch'ed header files (eg. tiff.h on Debian)
Unable to find multiarch'ed header files (eg. tiff.h on Debian)
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on:
Blocks:
 
 
Reported: 2013-09-05 13:01 UTC by Emanuele Aina
Modified: 2013-09-27 07:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
sysdeps: Search C include files in multiarch subdirectories (1.62 KB, patch)
2013-09-05 13:01 UTC, Emanuele Aina
committed Details | Review

Description Emanuele Aina 2013-09-05 13:01:15 UTC
Since version 3.9.7-2 of the libtiff4-dev Debian package, the tiff.h
header file has been moved to /usr/include/x86_64-linux-gnu/tiff.h and
jhbuild was unable to detect its availability when checking for system
dependencies.

Adding "/usr/include/`gcc -print-multiarch`" to the search paths fixes
the problem.
Comment 1 Emanuele Aina 2013-09-05 13:01:17 UTC
Created attachment 254179 [details] [review]
sysdeps: Search C include files in multiarch subdirectories

Since version 3.9.7-2 of the libtiff4-dev Debian package, the tiff.h
header file has been moved to /usr/include/x86_64-linux-gnu/tiff.h and
jhbuild was unable to detect its availability when checking for system
dependencies.

Adding "/usr/include/`gcc -print-multiarch`" to the search paths fixes
the problem.
Comment 2 Frederic Peters 2013-09-05 13:04:12 UTC
Did you run 'jhbuild bootstrap' and build pkg-config in jhbuild?  If it's so, you should remove all of it and use pkg-config from Debian, that won't have that problem.
Comment 3 Emanuele Aina 2013-09-05 13:33:51 UTC
No, I've not built pkg-config myself and I'm using the one from Debian, but I don't think this is related to the reported issue.

For the libtiff dependency pkg-config is not used (libtiff doesn't seem to ship any .pc file) and JHBuild directly checks the availability of the tiff.h include file[1].

The code that does the check simply iterates over a list of paths[2] testing if the file exists. The first element of the search paths list is always "/usr/include"[3] and if `gcc -print-multiarch` prints something sensible I just add "/usr/include/`gcc -print-multiarch`" as the second element.

[1] https://git.gnome.org/browse/jhbuild/tree/modulesets/gnome-sysdeps-3.10.modules#n474
[2] https://git.gnome.org/browse/jhbuild/tree/jhbuild/utils/systeminstall.py#n118
[3] https://git.gnome.org/browse/jhbuild/tree/jhbuild/utils/systeminstall.py#n83
Comment 4 Alberto Garcia 2013-09-26 13:32:38 UTC
I ran into the same issue, I think Emanuele is right.

His patch looks fine to me.
Comment 5 Emanuele Aina 2013-09-26 14:47:00 UTC
Thanks Alberto, I plan to push this in a couple of days if noone objects. Frederic, is it fine for you?
Comment 6 Frederic Peters 2013-09-26 19:38:42 UTC
Yeah, sorry I didn't follow up; go ahead and push.
Comment 7 Emanuele Aina 2013-09-27 07:50:51 UTC
The following fix has been pushed:
87b135a sysdeps: Search C include files in multiarch subdirectories

Thanks!