1********************************************************************************* 2* * 3* WARNING * 4* * 5* This is only valid for OLD MacOS X versions * 6* This are versions _before_ MacOS X-10.1 (Darwin-1.4) * 7* * 8* * 9********************************************************************************* 10 11If uname -a does print something like: 12 13Darwin HOST 1.4 Darwin Kernel Version 1.4: Sun Sep 9 15:39:59 PDT 2001; root:xnu/xnu-201.obj~1/RELEASE_PPC Power Macintosh powerpc 14 15or a version > 1.4 then you should rather read README.macosX 16 17/*--------------------------------------------------------------------------*/ 18 19Unfortunately, Apple does not deliver a consistent Mac OS-X system 20The longer they work on it, the more bugs they introduce... 21 22In addition, there is no visible 'clean' road of development. 23Release names (from 'uname') are confusing and don't help to find out what 24release they refer to. 25 26/*--------------------------------------------------------------------------*/ 27 The next hint is for Mac OS X versions up to January 2000 only: 28 29The file <bsd/dev/scsireg.h> tries to include <kern/queue.h> which cannot 30be found. 31 32To be able to compile, I suggest to create a symlink: 33 34System/Library/Frameworks/System.framework/Versions/B/Headers/kern -> kernserv 35 36To do this, chdir to: 37 38System/Library/Frameworks/System.framework/Versions/B/Headers/ 39 40and call 41 42ln -s kernserv kern 43 44as root. 45/*--------------------------------------------------------------------------*/ 46 47 48/*--------------------------------------------------------------------------*/ 49 This hint is for Mac OS X version starting ~ April 2000: 50 51Apple did remove the generic SCSI transport driver for unknown reasons! 52Cdrtools compile, but as there is no SCSI transport, you may only write 53CD's connected to other systems using the REMOTE SCSI protocol. 54/*--------------------------------------------------------------------------*/ 55 56/*--------------------------------------------------------------------------*/ 57 This hint is for Mac OS X versions starting around March 2001: 58 59If your compile log looks like this: 60 61 ==> MAKING "all" ON SUBCOMPONENT ".../libschily.mk" 62 ==> COMPILING "OBJ/powerpc-darwin-cc/cmpbytes.o" 63cmpbytes.c: In function `cmpbytes': 64cmpbytes.c:49: invalid operands to binary | 65make[1]: *** [OBJ/powerpc-darwin-cc/cmpbytes.o] Error 1 66make: *** [all] Error 2 67 68You are hit by the Apple developers. Some time ago they started to introduce 69a file <inttypes.h> which uses types defines in <sys/types.h> 70While the buggy types are ignored in <sys/types.h> they are used if found 71in <inttypes.h>. 72 73As a workaround, you may edit 74 75 incs/power-macintosh-darwin-cc/xconfig.h 76 77after it has been created by autoconf and make the lint containing 78HAME_INTTYPES_H this way: 79 80/* #undef HAVE_INTTYPES_H */ /* to use UNIX-98 inttypes.h */ 81 82This will tell the autoconf using code to ignore the system supplied 83<inttypes.h> and use the internal version. 84 85IMPORTANT: Don't forget to tell the Apple support that MacOSX sucks until they 86fix such fundamental bugs in the system include files! 87 88In case you are interested in the full details: the reason why cdrecord 89does not compile is that MacOS X defines a type 90 91typedef int * intptr_t; 92typedef unsigned int * uintptr_t; 93 94instead of the correct: 95 96typedef long intptr_t; 97typedef unsigned long intptr_t; 98 99... a result of either Apple developers being unwilling to read or unable to 100understand simple standards written in English :-( 101 102See: http://www.opengroup.org/onlinepubs/7908799/xsh/inttypes.h.html 103 104/*--------------------------------------------------------------------------*/ 105