It's nice to have a developer Tools CD (Dec2001DevTools) distributed from Apple. You should install them for sure.
From MacOS X Release 10.1 on, the linker uses two-level namespace scheme by default, which does not allow any unresolved, undefined symbol in two-level namespace executables. The use of "-undefined suppress" option will thus result in the following error:
/usr/bin/ld: -undefined error must be used when -twolevel_namespace is in effectMacOS X Release 10.1 libtool, however, has not been updated. I have applied the following patch to
libtool-macosx10.1.patchto make it compatible. /usr/X11R6/lib/config/darwinLib.rules also has the same problem for which
darwinLib.rules-macosx10.1.patchIn the above patches, I used "-undefined error" to use two-level namespace features. If this does not work for your purpose, you can use "-flat_namespace -undefined suppress" instead which forces the linker to use the old scheme. Try "man ld" for details.
Bash
I prefer bash to tcsh:
# rpm -ivh <somewhere>/bash-2.03-2a.ppc.rpm
From now on, I am going to use bash uless otherwise stated.
Libcompat
# rpm -ivh <somewhere>/Libcompat-14.1-2a.ppc.rpm
Libstreams
# rpm -ivh <somewhere>/Libstreams-23-1a.ppc.rpm