Warning, although our project is now approaching general usability for developers, it is still a work in progress and may contain inaccuracies or omissions. Be sure to read the APSL and the GPL, so that you will know your rights. Send any email regarding this document to proclus@iname.com. Please remember that we are in alpha, so this procedure is for the adventurous. Almost all the packages work, but there are still many problems. Join the project, if you want them fixed. Once again, the Makefiles and sources may be in somewhat rough shape. Darwin has been in a state of flux, and we often have to respond to that at the code level. This especially applies to the major projects like the package manager and the stuff at gnu-darwin.com. Here are the files you will need if you want to build the package manager. http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gnu-darwin/pkg_install/ http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gnu-darwin/fetch/ http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gnu-darwin/libfetch/ http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gnu-darwin/libftpio/ http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gnu-darwin/libc/ We will probably eliminate libftpio down the road. You should already have libmd. http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gnu-darwin/libmd-0.3/ Here are some skeletal instructions for building the package manager. Check the porting tips, if you run into problems. After that, please feel free to contact me if you have any questions about it. cd libftpio/ make # you can probably ignore the errors cp *.h /usr/local/include/ cp libftpio* /usr//local/lib/ ranlib /usr/local/lib//libftpio* cd ../fetch/ cp *.h /usr/local/include/ # no need to make fetch cd libfetch/ make # you can probably ignore the errors cp *.h /usr/local/include/ cp libfetch* /usr/local/lib ranlib /usr/local/lib/libfetch* cd ../libc cc -c -DLIBC_RCS -DSYSLIBC_RCS -I./include -Dlint */*.c # libgnu-darwin cc -c parts.c # gnu-darwin filio compatibility parts ar ur /usr/local/lib/libfetch.a ../libc/getosreldate.o ar ur /usr/local/lib/libfetch.a ../libc/mktemp.o ar ur /usr/local/lib/libfetch.a ../libc/parts.o ar ur /usr/local/lib/libfetch.a ../libc/arc4random.o cd ../pkg_install make # make pkg_info, pkg_create, etc Recently, I have been having trouble with the following error. /usr/bin/ld: Undefined symbols: __divdi3 You can shim it out in pkg_install/info/show.c as follows. _divdi3(){return(-1);} Alternatively, you can have a look at libc/*/divdi3.c and try to figure out how to make it work. I tested the shimmed version of pkg_info on /var/db/pkg/gnomeutils-1.2.1/ and it seems to work, but I have not tested it with the ports system yet. Finally, it should be noted that there is currently a problem with pkg_add because none of the available versions of tar recognize the --fast-read flag. Although this problem was not present in the pkg_add binary that was distributed with TDC, it is present in the sources. As an intermim measure, This flag should be deleted from the sources or simply edited from the resulting binary by overstriking with spaces.