Bug 545

Summary: Webkit doesn't see gtk-doc.make
Product: buildroot Reporter: Dan Dart <dandart>
Component: Outdated packageAssignee: unassigned
Status: RESOLVED FIXED    
Severity: enhancement CC: buildroot
Priority: P5    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Host: i386-pc-linux-gnu Target: i386-pc-linux-uclibc
Build: i386-pc-linux-gnu

Description Dan Dart 2009-08-06 21:55:07 UTC
Webkit doesn't see gtk-doc.make

rm -rf /home/dan/xenon/buildroot/project_build_i386/uclibc/buildroot-config
mkdir -p /home/dan/xenon/buildroot/project_build_i386/uclibc
cp -dpRf package/config/buildroot-config /home/dan/xenon/buildroot/project_build_i386/uclibc/buildroot-config
/home/dan/xenon/buildroot/toolchain_build_i386/bin/sed -i -e 's/AUTOMAKE_FLAGS=.*/AUTOMAKE_FLAGS="--foreign --add-missing --copy"/' /home/dan/xenon/buildroot/build_i386/webkit-r44552/autogen.sh
/home/dan/xenon/buildroot/toolchain_build_i386/bin/sed -i -e 's/LIBTOOLIZE_FLAGS=.*/LIBTOOLIZE_FLAGS="--force --automake --copy"/' /home/dan/xenon/buildroot/build_i386/webkit-r44552/autogen.sh
# Don't run the configure step yet
cd /home/dan/xenon/buildroot/build_i386/webkit-r44552; AUTOGEN_CONFIGURE_ARGS=--version ./autogen.sh
Warning: not running gtk-docize.
automake: cannot open < gtk-doc.make: No such file or directory
make: *** [/home/dan/xenon/buildroot/build_i386/webkit-r44552/.stamp_hook_post_extract] Error 1
Comment 1 Lionel Landwerlin 2009-08-06 23:25:58 UTC
(In reply to comment #0)
> Webkit doesn't see gtk-doc.make
> 
> rm -rf /home/dan/xenon/buildroot/project_build_i386/uclibc/buildroot-config
> mkdir -p /home/dan/xenon/buildroot/project_build_i386/uclibc
> cp -dpRf package/config/buildroot-config
> /home/dan/xenon/buildroot/project_build_i386/uclibc/buildroot-config
> /home/dan/xenon/buildroot/toolchain_build_i386/bin/sed -i -e
> 's/AUTOMAKE_FLAGS=.*/AUTOMAKE_FLAGS="--foreign --add-missing --copy"/'
> /home/dan/xenon/buildroot/build_i386/webkit-r44552/autogen.sh
> /home/dan/xenon/buildroot/toolchain_build_i386/bin/sed -i -e
> 's/LIBTOOLIZE_FLAGS=.*/LIBTOOLIZE_FLAGS="--force --automake --copy"/'
> /home/dan/xenon/buildroot/build_i386/webkit-r44552/autogen.sh
> # Don't run the configure step yet
> cd /home/dan/xenon/buildroot/build_i386/webkit-r44552;
> AUTOGEN_CONFIGURE_ARGS=--version ./autogen.sh
> Warning: not running gtk-docize.
> automake: cannot open < gtk-doc.make: No such file or directory
> make: ***
> [/home/dan/xenon/buildroot/build_i386/webkit-r44552/.stamp_hook_post_extract]
> Error 1
> 

A lots of package have the same problem :
 * cairo (fixed by patch)
 * libglib2 (see bug 453)
 * libgtk2 (see bug 459)
 * dbus-glib

Every package using gtk-doc should be patched in the same way than cairo to work fine with autoreconf.

Regards,
Comment 2 Sven Neumann 2009-08-07 08:36:52 UTC
Instead of patching packages, perhaps buildroot should include gtkdocize? Patching packages is always a pain as the patches will likely have to be adjusted whenever the package is updated. If buildroot would include a gtkdocize command that installs gtk-doc.m4 and gtk-doc.make, no package would have to be patched. The gtk-doc.m4 and gtk-doc.make files could even be just stubs that disable the build of the documentation. Than we wouldn't even have to pass --disable-gtk-doc to the configure scripts.
Comment 3 Will Newton 2009-08-07 08:43:57 UTC
gtkdocize is attempting to run, it's just not in the path, see "Warning: not running gtk-docize."

Should we depend on host-libgtk2 to make sure gtkdocize is available?

For now installing gtkdocize in your host system should let you build.
Comment 4 Lionel Landwerlin 2009-08-07 19:12:58 UTC
(In reply to comment #3)
> gtkdocize is attempting to run, it's just not in the path, see "Warning: not
> running gtk-docize."
> 
> Should we depend on host-libgtk2 to make sure gtkdocize is available?
> 
> For now installing gtkdocize in your host system should let you build.
> 

Hmmm I'm not sure that's true. I have gtk-doc installed and I can't autreconfigure packages that depends on gtk-doc.m4.
If I remember, that's because automake is called with -I argument pointing to the staging directory.

Installing gtk-doc in staging directory should solve the problem.
Comment 5 Sven Neumann 2009-08-07 21:26:45 UTC
(In reply to comment #3)
> gtkdocize is attempting to run, it's just not in the path, see "Warning: not
> running gtk-docize."
> 
> Should we depend on host-libgtk2 to make sure gtkdocize is available?

gtkdocize is not part of libgtk2 though. It comes with gtk-doc (see http://www.gtk.org/gtk-doc/), which is a separate package that would have to be added to buildroot. Since it has lots of dependencies and since it doesn't make much sense to build developer documentation for the target, it would make more sense to create a dummy gtkdocize in buildroot.
Comment 6 Will Newton 2009-08-10 09:25:30 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > gtkdocize is attempting to run, it's just not in the path, see "Warning: not
> > running gtk-docize."
> > 
> > Should we depend on host-libgtk2 to make sure gtkdocize is available?
> > 
> > For now installing gtkdocize in your host system should let you build.
> > 
> 
> Hmmm I'm not sure that's true. I have gtk-doc installed and I can't
> autreconfigure packages that depends on gtk-doc.m4.
> If I remember, that's because automake is called with -I argument pointing to
> the staging directory.
> 
> Installing gtk-doc in staging directory should solve the problem.

The autogen.sh script in webkit calls gtkdocize. If it is in the path it should work, I don't think automake is involved at this point.

Can you call gtkdocize manually in the webit directory?

e.g.
# cd build_arch/webkit-r44552
# gtkdocize --copy
Comment 7 Dan Dart 2010-02-06 22:48:48 UTC
Not sure if we can set this as resolved. In new buildroot versions I have to install the GTK Doc Make package for this to work, but when I do, it works.
Comment 8 Thomas Petazzoni 2010-02-21 18:08:55 UTC
Proposed fix in http://lists.busybox.net/pipermail/buildroot/2010-February/032142.html

The proposed fix is just to include a copy of gtk-doc.make into Webkit.