Forum OpenACS Q&A: Response to OACS4.x install, make for nsxml fails

Collapse
Posted by Torben Brosten on

Jonathan, Thank you for the suggestions.

http://xmlsoft.org/FAQ.html confirms your "./configure" suggestion. Unfortunately http://www.fifthgate.org/articles/aolserver/xml/ns_xml_doc.html from the nsxml README doesn't mention details of the libxml2 install process.

I would use your RPMs, but my current objective is installing via the source route for the benefit of OACS 4.x docs and my own learning experience. It's been almost 20 years since I've played with C (wow time has flown!), so I really appreciate the obvious and not so obvious. =)

Here's an update of what I have done, and the current error condition:

nsadmin:/usr/local/src/root/nsxml$ tar xzf /tmp/libxml2-2.4.9.tar.gz
nsadmin:/usr/local/src/root/nsxml$ mv libxml2-2.4.9 libxml2
nsadmin:/usr/local/src/root/nsxml$ cd libxml2
nsadmin:/usr/local/src/root/nsxml/libxml2$ ./configure
nsadmin:/usr/local/src/root/nsxml/libxml2$ emacs Makefile
# per OACS forums put the following at the end of Makefile:

LIBXMLHOME = /usr/include/libxml2
# previously tried LIBXMLHOME = /usr/include/libxml2/libxml

       CFLAGS    += -I$(LIBXMLHOME)

nsadmin:/usr/local/src/root/nsxml/libxml2$ make
nsadmin:/usr/local/src/root/nsxml/libxml2$ make install
Making install in include
make[1]: Entering directory `/usr/local/src/root/nsxml/libxml2/include'
Making install in libxml
make[2]: Entering directory `/usr/local/src/root/nsxml/libxml2/include/libxml'
make[3]: Entering directory `/usr/local/src/root/nsxml/libxml2/include/libxml'
make  install-exec-hook
make[4]: Entering directory `/usr/local/src/root/nsxml/libxml2/include/libxml'
/bin/sh ../../mkinstalldirs /usr/local/include/libxml2/libxml
mkdir /usr/local/include/libxml2
mkdir: cannot make directory `/usr/local/include/libxml2': Permissiondenied
mkdir /usr/local/include/libxml2/libxml
mkdir: cannot make directory `/usr/local/include/libxml2/libxml': No such file or directory
make[4]: *** [install-exec-hook] Error 1
make[4]: Leaving directory `/usr/local/src/root/nsxml/libxml2/include/libxml'
make[3]: *** [install-exec-am] Error 2
make[3]: Leaving directory `/usr/local/src/root/nsxml/libxml2/include/libxml'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/usr/local/src/root/nsxml/libxml2/include/libxml'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/root/nsxml/libxml2/include'
make: *** [install-recursive] Error 1

Should I make some adjustments to libxml2's Makefile? Change permissions for /usr/local? /usr/local/libxml2 or?

Here are the variable initialization lines of libxml2's Makefile:

SHELL = /bin/sh

srcdir = .
top_srcdir = .
prefix = /usr/local
exec_prefix = ${prefix}

bindir = ${exec_prefix}/bin
sbindir = ${exec_prefix}/sbin
libexecdir = ${exec_prefix}/libexec
datadir = ${prefix}/share
sysconfdir = ${prefix}/etc
sharedstatedir = ${prefix}/com
localstatedir = ${prefix}/var
libdir = ${exec_prefix}/lib
infodir = ${prefix}/info
mandir = ${prefix}/man
includedir = ${prefix}/include
oldincludedir = /usr/include

DESTDIR =

pkgdatadir = $(datadir)/libxml2
pkglibdir = $(libdir)/libxml2
pkgincludedir = $(includedir)/libxml2

top_builddir = .

ACLOCAL = aclocal
AUTOCONF = autoconf
AUTOMAKE = automake
AUTOHEADER = autoheader

INSTALL = /usr/bin/ginstall -c
INSTALL_PROGRAM = ${INSTALL} $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_SCRIPT = ${INSTALL_PROGRAM}
transform = s,x,x,

NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = i686-pc-linux-gnu
host_triplet = i686-pc-linux-gnu
AS = @AS@
CATALOG_OBJ = catalog.o
CC = gcc
CFLAGS = -g -O2 -Wall
CPP = gcc -E
DEBUG_OBJ = debugXML.o
DLLTOOL = @DLLTOOL@
DOCB_OBJ = DOCBparser.o
ECHO = echo
EXEEXT =
FTP_OBJ = nanoftp.o
HAVE_ISINF =
HAVE_ISNAN =
HTML_DIR = $(prefix)/doc
HTML_OBJ = HTMLparser.o HTMLtree.o
HTTP_OBJ = nanohttp.o
ICONV_LIBS = -L/lib
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIBXML_MAJOR_VERSION = 2
LIBXML_MICRO_VERSION = 9
LIBXML_MINOR_VERSION = 4
LIBXML_VERSION = 2.4.9
LIBXML_VERSION_INFO = 6:9:4
LIBXML_VERSION_NUMBER = 20409
LN_S = ln -s
MAINT = #
MAKEINFO = makeinfo
MV = /bin/mv
M_LIBS =
OBJDUMP = @OBJDUMP@
OBJEXT = o
PACKAGE = libxml2
RANLIB = ranlib
RDL_LIBS =
RM = /bin/rm
STRIP = strip
TAR = /bin/tar
TEST_THREADS =
THREAD_CFLAGS =
THREAD_LIBS =
U =
VERSION = 2.4.9
WITH_CATALOG = 1
WITH_DEBUG = 1
WITH_DOCB = 1
WITH_FTP = 1
WITH_HTML = 1
WITH_HTTP = 1
WITH_ICONV = 1
WITH_MEM_DEBUG = 0
WITH_THREADS = 0
WITH_TRIO = 0
WITH_XINCLUDE = 1
WITH_XPATH = 1
WITH_XPTR = 1
XINCLUDE_OBJ = xinclude.o
XML_CFLAGS =
XML_INCLUDEDIR = -I${includedir}/libxml2/libxml -I${includedir}/libxml
2 -I/include
XML_LIBDIR = -L${libdir}
XML_LIBS = -lxml2 -lz -L/lib -lm
XPATH_OBJ = xpath.o
XPTR_OBJ = xpointer.o
Z_CFLAGS =
Z_LIBS = -lz