help-libtasn1
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Couple of gtk-doc glitches


From: Roman Bogorodskiy
Subject: Couple of gtk-doc glitches
Date: Sun, 14 Nov 2021 08:06:20 +0400

Hi,

I was updating a FreeBSD port of libtasn1 to 4.18.0 and noticed the
build fails with:

gtkdoc-fixxref --module=libtasn1 --module-dir=html 
--html-dir=/usr/local/share/gtk-doc/html 
Traceback (most recent call last):
  File "/usr/local/bin/gtkdoc-fixxref", line 61, in <module>
    fixxref.Run(options)
  File "/usr/local/share/gtk-doc/python/gtkdoc/fixxref.py", line 52, in Run
    ReadSections(options.module)
  File "/usr/local/share/gtk-doc/python/gtkdoc/fixxref.py", line 190, in 
ReadSections
    for line in open(module + '-sections.txt', 'r', encoding='utf-8'):
FileNotFoundError: [Errno 2] No such file or directory: 'libtasn1-sections.txt'

There are two ways to fix it:

1. Force using GNU make instead of a BSD make

2. Patch it with:

 install  -m 0644 ./html/libtasn1.devhelp2
 install  -m 0644 ./html/right-insensitive.png
--- doc/reference/Makefile.in.orig      2021-11-13 05:59:58 UTC
+++ doc/reference/Makefile.in
@@ -1840,7 +1840,7 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(c
          test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file 
$(abs_builddir)/html; \
          test -f $$file && cp $$file $(abs_builddir)/html; \
        done;
-       $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) 
--module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+       cd "$(abs_srcdir)" && $(GTK_DOC_V_XREF)gtkdoc-fixxref 
--module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) 
$(FIXXREF_OPTIONS)
        $(AM_V_at)touch html-build.stamp
 
 pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) 
$(expand_content_files)

Apparently, gtkdoc-fixxref needs to be executed from $(abs_srcdir),
which is the case when building with GNU make, but with BSD make working
directory is $(abs_srcdir)/html.

Patching Makefile.in is when building from a dist tarball, but a more
general fix probably should go into gtk-doc.make, and here comes the
second issue.

When I try to build it from the git repo, I get:

  DOC   Introspecting gobjects
  DOC   Building XML
  DOC   Building XML
../../lib/includes/libtasn1.h:24: warning: Section libtasn1 is not defined in 
the libtasn1-sections.txt file.
../../lib/includes/libtasn1.h:24: warning: Section libtasn1 is not defined in 
the libtasn1-sections.txt file.
./libtasn1-unused.txt:1: warning: 95 unused declarations. They should be added 
to libtasn1-sections.txt in the appropriate place.
  DOC   Building HTML
warning: failed to load external entity "../xml/libtasn1.xml"
../libtasn1-docs.xml:34: element include: XInclude error : could not load 
../xml/libtasn1.xml, and no fallback was found
gmake[3]: *** [Makefile:1824: html-build.stamp] Error 6

Before that I can see that gtkdoc-scan is complaining about:

../../lib/includes/libtasn1.h:0: warning: partial declaration (struct) :   
struct asn1_data_node_st

However, I can see the same message when building from the dist tarball.
Also, comparing the failing build from a git checkout and a successful
build from the dist tarball, I can see that
./doc/reference/libtasn1-sections.txt is empty for the failing build,
and the successful build has it populated.

For the git checkout build I don't apply any patches and use GNU make.

Any thoughts what's going on here?

Roman Bogorodskiy

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]