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 761718 - common: Create necessary directory if introspection scanning is disabled
common: Create necessary directory if introspection scanning is disabled
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: common
git master
Other All
: Normal normal
: 1.7.90
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-02-08 14:40 UTC by Sebastian Rasmussen
Modified: 2016-02-26 10:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposed patch. (794 bytes, patch)
2016-02-08 14:42 UTC, Sebastian Rasmussen
none Details | Review
Proposed patch. (794 bytes, patch)
2016-02-08 14:44 UTC, Sebastian Rasmussen
none Details | Review
Proposed patch. (1.37 KB, patch)
2016-02-26 10:34 UTC, Sebastian Rasmussen
committed Details | Review

Description Sebastian Rasmussen 2016-02-08 14:40:58 UTC
If disabling GObject introspection scanning for documentation the build fails.
I tested this by cloning the most recent gstreamer git, then emptying docs/libs/gstreamer-libs.types and then running ./configure --enable-gtk-doc --enable-gtk-doc-html --enable-gtk-doc-pdf --enable-docbook and then make -j10 after which I ended up with the following error:

[...]
make[4]: Entering directory '$HOME/src/gst/gstreamer/docs/libs'
  DOC   Scanning header files
touch: cannot touch ‘.libs/gstreamer-libs-scan.o’: No such file or directory
Makefile:862: recipe for target 'scan-build.stamp' failed
make[4]: *** [scan-build.stamp] Error 1
[...]

The reason being that the .libs directory has not been created. So the attached patch makes sure that the directory is always created if GObject introspection scanning is diabled.
Comment 1 Sebastian Rasmussen 2016-02-08 14:42:11 UTC
Created attachment 320635 [details] [review]
Proposed patch.
Comment 2 Sebastian Rasmussen 2016-02-08 14:44:19 UTC
Created attachment 320636 [details] [review]
Proposed patch.

Moved the semicolon...
Comment 3 Sebastian Rasmussen 2016-02-24 00:00:12 UTC
__tim had problems reproducing this and asked for a detailed way of reproducing the issue at hand:

git clone git://anongit.freedesktop.org/gstreamer/gstreamer
git submodule update --init
./autogen.sh --enable-gtk-doc --enable-gtk-doc-html
# the line below simulates an empty .types-file, which should work
# as I understand the if grep-line for the scan-build.stamp rule in
# common/gtk-doc.mak
echo '' > docs/libs/gstreamer-libs.types
make -j10
[...]
make -C libs
make[4]: Entering directory '/tmp/gstreamer/docs/libs'
  DOC   Scanning header files
touch: cannot touch ‘.libs/gstreamer-libs-scan.o’: No such file or directory
Makefile:865: recipe for target 'scan-build.stamp' failed
make[4]: *** [scan-build.stamp] Error 1 

I hope this helps.
Comment 4 Sebastian Dröge (slomo) 2016-02-26 10:25:12 UTC
Comment on attachment 320636 [details] [review]
Proposed patch.

that will fail if .libs already exists. maybe you want to do a $(MKDIR_P) $(shell dirname $ii) or something in the loop instead?
Comment 5 Sebastian Rasmussen 2016-02-26 10:34:18 UTC
Created attachment 322449 [details] [review]
Proposed patch.
Comment 6 Sebastian Dröge (slomo) 2016-02-26 10:41:21 UTC
commit 6f2d2093e84cc0eb99b634fa281822ebb9507285
Author: Sebastian Rasmussen <sebrn@axis.com>
Date:   Mon Feb 8 15:34:05 2016 +0100

    gtk-doc.mak: Create necessary directory if scanning is disabled
    
    Fixes https://bugzilla.gnome.org/show_bug.cgi?id=761718