#5416 closed defect (fixed)

my local install is broken xsl issues

Reported by: robe Owned by: strk
Priority: blocker Milestone: PostGIS 3.4.0
Component: build Version: master
Keywords: Cc:

Description

I thought maybe it's just me, but I see the same issue on winnie

xsl/table_body_function_support_matrix.xml.xsl -
/projects/xsltproc/xsltproc --novalid --path .:./ent:. -o postgis_comments.sql xsl/postgis_comments.sql.xsl postgis-out.xml
warning: failed to load external entity "ent/postgis_special.xml"
postgis-out.xml:133: parser error : Failure to process entity postgis_special
  &postgis_special;
                   ^
postgis-out.xml:133: parser error : Entity 'postgis_special' not defined
  &postgis_special;

Given the other ci bots are fine, might be some windows/mingw64 pathing issue

What is that ./ent supposed to be doing?

Change History (8)

comment:1 by robe, 17 months ago

Resolution: fixed
Status: newclosed

I think the issue was my xsltproc was just too old.

I compiled xsltproc 1.1.38 (latest) version and things worked on my local. I've updated winnie's xsltproc as well as hers was just a copy of mine. Dated in 2009 (I know why fix something that isn't broke).

I'll reopen this if winnie still has issues after.

FWIW the 2009 version I had listed this for version:

Using libxml 20707, libxslt 10126 and libexslt 815
xsltproc was compiled against libxml 20706, libxslt 10126 and libexslt 815
libxslt 10126 was compiled against libxml 20706
libexslt 815 was compiled against libxml 20706

The new one lists this

Using libxml 20914, libxslt 10138 and libexslt 821
xsltproc was compiled against libxml 20914, libxslt 10138 and libexslt 821
libxslt 10138 was compiled against libxml 20914
libexslt 821 was compiled against libxml 20914

comment:2 by strk, 17 months ago

I occasionally had that problem too. It looks like SYSTEM imports are resolved relative to the file referencing the entity, rather than the one defining it. On my system this problem was fixed by adding that "ent" entry in the path passed via --path switch, but I do see that's still a problem. The reason why the postgis_special.ent is under the ent/ subdir is that I wanted a quick way to make it available to localized Makefile, but there are possibly better ways to do that.

comment:3 by strk, 17 months ago

I've pushed a xsl-path branch to test a different approach, if you still have the old libxml around it would be good to test that

comment:4 by Sandro Santilli <strk@…>, 17 months ago

In f8031ee/git:

Rely on path for inclusion of ent/postgis_special.ent

References #5416

comment:5 by strk, 17 months ago

Resolution: fixed
Status: closedreopened

I'll reopen this as I also have XSL issues on my local system now, but with dblatex. Using absolute (rather than relative) paths seem to fix it

comment:6 by Sandro Santilli <strk@…>, 17 months ago

Resolution: fixed
Status: reopenedclosed

In 1b93a3a/git:

Use absolute paths for XSLT paths

Closes #5416

comment:7 by strk, 17 months ago

Resolution: fixed
Status: closedreopened

Nope, still not good:

        /usr/bin/dblatex -T native -t pdf \
           -x "--path .:./ent:/home/src/postgis/postgis/doc:/home/src/postgis/postgis/doc/ent" \
           -I "/usr/local/src/postgis/postgis/b/doc/html" \
           -P doc.collab.show=0 \
           -P figure.note="/usr/local/src/postgis/postgis/b/doc/html/images/note" \
           -P figure.tip="/usr/local/src/postgis/postgis/b/doc/html/images/tip" \
           -P figure.important="/usr/local/src/postgis/postgis/b/doc/html/images/important" \
           -P figure.warning="/usr/local/src/postgis/postgis/b/doc/html/images/warning" \
           -P figure.caution="/usr/local/src/postgis/postgis/b/doc/html/images/caution" \
           -P latex.output.revhistory=0 \
           -s "/home/src/postgis/postgis/doc/texstyle.sty" \
           -o postgis-3.4.0dev.pdf postgis-out.xml

Build the book set list...
warning: failed to load external entity "/home/src/postgis/postgis/doc/ent/list_aggregates.xsl.xml"

comment:8 by Sandro Santilli <strk@…>, 17 months ago

Resolution: fixed
Status: reopenedclosed

In d9f1ec0/git:

Use absolute paths for XSLT, stop using subdir for entity file

Fixes #5416
Fixes #5413

Note: See TracTickets for help on using tickets.