Linux 2.2/2.3 can't build BIND: crazy symlink limit
Matthias Urlichs
smurf at noris.de
Fri Sep 3 13:27:31 UTC 1999
Bob Halley <Bob_Halley at iengines.net> writes:
> John Gilmore wrote:
> > Something else may be going on here; the Linux kernel supposedly has
> > had this limit even in 2.0, which was reported to build the distribution.
> > Has the "make links" script changed recently?
>
> Whether it works or not depends upon the nature of the SRC you use in
> 'make links'. If the SRC has no symbolic links, 'make links' will
> work, but if you also have a link in the SRC path, you'll exceed the Linux
> kernel limit.
>
My meta-Makefile, appended in part below, sidesteps two of these links,
which is enough for the compilation to work.
IMHO, a better solution would be to carry the SRC and DST variables to
the submakefiles and just do a nonrecursive link, i.e. we really should
change the subdirectory-linking loops int eh makefile to something like
this Makefile snippet:
! links: FRC
! @set -e; for x in $(SUBDIRS); do \
! mkdir $$x; cd $$x; pwd; ln -s $(SRC)/$$x SRC; \
! cp SRC/Makefile Makefile; chmod +w Makefile; \
! $(MAKE) $(MARGS) SRC=$(SRC)/$$i DST=$(DST)/$$i links; \
! cd ..; \
! done
instead of the current code. Voila, no more problems with recursive
symlinks.
####################
compile: obj
$(MAKE) -C obj
obj:
if test ! -d obj; then \
mkdir -p obj ; \
$(MAKE) DST=$(shell pwd)/obj SRC=$(shell pwd) links ; \
cd obj/port/linux; \
rm SRC; ln -s ../../SRC/port/linux SRC; \
cd include; \
rm SRC; ln -s ../../../SRC/port/linux/include SRC; \
fi
install:
$(MAKE) -C obj install
--
Matthias Urlichs | noris network GmbH | smurf at noris.de | ICQ: 20193661
The quote was selected randomly. Really. | http://www.noris.de/~smurf/
--
Belle's Constant:
The ratio of time involved in work to time available for work is usually
about 0.6.
More information about the bind-workers
mailing list