[tlbuild] trunk is broken

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


"MS" == Martin Schröder writes:

 MS> cp: cannot stat
 MS> `..//home/ms/tex/texlive/svn/Build/source/texk/web2c/../../libs/zziplib/zzip/Makefile':
 MS> No such file or directory

i'm sorry, it is fixed now. it was my change that broke it.

here is a longer explanation:

i commited the following change to Build script:

------------------------------------------------------------------------
r8412 | vvv | 2008-05-29 20:50:06 -0700 (Thu, 29 May 2008) | 5 lines

call configure with absolute path, to avoid build problems
on systems which lack the "BSD-compatible install" (e.g. Solaris),
because texk/Makefile.in and texk/web2c/Makefile.in are currently broken
in this case - see http://tug.org/pipermail/tex-live/2008-May/015857.html

------------------------------------------------------------------------

and then realized that it will require a change to
texk/web2c/luatexdir/luatexlib.mk:

------------------------------------------------------------------------
r8417 | vvv | 2008-05-30 02:14:22 -0700 (Fri, 30 May 2008) | 16 lines

change to the Build script in r8412 (which allows the Build to
work on systems such as Solaris which don't have BSD-compatible
"install" program) made ZZIPLIBSRCDIR an absolute directory, so
../$(ZZIPLIBSRCDIR)/zzip/Makefile won't work.

the rules for zziplib are broken, in that they assume that the
Work directory is a sub-directory of the source directory, and
use specific relative paths, and/or they don't work for absolute
directories.

now, removing changing ../$(ZZIPLIBSRCDIR)/ to $(ZZIPLIBSRCDIR)/
will rely on $(ZZIPLIBSRCDIR) being an absolute directory.  so if
someone manually calls configure (rather than via the Build
script) he needs to run it with absolute path, e.g. even
`pwd`/../configure rather than ../configure

------------------------------------------------------------------------

i.e. while the first change to the Build script is designed to make
Build work everywhere, even when "BSD-compatible install" is not present,
without fixing the makefiles, it would require now for everyone to call
configure with absolute path, because of the ZZIPLIBSRCDIR which was
assumed to be at specific relative path compared to the build directory.

in other words

* with the above 2 changes together, if someone will run the Build
  script, it will work as before, with addition of Solaris and other
  systems which didn't work before without fixing Makefiles

  but with these 2 changes, if someone is not using the Build script but
  running configure manually, he is now required to use absolute path.

* without the 2 changes, it works except on some systems such as Solaris
  where tweaking of Makefiles is needed as i wrote in
  http://tug.org/pipermail/tex-live/2008-May/015857.html

so i'm not sure if the advantage of having it working on Solaris
outweighs the inconvenience of remembering to use absolute path to
configure. if you think it doesn't, please revert the above 2 changes,
or let me know and i'll do that.

Best,
v.



More information about the tlbuild mailing list