* Host/Target
sparc-sun-solaris2.4
After fixing the two problems below I was able to successfully compile
and install scsh-0.4.0 on a Sun Ultrasparc running Solaris 2.4.
* Problem: The Solaris archiver does not allow archives as inputs, only objects.
ar cq cig/libscshvm.a main.o unix.o dynload.o prescheme.o extension.o
scheme48vm.o cig/libcig.o cig/libcig1.o proc2.o scsh/dirstuff1.o
scsh/fdports1.o scsh/flock.o scsh/flock1.o scsh/jcontrol2.o scsh/jcontrol1.o
scsh/machine/stdio_dep.o scsh/machine/time_dep1.o scsh/network.o
scsh/network1.o scsh/putenv.o scsh/rdelim.o scsh/re.o scsh/re1.o
scsh/regexp/libregexp.a scsh/select.o scsh/select1.o scsh/syscalls.o
scsh/syscalls1.o scsh/time.o scsh/time1.o scsh/tty.o scsh/tty1.o
scsh/userinfo1.o
ar: scsh/regexp/libregexp.a is in archive format - embedded archives are not
allowed
gmake: *** [cig/libscshvm.a] Error 1
Solution:
*** Makefile.orig Wed Nov 1 08:11:11 1995
--- Makefile Wed Nov 1 08:11:42 1995
***************
*** 110,116 ****
scsh/putenv.o \
scsh/rdelim.o \
scsh/re.o scsh/re1.o \
! scsh/regexp/libregexp.a \
scsh/select.o scsh/select1.o \
scsh/syscalls.o scsh/syscalls1.o \
scsh/time.o scsh/time1.o \
--- 110,118 ----
scsh/putenv.o \
scsh/rdelim.o \
scsh/re.o scsh/re1.o \
! scsh/regexp/regerror.o \
! scsh/regexp/regexp.o \
! scsh/regexp/regsub.o \
scsh/select.o scsh/select1.o \
scsh/syscalls.o scsh/syscalls1.o \
scsh/time.o scsh/time1.o \
* Problem: Install fails if no previous installation
bombay% gmake install
mkdir /fs/devl/icad/sea
mkdir: Failed to make directory "/fs/devl/icad/sea"; File exists
gmake: [install-dirs] Error 2 (ignored)
mkdir
mkdir: usage: mkdir [-m mode] [-p] dirname ...
gmake: [install-dirs] Error 2 (ignored)
mkdir /fs/devl/icad/sea/bin
mkdir: Failed to make directory "/fs/devl/icad/sea/bin"; File exists
gmake: [install-dirs] Error 2 (ignored)
mkdir /fs/devl/icad/sea/lib
mkdir: Failed to make directory "/fs/devl/icad/sea/lib"; File exists
gmake: [install-dirs] Error 2 (ignored)
mkdir /fs/devl/icad/sea/include
mkdir: Failed to make directory "/fs/devl/icad/sea/include"; File exists
gmake: [install-dirs] Error 2 (ignored)
mkdir /fs/devl/icad/sea/man
mkdir: Failed to make directory "/fs/devl/icad/sea/man"; File exists
gmake: [install-dirs] Error 2 (ignored)
mkdir /fs/devl/icad/sea/man/man1
mkdir: Failed to make directory "/fs/devl/icad/sea/man/man1"; File exists
gmake: [install-dirs] Error 2 (ignored)
rm -f -r /fs/devl/icad/sea/lib/scsh.old
mv /fs/devl/icad/sea/lib/scsh /fs/devl/icad/sea/lib/scsh.old
mv: cannot access /fs/devl/icad/sea/lib/scsh
gmake: *** [install-dirs] Error 2
Solution: Provide a check for existance before the move of lib/scsh to
lib/scsh.old.
*** Makefile.orig Wed Nov 1 08:11:11 1995
--- Makefile Wed Nov 1 08:21:10 1995
***************
*** 240,246 ****
-mkdir $(mandir)
-mkdir $(mandir)/man$(manext)
$(RM) -r $(LIB).old
! mv $(LIB) $(LIB).old
mkdir $(LIB)
mkdir $(LIB)/cig
mkdir $(LIB)/rts
--- 242,248 ----
-mkdir $(mandir)
-mkdir $(mandir)/man$(manext)
$(RM) -r $(LIB).old
! if test -d $(LIB); then mv $(LIB) $(LIB).old; fi
mkdir $(LIB)
mkdir $(LIB)/cig
mkdir $(LIB)/rts
|