[openbeos] Re: building Haiku

Ingo Weinhold wrote:

On 2005-06-28 at 07:13:15 [+0200], Luke Fowler wrote:


Just a quick note for folks building the tree for the first time who
don't already have Jam - the makefile in the jam directory won't work.
(Fails on StatCacheServer)

Go to the Haiku-os.org website and download the jam 2.5 zip and copy it
to /boot/home/config/bin/.  Then you can start building :-)




I didn't knew this, and it works just fine for me. Can you please specify, what exactly fails (error message, compile line).





Ok, Here's the log:

$ gcc -v
using priority 5
Reading specs from /boot/develop/tools/gnupro/lib/gcc-lib/i586-pc-beos/2.95.3-beos-041202/specs
gcc version 2.95.3-beos-041202
$
$ dir
total 44325
drwxr-xr-x 1 23521 23521 2048 Jun 28 01:15 haiku/
-rw-r--r-- 1 baron users 45386860 Jun 28 16:58 haiku-20050628.tar.bz2
$ cd haiku
$ ls
Jamfile ReadMe configure docs makehdimage
Jamrules build data headers src
$ cd src
$ cd tools
$ cd jam
$ ls
Build.com beos_stat_cache.h fileunix.c jamgramtab.h pathsys.h
Build.mpw builtins.c filevms.c jcache.c pathunix.c
Jam.html builtins.h glob.c jcache.h pathvms.c
Jambase command.c hash.c lists.c regexp.c
Jambase.html command.h hash.h lists.h regexp.h
Jamfile compile.c hcache.c make.c rules.c
Jamfile.html compile.h hcache.h make.h rules.h
Makefile execcmd.h headers.c make1.c scan.c
Porting execmac.c headers.h mkjambase.c scan.h
README execunix.c jam.c newstr.c search.c
README.CHANGES execvms.c jam.h newstr.h search.h
RELNOTES expand.c jambase.c option.c timestamp.c
StatCacheServer.cpp expand.h jambase.h option.h timestamp.h
StatCacheServer.h filemac.c jamgram.c parse.c variable.c
StatCacheServer.rdef filent.c jamgram.h parse.h variable.h
StatCacheServerImpl.h fileos2.c jamgram.y patchlevel.h yyacc
beos_stat_cache.c filesys.h jamgram.yy pathmac.c
$
$ make
cc -o ./jam0 builtins.c command.c compile.c execunix.c execvms.c expand.c filent.c fileos2.c fileunix.c filevms.c glob.c hash.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c parse.c pathunix.c pathvms.c regexp.c rules.c scan.c search.c timestamp.c variable.c -lnet
/boot/home/Haiku/haiku/src/tools/jam/execunix.c: In function `execcmd':
/boot/home/Haiku/haiku/src/tools/jam/execunix.c:228: warning: passing arg 2 of `execvp' from incompatible pointer type
./jam0
...found 169 target(s)...
...updating 38 target(s)...
MkDir1 bin.beosx86
Cc bin.beosx86/builtins.o
Cc bin.beosx86/command.o
Cc bin.beosx86/compile.o
Cc bin.beosx86/execunix.o
/boot/home/Haiku/haiku/src/tools/jam/execunix.c: In function `execcmd':
/boot/home/Haiku/haiku/src/tools/jam/execunix.c:228: warning: passing arg 2 of `execvp' from incompatible pointer type
Cc bin.beosx86/fileunix.o
Cc bin.beosx86/pathunix.o
Yacc1 jamgram.c jamgram.h
YaccMv jamgram.c jamgram.h
Cc bin.beosx86/jamgram.o
Cc bin.beosx86/jcache.o
Cc bin.beosx86/hcache.o
/boot/home/Haiku/haiku/src/tools/jam/hcache.c: In function `cache_name':
/boot/home/Haiku/haiku/src/tools/jam/hcache.c:88: warning: assignment discards qualifiers from pointer target type
/boot/home/Haiku/haiku/src/tools/jam/hcache.c: In function `read_netstring':
/boot/home/Haiku/haiku/src/tools/jam/hcache.c:153: warning: return discards qualifiers from pointer target type
/boot/home/Haiku/haiku/src/tools/jam/hcache.c: In function `hcache':
/boot/home/Haiku/haiku/src/tools/jam/hcache.c:361: warning: assignment discards qualifiers from pointer target type
/boot/home/Haiku/haiku/src/tools/jam/hcache.c:410: warning: assignment discards qualifiers from pointer target type
Cc bin.beosx86/beos_stat_cache.o
Cc bin.beosx86/expand.o
Cc bin.beosx86/glob.o
Cc bin.beosx86/hash.o
Cc bin.beosx86/headers.o
Cc bin.beosx86/lists.o
Cc bin.beosx86/make.o
Cc bin.beosx86/make1.o
Cc bin.beosx86/newstr.o
Cc bin.beosx86/option.o
Cc bin.beosx86/parse.o
Cc bin.beosx86/regexp.o
Cc bin.beosx86/rules.o
Cc bin.beosx86/scan.o
Cc bin.beosx86/search.o
Cc bin.beosx86/timestamp.o
Cc bin.beosx86/variable.o
Archive bin.beosx86/libjam.a
/boot/develop/tools/gnupro/bin/ar: creating bin.beosx86/libjam.a
Ranlib bin.beosx86/libjam.a
Cc bin.beosx86/mkjambase.o
Link bin.beosx86/mkjambase
Chmod1 bin.beosx86/mkjambase
Cc bin.beosx86/jam.o
GenFile1 jambase.c
Cc bin.beosx86/jambase.o
Link bin.beosx86/jam
Chmod1 bin.beosx86/jam
C++ bin.beosx86/StatCacheServer.o
CompileResources bin.beosx86/StatCacheServer.rsrc
Error: Couldn't find rc, the resources compiler. It should
Error: be located in distro/x86.R1/beos/bin and can be made
Error: by invoking `jam rc'. You can also build the
Error: StatCacheServer without resources by running
Error: NO_STAT_CACHE_SERVER_RESOURCES=1 jam


if [ -f ../../../distro/x86.R1/beos/bin/rc ]; then
../../../distro/x86.R1/beos/bin/rc -o "bin.beosx86/StatCacheServer.rsrc" "StatCacheServer.rdef"
else
echo "Error: Couldn't find rc, the resources compiler. It should "
echo "Error: be located in distro/x86.R1/beos/bin and can be made"
echo "Error: by invoking \`jam rc'. You can also build the"
echo "Error: StatCacheServer without resources by running"
echo "Error: NO_STAT_CACHE_SERVER_RESOURCES=1 jam"
exit 1;
fi
...failed CompileResources bin.beosx86/StatCacheServer.rsrc ...
...skipped StatCacheServer for lack of StatCacheServer.rsrc...
...failed updating 1 target(s)...
...skipped 1 target(s)...
...updated 36 target(s)...
make: *** [all] Error 1
$
$


It looks like you have to have rc built before you can do a 'make' on jam. So if you don't have jam or a net connection you are doing sneakernet to move the tools over. :-)

Thanks,

Luke


Other related posts: