Vanilla List Maling List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Compile problems on FreeBSD
I just tried to compile the server straight out of the CVS repository and
ran into a few problems.
tools/update.c(193): in no_zombies(). FreeBSD's struct sigaction doesn't
have a member called sa_sigaction or sa_restorer. It does, however, have
the flag SA_NOCLDWAIT. I'm not too familiar with the problem, but I'm
guessing that mucking with the sa_sigaction/restorer is only needed for
OSes that don't have the NOCLDWAIT, so this can be safely deleted.
Should this be moved into the configure scripts?
On my FreeBSD system, and probably most others, the standard BSD 'make' is
in /usr/bin/make, and the GNU 'make' is /usr/local/bin/gmake, if
installed. For whatever reason, the makefiles don't currently work with
the BSD make. The only way to get it to compile as-is on my system was to
symlink /usr/local/bin/gmake to /usr/local/bin/make, and then put
/usr/local/bin at the front of my PATH. Some day when I have the
spare cycles, I'll look into fixing the makefiles to work with BSD's make.
Until then, there's an easy fix (which should be done regardless):
replace all lines that look like:
cd foo; make
to:
cd foo; $(MAKE)
and remove the line 'MAKE = make' in system.mk. That way, you can just run
gmake in the top-level directory and it will always call whatever
make the top-level makefile was invoked with for subdirectories, instead
of calling whatever 'make' is in the path.
- Eric