Trying to compile hdparm 5.9 under Mac OS X on a G5 results in numerous errors: identify.c:5:25: linux/types.h: No such file or directory identify.c:6:20: endian.h: No such file or directory In file included from identify.c:13: hdparm.h:3:48:hdparm.c:11:20: endian.h: No such file or directory linux/types.h: No such file or directory In file included from identify.c:13: hdparm.h:14: error: parse error before '*' token hdparm.h:14: warning: function declaration isn't a prototype hdparm.h:25: warning: declaration of `devname' shadows a global declaration /usr/include/stdlib.h:195: warning: shadowed declaration is here identify.c:411: error: parse error before "mode_loop" identify.c:411: error: parse error before "mode_sup" identify.c:411: warning: type defaults to `int' in declaration of `mode_loop' identify.c:411: warning: function declaration isn't a prototype identify.c:411: warning: data definition has no type or storage class identify.c:412: error: parse error before '*' token identify.c:412: warning: function declaration isn't a prototype identify.c:415: error: parse error before '*' token identify.c:416: warning: function declaration isn't a prototype identify.c: In function `identify': identify.c:420: error: `__u16' undeclared (first use in this function) identify.c:420: error: (Each undeclared identifier is reported only once identify.c:420: error: for each function it appears in.) identify.c:420: error: parse error before "val" identify.c:423: error: `__u8' undeclared (first use in this function) identify.c:425: error: `__u32' undeclared (first use in this function) identify.c:426: error: `__u64' undeclared (first use in this function) identify.c:428: error: `id_supplied' undeclared (first use in this function) identify.c:429: error: `val' undeclared (first use in this function) identify.c:431: warning: passing arg 1 of `strlen' from incompatible pointer type identify.c:442: error: `ii' undeclared (first use in this function) identify.c:445: error: parse error before "scratch" identify.c:446: error: `chksum' undeclared (first use in this function) identify.c:459: error: `dev' undeclared (first use in this function) identify.c:463: error: `like_std' undeclared (first use in this function) identify.c:467: error: `eqpt' undeclared (first use in this function) identify.c:524: error: `std' undeclared (first use in this function) identify.c:535: error: `jj' undeclared (first use in this function) identify.c:536: error: `kk' undeclared (first use in this function) identify.c:544: error: `min_std' undeclared (first use in this function) identify.c:639: error: `ll' undeclared (first use in this function) identify.c:639: error: `mm' undeclared (first use in this function) identify.c:639: error: `bb' undeclared (first use in this function) identify.c:639: error: `bbbig' undeclared (first use in this function) identify.c:641: error: parse error before "val" identify.c:640: warning: empty body in an if-statement identify.c:651: error: parse error before "val" identify.c:650: warning: empty body in an if-statement identify.c:652: error: parse error before "else" identify.c:660: error: parse error before "val" identify.c:663: error: `nn' undeclared (first use in this function) identify.c:663: error: parse error before "val" identify.c:676: error: parse error before "val" identify.c:766: error: parse error before "apm_level" identify.c:768: error: `apm_level' undeclared (first use in this function) identify.c:800: error: `err_dma' undeclared (first use in this function) identify.c:800: error: `have_mode' undeclared (first use in this function) identify.c: At top level: identify.c:952: error: parse error before "mode_loop" identify.c:952: error: parse error before "mode_sup" identify.c:952: warning: return type defaults to `int' identify.c:952: warning: function declaration isn't a prototype identify.c: In function `mode_loop': identify.c:953: error: `__u16' undeclared (first use in this function) identify.c:953: error: parse error before "ii" identify.c:954: error: `__u8' undeclared (first use in this function) identify.c:955: error: `ii' undeclared (first use in this function) identify.c:956: error: `mode_sel' undeclared (first use in this function) identify.c:957: error: `cc' undeclared (first use in this function) identify.c:958: error: `have_mode' undeclared (first use in this function) identify.c:958: error: `err_dma' undeclared (first use in this function) identify.c:960: error: `mode_sup' undeclared (first use in this function) identify.c: At top level: identify.c:968: error: parse error before '*' token identify.c:968: warning: function declaration isn't a prototype identify.c: In function `print_ascii': identify.c:969: error: `__u8' undeclared (first use in this function) identify.c:969: error: parse error before "ii" identify.c:973: error: `ii' undeclared (first use in this function) identify.c:973: error: `length' undeclared (first use in this function) identify.c:974: error: `p' undeclared (first use in this function) make: *** [identify.o] Error 1 make: *** Waiting for unfinished jobs.... hdparm.c:15:27: sys/sysmacros.h: No such file or directory hdparm.c:20:25: linux/types.h: No such file or directory hdparm.c:21:25: linux/hdreg.h: No such file or directory hdparm.c:22:25: linux/major.h: No such file or directory hdparm.c:23:27: asm/byteorder.h: No such file or directory In file included from hdparm.c:25: hdparm.h:3:48: linux/types.h: No such file or directory In file included from hdparm.c:25: hdparm.h:14: error: parse error before '*' token hdparm.h:14: warning: function declaration isn't a prototype hdparm.h:25: warning: declaration of `devname' shadows a global declaration /usr/include/stdlib.h:195: warning: shadowed declaration is here hdparm.c: In function `dump_identity': hdparm.c:161: error: dereferencing pointer to incomplete type hdparm.c:161: error: dereferencing pointer to incomplete type hdparm.c:161: error: dereferencing pointer to incomplete type hdparm.c:164: error: dereferencing pointer to incomplete type hdparm.c:169: error: dereferencing pointer to incomplete type hdparm.c:169: error: dereferencing pointer to incomplete type hdparm.c:169: error: dereferencing pointer to incomplete type hdparm.c:170: error: dereferencing pointer to incomplete type hdparm.c:170: error: dereferencing pointer to incomplete type hdparm.c:170: error: dereferencing pointer to incomplete type hdparm.c:171: error: dereferencing pointer to incomplete type hdparm.c:172: error: dereferencing pointer to incomplete type hdparm.c:172: error: dereferencing pointer to incomplete type hdparm.c:173: error: dereferencing pointer to incomplete type hdparm.c:175: error: dereferencing pointer to incomplete type hdparm.c:176: error: dereferencing pointer to incomplete type hdparm.c:177: error: dereferencing pointer to incomplete type hdparm.c:178: error: dereferencing pointer to incomplete type hdparm.c:183: error: dereferencing pointer to incomplete type hdparm.c:185: error: dereferencing pointer to incomplete type hdparm.c:186: error: dereferencing pointer to incomplete type hdparm.c:188: error: dereferencing pointer to incomplete type hdparm.c:190: error: dereferencing pointer to incomplete type hdparm.c:190: error: dereferencing pointer to incomplete type hdparm.c:191: error: dereferencing pointer to incomplete type hdparm.c:191: error: dereferencing pointer to incomplete type hdparm.c:191: error: dereferencing pointer to incomplete type hdparm.c:192: error: dereferencing pointer to incomplete type hdparm.c:193: error: dereferencing pointer to incomplete type hdparm.c:194: error: dereferencing pointer to incomplete type hdparm.c:196: error: dereferencing pointer to incomplete type hdparm.c:197: error: dereferencing pointer to incomplete type hdparm.c:197: error: dereferencing pointer to incomplete type hdparm.c:198: error: dereferencing pointer to incomplete type hdparm.c:199: error: dereferencing pointer to incomplete type hdparm.c:200: error: dereferencing pointer to incomplete type hdparm.c:201: error: dereferencing pointer to incomplete type hdparm.c:202: error: dereferencing pointer to incomplete type hdparm.c:203: error: dereferencing pointer to incomplete type hdparm.c:204: error: dereferencing pointer to incomplete type hdparm.c:205: error: dereferencing pointer to incomplete type hdparm.c:206: error: dereferencing pointer to incomplete type hdparm.c:207: error: dereferencing pointer to incomplete type hdparm.c:208: error: dereferencing pointer to incomplete type hdparm.c:209: error: dereferencing pointer to incomplete type hdparm.c:210: error: dereferencing pointer to incomplete type hdparm.c:211: error: dereferencing pointer to incomplete type hdparm.c:212: error: dereferencing pointer to incomplete type hdparm.c:213: error: dereferencing pointer to incomplete type hdparm.c:217: error: dereferencing pointer to incomplete type hdparm.c:218: error: dereferencing pointer to incomplete type hdparm.c:221: error: dereferencing pointer to incomplete type hdparm.c:221: error: dereferencing pointer to incomplete type hdparm.c:222: error: dereferencing pointer to incomplete type hdparm.c:223: error: dereferencing pointer to incomplete type hdparm.c:223: error: dereferencing pointer to incomplete type hdparm.c:224: error: dereferencing pointer to incomplete type hdparm.c:225: error: dereferencing pointer to incomplete type hdparm.c:226: error: dereferencing pointer to incomplete type hdparm.c:228: error: dereferencing pointer to incomplete type hdparm.c:229: error: dereferencing pointer to incomplete type hdparm.c:230: error: dereferencing pointer to incomplete type hdparm.c:231: error: dereferencing pointer to incomplete type hdparm.c:232: error: dereferencing pointer to incomplete type hdparm.c:233: error: dereferencing pointer to incomplete type hdparm.c:234: error: dereferencing pointer to incomplete type hdparm.c:238: error: dereferencing pointer to incomplete type hdparm.c:240: error: dereferencing pointer to incomplete type hdparm.c:241: error: dereferencing pointer to incomplete type hdparm.c:242: error: dereferencing pointer to incomplete type hdparm.c:243: error: dereferencing pointer to incomplete type hdparm.c:244: error: dereferencing pointer to incomplete type hdparm.c:245: error: dereferencing pointer to incomplete type hdparm.c:246: error: dereferencing pointer to incomplete type hdparm.c:247: error: dereferencing pointer to incomplete type hdparm.c:248: error: dereferencing pointer to incomplete type hdparm.c:249: error: dereferencing pointer to incomplete type hdparm.c:253: error: dereferencing pointer to incomplete type hdparm.c:253: error: dereferencing pointer to incomplete type hdparm.c:254: error: dereferencing pointer to incomplete type hdparm.c:254: error: dereferencing pointer to incomplete type hdparm.c: In function `flush_buffer_cache': hdparm.c:295: error: `BLKFLSBUF' undeclared (first use in this function) hdparm.c:295: error: (Each undeclared identifier is reported only once hdparm.c:295: error: for each function it appears in.) hdparm.c: In function `time_cache': hdparm.c:344: error: `SHM_LOCK' undeclared (first use in this function) hdparm.c: In function `time_device': hdparm.c:454: error: `SHM_LOCK' undeclared (first use in this function) hdparm.c: At top level: hdparm.c:689: warning: declaration of `devname' shadows a global declaration /usr/include/stdlib.h:195: warning: shadowed declaration is here hdparm.c: In function `process_dev': hdparm.c:708: error: `BLKRASET' undeclared (first use in this function) hdparm.c:748: error: `HDIO_SET_32BIT' undeclared (first use in this function) hdparm.c:754: error: `HDIO_SET_MULTCOUNT' undeclared (first use in this function) hdparm.c:765: error: `BLKROSET' undeclared (first use in this function) hdparm.c:773: error: `HDIO_SET_UNMASKINTR' undeclared (first use in this function) hdparm.c:983: error: `HDIO_GET_MULTCOUNT' undeclared (first use in this function) hdparm.c:992: error: `HDIO_GET_32BIT' undeclared (first use in this function) hdparm.c:1009: error: `HDIO_GET_UNMASKINTR' undeclared (first use in this function) hdparm.c:1056: error: `BLKROGET' undeclared (first use in this function) hdparm.c:1064: error: `BLKRAGET' undeclared (first use in this function) hdparm.c:1076: error: storage size of `g' isn't known hdparm.c:1087: error: `HDIO_GETGEO' undeclared (first use in this function) hdparm.c:1076: warning: unused variable `g' hdparm.c:1130: error: storage size of `id' isn't known hdparm.c:1132: error: `HDIO_GET_IDENTITY' undeclared (first use in this function) hdparm.c:1130: warning: unused variable `id' hdparm.c:1145: error: `__u16' undeclared (first use in this function) hdparm.c:1145: error: `id' undeclared (first use in this function) hdparm.c:1146: error: `WIN_IDENTIFY' undeclared (first use in this function) hdparm.c:1148: error: `HDIO_DRIVE_CMD' undeclared (first use in this function) hdparm.c:1149: error: `WIN_PIDENTIFY' undeclared (first use in this function) hdparm.c:1155: error: parse error before ')' token hdparm.c:1163: warning: implicit declaration of function `__le16_to_cpus' hdparm.c:1190: error: `BLKRRPART' undeclared (first use in this function) hdparm.c:1076: error: storage size of `g' isn't known hdparm.c:1130: error: storage size of `id' isn't known hdparm.c: In function `identify_from_stdin': hdparm.c:1383: error: `__u16' undeclared (first use in this function) hdparm.c:1383: error: parse error before ')' token hdparm.c: In function `main': hdparm.c:1722: error: `get_apmmode' undeclared (first use in this function) hdparm.c:1724: error: `apmmode' undeclared (first use in this function) hdparm.c:1724: error: `set_apmmode' undeclared (first use in this function) hdparm.c:1394: warning: unused variable `tmpstr' hdparm.c:1395: warning: unused variable `name' hdparm.c:1396: warning: unused variable `neg' /usr/include/ctype.h: At top level: hdparm.c:92: warning: `set_cdromspeed' defined but not used hdparm.c:92: warning: `cdromspeed' defined but not used make: *** [hdparm.o] Error 1
5.7 is also affected
please provide the output of `emerge info`. I think you are using some bugy kernel-headers.
uh.. I just saw that you are running Mac OS X. This is not ppc64, but an osx problem.
hdparm is a linux-centric tool, it is not needed in Darwin/OS X. See various tools available to achieve similar functionality i.e. hdiutil, diskutil, hdid, etc.