Opened 7 years ago

Closed 6 years ago

Last modified 6 years ago

#42744 closed defect (fixed)

gtkspell2 fails to build "failed to load network entity"

Reported by: jfcaron3 Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: cooljeanius (Eric Gallager), SickTeddyBear
Port: gtkspell2

Description (last modified by ryandesign (Ryan Schmidt))

This is very similar to #27412 however that ticket was closed as invalid, so I thought I'd open a new one.

I know nothing about gtkspell2 or docbook or xml, but I just want to install inkscape. The install fails at gtkspell2, even after uninstalling & cleaning gtkspell2. I have attached the main.log.

Attachments (1)

main.log (37.1 KB) - added by jfcaron3 7 years ago.
gtkspell2 failed build log.

Download all attachments as: .zip

Change History (14)

Changed 7 years ago by jfcaron3

Attachment: main.log added

gtkspell2 failed build log.

comment:1 Changed 7 years ago by mf2k (Frank Schima)

Keywords: network entity xml removed

comment:2 Changed 7 years ago by ryandesign (Ryan Schmidt)

Description: modified (diff)

comment:3 Changed 7 years ago by ryandesign (Ryan Schmidt)

The log says "I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl". Maybe there is or was a network problem. Are you able to access that URL now, e.g. in a web browser? If so, try installing the port again.

comment:4 in reply to:  3 Changed 7 years ago by jfcaron3

Replying to ryandesign@…:

The log says "I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl". Maybe there is or was a network problem. Are you able to access that URL now, e.g. in a web browser? If so, try installing the port again.

Yes, I can access that file in a browser (it's a pretty short xml-looking file if you ignore the comments), but the build still fails with that error message. The other very-similar bug report claims that build phases should never try to access the network, so it's weird that it's even trying to look for files on the internet after the archives/distfiles phases.

comment:5 Changed 7 years ago by dbevans (David B. Evans)

I think the problem is a missing dependency on libxslt (for xsltproc). This is usually a symptom that it is using /usr/bin/xsltproc rather than ${prefix)/bin/xsltproc. The former doesn't know where to find the desired entity.

Dependency added in r117649.

comment:6 Changed 7 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:7 Changed 7 years ago by jfcaron3

I already had the libxslt port installed as a dependency of p11-kit (for wine) and wine itself. I now see it added as a dependency of gtkspell2, but of course the error remains since nothing changed except the portfile.

I think maybe gtkspell2 is not /seeing/ the port-installed version? Maybe it's hard-coded to use /usr/bin/xsltproc? Either that or it's not related to xstlproc at all.

comment:8 in reply to:  7 ; Changed 7 years ago by axc27@…

Replying to jfcaron@…:

I already had the libxslt port installed as a dependency of p11-kit (for wine) and wine itself. I now see it added as a dependency of gtkspell2, but of course the error remains since nothing changed except the portfile.

I think maybe gtkspell2 is not /seeing/ the port-installed version? Maybe it's hard-coded to use /usr/bin/xsltproc? Either that or it's not related to xstlproc at all.

I have (had) the same problem and can confirm it is due to the version of xsltproc being used. First, I wasn't able to build/install gtkspell2. After checking and changing:

Daniels-MacBook-4:~ $ which xsltproc
/opt/local/bin/xsltproc
Daniels-MacBook-4:~ $ cd /usr/bin/
Daniels-MacBook-4:bin $ ll xsltproc
-rwxr-xr-x     1 root   wheel     66960 28 Okt 22:05 xsltproc*
Daniels-MacBook-4:bin $ sudo mv xsltproc xsltproc_
Daniels-MacBook-4:bin $ sudo ln -s /opt/local/bin/xsltproc /usr/bin/xsltproc

gtkspell2 installed just fine (I switched back to the original version of xsltproc after building gtkspell2). Even though the right one is in the path, ports uses the one from /usr/bin/xsltproc. Hence it seems to be hardcoded somewhere...

Last edited 7 years ago by axc27@… (previous) (diff)

comment:9 Changed 7 years ago by SickTeddyBear

Cc: amcgee@… added

Cc Me!

comment:10 in reply to:  8 Changed 7 years ago by codie.codemonkey@…

Replying to axc27@…:

I've also had this problem and can confirm axc27's work around.

comment:11 in reply to:  8 Changed 7 years ago by yaseppochi (Stephen J. Turnbull)

Replying to axc27@…:

Daniels-MacBook-4:~ $ which xsltproc
/opt/local/bin/xsltproc
Daniels-MacBook-4:~ $ cd /usr/bin/
Daniels-MacBook-4:bin $ ll xsltproc
-rwxr-xr-x     1 root   wheel     66960 28 Okt 22:05 xsltproc*
Daniels-MacBook-4:bin $ sudo mv xsltproc xsltproc_
Daniels-MacBook-4:bin $ sudo ln -s /opt/local/bin/xsltproc /usr/bin/xsltproc

gtkspell2 installed just fine (I switched back to the original version of xsltproc after building gtkspell2). Even though the right one is in the path, ports uses the one from /usr/bin/xsltproc. Hence it seems to be hardcoded somewhere...

Works for me, thank you!

grep -r xsltproc in the patched build directory comes up with nothing for me. I suspect the hardcoding is earlier, perhaps in docbook or in an Apple-supplied utility.

comment:12 Changed 6 years ago by dbevans (David B. Evans)

Owner: changed from macports-tickets@… to devans@…
Status: newassigned

Looks like the root problem is a hard coded reference to /usr/bin/xsltproc in utility gtkdoc-mkhtml provided by gtk-doc.

if $is_xml; then
    #echo /usr/bin/xsltproc $path_arg --nonet --xinclude \
    #    --stringparam gtkdoc.bookname $module \
    #    --stringparam gtkdoc.version "1.20" \
    #    "$@" $gtkdocdir/gtk-doc.xsl $document
    /usr/bin/xsltproc $path_arg --nonet --xinclude \
        --stringparam gtkdoc.bookname $module \
        --stringparam gtkdoc.version "1.20" \
        --stringparam chunk.quietly $quiet \
        --stringparam chunker.output.quiet $quiet \
        "$@" $gtkdocdir/gtk-doc.xsl $document || exit $?
else
    /opt/local/bin/openjade $path_arg -t sgml-raw -w no-idref -d $gtkdocdir/gtk-doc.dsl \
        -V "gtkdoc-bookname=$module" -V "gtkdoc-version=1.20" \
        "$@" $gtkdocdir/gtk-doc.dcl $document || exit $?
fi


comment:13 Changed 6 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: assignedclosed

Fixed (in gtk-doc) in r119776.

Last edited 6 years ago by dbevans (David B. Evans) (previous) (diff)
Note: See TracTickets for help on using tickets.