Solution to make kaffe-1.0.b3 problems on NT4 / CYGWIN32
Jim Flowers
flowers at aligninc.com
Thu Dec 17 15:11:33 PST 1998
Hi,
I'm new to kaffe, CYGWIN--and this list--so please comment if
I'm going about this wrong.
kaffe-1.0.b3 doesn't make as installed on NT (4 w/service
pack 3) & CYGWIN32 (b20). Previous messages have pointed
this out on kaffe-1.0.b2, but a search of the archives
uncovers no fixes that I could see.
There seems to be 4 bugs, which I'll describe below. I don't have
access to a linux system, so I can't confirm these fixes don't
cause other problems. I still am having run errors, but that's
the subject of another message.
1. compile error on libraries/clib/io/AudioPlayer.c:
======================================================================
=======
bash-2.02$ make
gcc -g -O2 -Wall -Wstrict-prototypes -DNO_SHARED_LIBRARIES -DNO_SHARED
_VMLIBRARY
-I. -I../../../include -I./../../../include -I../../../config -I./../
../../conf
ig -c AudioPlayer.c -o AudioPlayer.o
In file included from ..\..\..\config\config-std.h:15,
from ..\..\..\include\files.h:15,
from AudioPlayer.c:12:
e:\tools\CYGWIN~1\H-I586~1\bin\..\lib\gcc-lib\i586-cygwin32\egcs-2.91.
57\..\..\.
.\..\i586-cygwin32\include\stdlib.h:59: parse error before `('
make: *** [AudioPlayer.o] Error 1
======================================================================
========
Seems to be an include error in config-std.h. I stubbed out the code
to
get around the problem for now. Can someone else post a fix?
2. make install error on libraries/management:
===================================================================
bash-2.02$ make install
test -d /usr/local/lib/kaffe || mkdir -p /usr/local/lib/kaffe
rm -f /usr/local/lib/kaffe/libmanagement.a
/usr/local/lib/kaffe/libmanagement.a.
1.00
/tools/CYGWIN~1/H-I586~1/bin/install -c -m 644 libmanagement.a
/usr/local/lib/ka
ffe/libmanagement.a.1.00
cp libmanagement.a.1.00 /usr/local/lib/kaffe/libmanagement.a
cp: libmanagement.a.1.00: No such file or directory
make: *** [install] Error 1
bash-2.02$ ls /usr/local/lib/kaffe
======================================================================
=======
The error is in the Makefile.in, which swaps the values for the LIB &
LIBV
variables (among other things). I changed it to parallel the other
library Makefile.in files.
Here are the diffs:
bash-2.02$ diff Makefile.in Makefile.in.jrf
38,39c38,42
< LIB= $(LIBNAME)$(LIBEXT)
< LIBV= $(LIBNAME)$(LIBEXT).$(KVER)
---
> #JRF981215: corrected LIB & LIBV defn to match other libraries
> #LIB= $(LIBNAME)$(LIBEXT)
> #LIBV= $(LIBNAME)$(LIBEXT).$(KVER)
> LIB= $(LIBNAME)$(LIBEXT).$(KVER)
> LLIB= $(LIBNAME)$(LIBEXT)
51c54,61
< all: $(LIB)
---
> #JRF981215
> #all: $(LIB)
> all: $(LLIB)
>
> #JRF981215: added to handle LLIB defn
> $(LLIB): $(LIB)
> rm -f $(LLIB)
> $(LN) $(LIB) $(LLIB)
68c78,79
< rm -f $(LIB) $(OBJECT) lib.exp external_wrappers.h
---
> #JRF981215 rm -f $(LIB) $(OBJECT) lib.exp external_wrappers.h
> rm -f $(LLIB) $(LIB) $(OBJECT) lib.exp
external_wrappers.h
77,79c88,93
< rm -f $(INSTROOT)$(nativedir)/$(LIB)
$(INSTROOT)$(nativedir)/$(L
IBV)
< $(INSTALL_DATA) $(LIB) $(INSTROOT)$(nativedir)/$(LIBV)
< $(LN) $(LIBV) $(INSTROOT)$(nativedir)/$(LIB)
---
> #JRF981215 rm -f $(INSTROOT)$(nativedir)/$(LIB)
$(INSTROOT)$(nativedir)/$(L
IBV)
> # $(INSTALL_DATA) $(LIB) $(INSTROOT)$(nativedir)/$(LIBV)
> # $(LN) $(LIBV) $(INSTROOT)$(nativedir)/$(LIB)
> rm -f $(INSTROOT)$(nativedir)/$(LIB)
$(INSTROOT)$(nativedir)/$(L
LIB)
> $(INSTALL_DATA) $(LIB) $(INSTROOT)$(nativedir)/$(LIB)
> $(LN) $(LLIB) $(INSTROOT)$(nativedir)/$(LIB)
91a106
>
3. make install error on libraries/net:
====================================================================
bash-2.02$ make install
test -d /usr/local/lib/kaffe || mkdir -p /usr/local/lib/kaffe
rm -f /usr/local/lib/kaffe/libnet.a /usr/local/lib/kaffe/libnet.a.1.00
/tools/CYGWIN~1/H-I586~1/bin/install -c -m 644 libnet.a
/usr/local/lib/kaffe/lib
net.a.1.00
cp libnet.a.1.00 /usr/local/lib/kaffe/libnet.a
cp: libnet.a.1.00: No such file or directory
make: *** [install] Error 1
====================================================================
Same as above. Here are the diffs:
bash-2.02$ diff Makefile.in Makefile.in.jrf
37,38c37,41
< LIB= $(LIBNAME)$(LIBEXT)
< LIBV= $(LIBNAME)$(LIBEXT).$(KVER)
---
> #JRF981215: corrected LIB & LIBV defn to match other libraries
> #LIB= $(LIBNAME)$(LIBEXT)
> #LIBV= $(LIBNAME)$(LIBEXT).$(KVER)
> LIB= $(LIBNAME)$(LIBEXT).$(KVER)
> LLIB= $(LIBNAME)$(LIBEXT)
52c55,62
< all: $(LIB)
---
> #JRF981215
> #all: $(LIB)
> all: $(LLIB)
>
> #JRF981215: added to handle LLIB defn
> $(LLIB): $(LIB)
> rm -f $(LLIB)
> $(LN) $(LIB) $(LLIB)
69c79,80
< rm -f $(LIB) $(OBJECT) lib.exp
---
> #JRF981215 rm -f $(LIB) $(OBJECT) lib.exp
> rm -f $(LLIB) $(LIB) $(OBJECT) lib.exp
78,80c89,94
< rm -f $(INSTROOT)$(nativedir)/$(LIB)
$(INSTROOT)$(nativedir)/$(L
IBV)
< $(INSTALL_DATA) $(LIB) $(INSTROOT)$(nativedir)/$(LIBV)
< $(LN) $(LIBV) $(INSTROOT)$(nativedir)/$(LIB)
---
> #JRF981215 rm -f $(INSTROOT)$(nativedir)/$(LIB)
$(INSTROOT)$(nativedir)/$(L
IBV)
> # $(INSTALL_DATA) $(LIB) $(INSTROOT)$(nativedir)/$(LIBV)
> # $(LN) $(LIBV) $(INSTROOT)$(nativedir)/$(LIB)
> rm -f $(INSTROOT)$(nativedir)/$(LIB)
$(INSTROOT)$(nativedir)/$(L
IB)
> $(INSTALL_DATA) $(LIB) $(INSTROOT)$(nativedir)/$(LIB)
> $(LN) $(LLIB) $(INSTROOT)$(nativedir)/$(LIB)
4. make install error on kaffe/scripts:
==============================================================
bash-2.02$ make install
for i in pizza pizzadoc ;\
do \
/tools/CYGWIN~1/H-I586~1/bin/install -c -m 755
./.bat/$i /usr/lo
cal/bin/$i.bat ;\
done
/tools/CYGWIN~1/H-I586~1/bin/install: ./.bat/pizza: No such file or
directory
/tools/CYGWIN~1/H-I586~1/bin/install: ./.bat/pizzadoc: No such file or
directory
make: *** [install-pizza] Error 1
==============================================================
Couple of problems here:
- test for bin directory is done in install-sun, but install-pizza is
run first
- SCREXT is set to .bat, which causes install to barf (I think it
should be
"" under CYGWIN)
- INSTALL_SCRIPT uses SCREXT
Here are the diffs:
bash-2.02$ diff Makefile.in Makefile.in.jrf
17c17,19
< SCREXT= @SCREXT@
---
> #JRF981215: script extension under CYGWIN is null
> #SCREXT= @SCREXT@
> SCREXT=
41c43,45
< install: install-pizza install-sun install-jars @suncompatible@
---
> #JRF981215: do install-sun first to create bin dir if needed
> #install: install-pizza install-sun install-jars @suncompatible@
> install: install-sun install-pizza install-jars @suncompatible@
Jim Flowers / Align Inc.
flowers at aligninc.com
More information about the kaffe
mailing list