[tex-live] Build fails on Solaris 10

Vladimir Volovich vvv at vsu.ru
Fri May 30 05:11:05 CEST 2008

"EA" == Ettore Aldrovandi writes:

 EA> Hello, I'm trying to build TexLive, fresh svn checkout, on a
 EA> Solaris 10 machine, and it fails. Here are the last few lines of
 EA> build.log:

 EA> ########### gmake[2]: ../../texk/install.sh: Command not found

this happens because of combination of 3 factors:

* there's no "BSD-compatible install" on Solaris in system directories,
  so the build falls back to shell scripts such as install.sh

* the Build script uses the relative path to configure, so the paths to
  install.sh scripts are also relative

* texlive Makefiles fail in this case, because they pass INSTALL*
  variables to sub-directories and then the relative links to install.sh
  don't work.

to fix for this problem do any of the following:

* install a BSD-compatible install to a system directory (e.g. copy
  texk/install.sh to /usr/bin/install)

* patch the Build script to use absolute path to configure:

--- Build
+++ Build
@@ -46,7 +46,7 @@
 cd $TL_WORKDIR || exit 1
 # allow override of configure location, just in case.
-: ${TL_CONFIGURE=../configure}
+: ${TL_CONFIGURE=$H/configure}
 # allow override of xdvi toolkit, default to standard xaw.
 : ${TL_CONF_XDVI_TOOLKIT=--with-xdvi-x-toolkit=xaw}

* patch the 2 makefiles to not pass the INSTALL* variables:

--- texk/Makefile.in
+++ texk/Makefile.in
@@ -15,8 +15,7 @@
 # if we are to propagate changes at the top level.
 # XMAKEARGS is for the user to override.
 makeargs = $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' $(makevars) $(XMAKEARGS)
-installargs = INSTALL_DATA='$(INSTALL_DATA)' \
+installargs = $(makeargs)
 # Not everything from common.mk is relevant to this top-level
 # Makefile, but most of it is, and it doesn't seem worth separating the
--- texk/web2c/Makefile.in
+++ texk/web2c/Makefile.in
@@ -69,9 +69,7 @@
 common_makeargs = $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' $(XMAKEARGS)
 window_makeargs = x_cppflags='$(x_cppflags)' $(common_makeargs)
-install_makeargs = INSTALL='$(INSTALL)' INSTALL_DATA='$(INSTALL_DATA)' \
-  $(makevars) $(common_makeargs)  
+install_makeargs = $(makevars) $(common_makeargs)
 proglib = lib/lib.a
 windowlib = window/window.a


probably the most harmless would be the 2nd approach (patch the build
script). the most correct would be to fix the makefiles; the above patch
doesn't allow to override INSTALL scripts during make install run, but
that is probably not needed, as one can supply correct INSTALL program
during configure.


More information about the tex-live mailing list