Error Compiling Sablotron on FreeBSD - Make: don't know how to make ./jsdom-ref/complete.Error Compiling Sablotron on FreeBSD - Make: don't know how to make ./jsdom-ref/complete.

Posted February 12th, 2004 in Linux/Unix/BSD (Updated May 23rd, 2007)

This error affects both the 0.98 and 1.01 releases of Sablotron on FreeBSD 4.9; it may affect earlier and/or later releases of FreeBSD and Sablotron as well but I cannot test this as I only have access to a FreeBD 4.9 server and do not have other sources of Sablotron.

For information about how to configure Sablotron and another initial error with the 0.98 release please refer to the error compiling sablotron on FreeBSD page.

After running the configure script and then issuing the make command you get the following error message:

Making all in doc
Making all in apidoc
make: don't know how to make ./jsdom-ref/complete.html. Stop
*** Error code 1

Stop in /path/to/Sablot-0.98/doc.
*** Error code 1

Stop in /path/to/Sablot-0.98.

There appears to be some sort of error with the way FreeBSD is configuring the documentation for Sablotron which is causing the error. The only solution I could find was to prevent the documentation from being compiled at all. This may or may not be an issue for you but until the issue is solved it may be the only way you can easily solve this problem.

To fix it, open up doc/Makefile in your favourite text editor and locate the install: section. Rename this as installold: so you have a backup copy and add a new blank line above it labelled install:, ie change it from:

install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive

to

install:
installold: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive

Now locate the all: section and do the same, ie change it from:

DIST_COMMON = Makefile.am Makefile.in
DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive

to

DIST_COMMON = Makefile.am Makefile.in
DIST_SUBDIRS = $(SUBDIRS)
all:
allold: all-recursive

Now once you run make it will complete the compile with no problems.

The Sablotron and Expat libraries are very fast at running XSL transformations and are available for download from The Ginger Alliance (Sablotron) and Sourceforge (Expat).