running build_ext building 'missingos' extension creating build creating build/temp.darwin-7.9.0-Power_Macintosh-2.3 gcc -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -O2 -pipe -mcpu=7450 -I/System/Library/Frameworks/Python.framework/Versions/2.3/include/python2.3 -c missingos.c -o build/temp.darwin-7.9.0-Power_Macintosh-2.3/missingos.o missingos.c: In function `missingos_lchown': missingos.c:45: warning: implicit declaration of function `lchown' creating build/lib.darwin-7.9.0-Power_Macintosh-2.3 gcc -Wl,-F. -Wl,-F. -bundle -framework Python -O2 -pipe -mcpu=7450 build/temp.darwin-7.9.0-Power_Macintosh-2.3/missingos.o -o build/lib.darwin-7.9.0-Power_Macintosh-2.3/missingos.so ld: Undefined symbols: _lchown error: command 'gcc' failed with exit status 1 Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.51.19 (default-darwin/macos/10.3, gcc-3.3, libsystem-7.1-r0, 7.9.0 Power Macintosh) =============================================================== == System uname: 7.9.0 Power Macintosh powerpc macos-20041118 Python: [2.3 (#1, Sep 13 2003, 00:49:11)] distcc 2.0.1-zeroconf powerpc-apple-darwin7.0 (protocol 1) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: [Not Present] sys-devel/autoconf: [Not Present] sys-devel/automake: [Not Present] sys-devel/binutils: [Not Present] sys-devel/libtool: [Not Present] virtual/os-headers: 7.1 ACCEPT_KEYWORDS="ppc-macos ~ppc-macos" AUTOCLEAN="yes" CFLAGS="-O2 -pipe -mcpu=7450" CHOST="powerpc-apple-darwin" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/ qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -pipe -mcpu=7450" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache collision-protect distlocks strict userpriv" GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="ppc X altivec aqua bzip2 cdr emboss gdbm idea imagemagick ldap libwww ncurses nls png ppc- macos readline ruby sqlite ssl tetex threads zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Python 2.3 should have os.lchown but it appears MacOS's doesn't. It also appears that lchown isn't provided by fcntl.h either. Need confirmation on these two points, though.
Seems macos <=10.3 doesn't support lchown at all.
Sad but true, no lchown() on <=10.3. This *might* be fixed in 10.4, but I can't really say for about another 5 days ;)