You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2002/05/07 05:03:34 UTC
DO NOT REPLY [Bug 8849] New: -
make install errors as root on NFS shares
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8849>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8849
make install errors as root on NFS shares
Summary: make install errors as root on NFS shares
Product: Apache httpd-1.3
Version: 1.3.23
Platform: Sun
OS/Version: Other
Status: NEW
Severity: Normal
Priority: Other
Component: Build
AssignedTo: bugs@httpd.apache.org
ReportedBy: Greg.Robinson@dsto.defence.gov.au
I usually compile programs as myself, and then install as root.
The make install script re-directs output to temporary files in the
apache src directory, but this fails as root cannont write to that
disk (it is NFS sharred without root permission).
eg:
...
mkdir /opt/local/apache/proxy
./src/helpers/PrintPath: pp.t.15350: cannot create
./src/helpers/PrintPath: pp.t.15357: cannot create
chown nobody /opt/local/apache/proxy
chgrp nobody /opt/local/apache/proxy
<=== [mktree]
===> [programs: Installing Apache httpd program and shared objects]
./src/helpers/install.sh -c -m 755 ./src/httpd /opt/local/apache/bin/httpd
./src/helpers/install.sh -c -m 644 ./src/support/httpd.8
/opt/local/apache/man/man8/httpd.8
touch: cannot change times on src/.apaci.install.conf
*** Error code 1 (ignored)
<=== [programs]
===> [support: Installing Apache support programs and scripts]
./src/helpers/install.sh -c -m 755 -s ./src/support/ab /opt/local/apache/bin/ab
...
I have made 2 context diff's and they have worked for me.
Note, there is at least 1 more redirection in Makefile.tmpl which I
did not correct, as there was no error for it. You'll get the
general idea from my patch.
*** PrintPath Tue May 7 11:53:35 2002
--- PrintPath.apache Thu Apr 22 00:00:26 1999
***************
*** 70,76 ****
s/:$/:./
s/:/ /g' `
# Here is how we test to see if test/[] can handle -x
! testfile="/tmp/pp.t.$$"
cat > $testfile <<ENDTEST
#!/bin/sh
--- 70,76 ----
s/:$/:./
s/:/ /g' `
# Here is how we test to see if test/[] can handle -x
! testfile="pp.t.$$"
cat > $testfile <<ENDTEST
#!/bin/sh
2nd patch:
*** Makefile.tmpl.apache Thu Mar 14 07:35:27 2002
--- Makefile.tmpl Tue May 7 12:26:37 2002
***************
*** 85,90 ****
--- 85,91 ----
CP = cp
LN = ln
RM = rm -f
+ TMP = /tmp
MKDIR = $(TOP)/$(AUX)/mkdir.sh
INSTALL = $(TOP)/$(AUX)/install.sh -c
IFLAGS_PROGRAM = @IFLAGS_PROGRAM@
***************
*** 232,238 ****
install-mktree install-programs $(install-support) \
install-include install-data install-config
-@$(RM) $(SRC)/.apaci.install.tmp
! -@$(RM) $(SRC)/.apaci.install.conf
-@if [ ".$(QUIET)" != .1 ]; then \
if [ ".$(TARGET)" = .httpd ]; then \
apachectl='apachectl'; \
--- 233,239 ----
install-mktree install-programs $(install-support) \
install-include install-data install-config
-@$(RM) $(SRC)/.apaci.install.tmp
! -@$(RM) $(TMP)/.apaci.install.conf
-@if [ ".$(QUIET)" != .1 ]; then \
if [ ".$(TARGET)" = .httpd ]; then \
apachectl='apachectl'; \
***************
*** 321,327 ****
fi; \
fi
$(INSTALL_DATA) $(TOP)/$(SRC)/support/httpd.8
$(root)$(mandir)/man8/$(TARGET).8
! -@$(RM) $(SRC)/.apaci.install.conf; touch $(SRC)/.apaci.install.conf
-@if [ ".`grep '^[ ]*SharedModule'
$(TOP)/$(SRC)/Configuration.apaci`" != . ]; then \
for mod in `egrep '^[ ]*SharedModule'
$(TOP)/$(SRC)/Configuration.apaci |\
sed -e 's/^[ ]*SharedModule[ ]*//'`; do \
--- 322,328 ----
fi; \
fi
$(INSTALL_DATA) $(TOP)/$(SRC)/support/httpd.8
$(root)$(mandir)/man8/$(TARGET).8
! -@$(RM) $(TMP)/.apaci.install.conf; touch $(TMP)/.apaci.install.conf
-@if [ ".`grep '^[ ]*SharedModule'
$(TOP)/$(SRC)/Configuration.apaci`" != . ]; then \
for mod in `egrep '^[ ]*SharedModule'
$(TOP)/$(SRC)/Configuration.apaci |\
sed -e 's/^[ ]*SharedModule[ ]*//'`; do \
***************
*** 330,347 ****
$(INSTALL_DSO) $(TOP)/$(SRC)/$${mod}
$(root)$(libexecdir)/$${file}; \
name=`$(TOP)/$(AUX)/fmn.sh $(TOP)/$(SRC)/$${mod}`; \
echo dummy | awk '{ printf("LoadModule %-18s %s\n",
modname, modpath); }' \
! modname="$${name}"
modpath="$(libexecdir_relative)$${file}" >>$(SRC)/.apaci.install.conf; \
done; \
! echo "" >>$(SRC)/.apaci.install.conf; \
! echo "# Reconstruction of the complete module list from all
available modules" >>$(SRC)/.apaci.install.conf; \
! echo "# (static and shared ones) to achieve correct module
execution order." >>$(SRC)/.apaci.install.conf; \
! echo "# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE
UPDATE THIS, TOO]" >>$(SRC)/.apaci.install.conf; \
! echo "ClearModuleList" >>$(SRC)/.apaci.install.conf; \
egrep "^[ ]*(Add|Shared)Module" $(SRC)/Configuration.apaci
|\
sed -e 's:SharedModule:AddModule:' \
-e 's:modules/[^/]*/::' \
-e 's:[ ]lib: mod_:' \
! -e 's:\.[soam].*$$:.c:' >>$(SRC)/.apaci.install.conf; \
fi
@echo "<=== [programs]"
--- 331,348 ----
$(INSTALL_DSO) $(TOP)/$(SRC)/$${mod}
$(root)$(libexecdir)/$${file}; \
name=`$(TOP)/$(AUX)/fmn.sh $(TOP)/$(SRC)/$${mod}`; \
echo dummy | awk '{ printf("LoadModule %-18s %s\n",
modname, modpath); }' \
! modname="$${name}"
modpath="$(libexecdir_relative)$${file}" >>$(TMP)/.apaci.install.conf; \
done; \
! echo "" >>$(TMP)/.apaci.install.conf; \
! echo "# Reconstruction of the complete module list from all
available modules" >>$(TMP)/.apaci.install.conf; \
! echo "# (static and shared ones) to achieve correct module
execution order." >>$(TMP)/.apaci.install.conf; \
! echo "# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE
UPDATE THIS, TOO]" >>$(TMP)/.apaci.install.conf; \
! echo "ClearModuleList" >>$(TMP)/.apaci.install.conf; \
egrep "^[ ]*(Add|Shared)Module" $(SRC)/Configuration.apaci
|\
sed -e 's:SharedModule:AddModule:' \
-e 's:modules/[^/]*/::' \
-e 's:[ ]lib: mod_:' \
! -e 's:\.[soam].*$$:.c:' >>$(TMP)/.apaci.install.conf; \
fi
@echo "<=== [programs]"
Basically, replace the locations of > .apaci.install.conf with
> /tmp/.apaci.install.conf.
The workaround is, of course, to move the apache source tree to a root
writable directory, like /var/tmp, and install from there.
gcc: gcc version 2.95.2 19991024 (release)
Solaris 2.8 2/02. Latest recommended patches.
configured with:
./configure --prefix=/opt/local/apache --exec-prefix=/opt/local/apache
--enable-module=so
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org