PDA

View Full Version : Help me compile Promise Drivers



briko
05-01-2004, 03:10 AM
I got these drivers for my Fasttrak 376 Controller but I can't get it to compile. http://www.antgel.co.uk/compsci/linux/promise_raid.shtml
I managed to fix some of the headers that are in different directories but some of the headers do not even exist anywhere in the filesystem.

knoppix@ttyp0[par15]$ make
fasttrak.c:40:55: /usr/src/linux-2.4.24-xfs/drivers/scsi/sd.h: No such file or directory
fasttrak.c:42:58: /usr/src/linux-2.4.24-xfs/drivers/scsi/hosts.h: No such file or directory
fasttrak.c:123: error: parse error before '*' token
fasttrak.c:124: warning: function declaration isn't a prototype
fasttrak.c: In function `ft3xx_ioctl':
fasttrak.c:125: error: `cmd' undeclared (first use in this function)
fasttrak.c:125: error: (Each undeclared identifier is reported only once
fasttrak.c:125: error: for each function it appears in.)
fasttrak.c: At top level:
fasttrak.c:438: warning: `struct SHT' declared inside parameter list
fasttrak.c:438: warning: its scope is only this definition or declaration, which is probably not what you want
fasttrak.c: In function `do_ft3xx_detect':
fasttrak.c:491: warning: implicit declaration of function `scsi_register'
fasttrak.c:491: warning: assignment makes pointer from integer without a cast
fasttrak.c:492: error: dereferencing pointer to incomplete type
fasttrak.c:493: error: dereferencing pointer to incomplete type
fasttrak.c:494: error: dereferencing pointer to incomplete type
fasttrak.c:495: error: dereferencing pointer to incomplete type
fasttrak.c:500: error: dereferencing pointer to incomplete type
fasttrak.c:505: warning: assignment makes pointer from integer without a cast
fasttrak.c:506: error: dereferencing pointer to incomplete type
fasttrak.c:507: error: dereferencing pointer to incomplete type
fasttrak.c:508: error: dereferencing pointer to incomplete type
fasttrak.c: At top level:
fasttrak.c:558: warning: `struct SHT' declared inside parameter list
fasttrak.c: In function `ft3xx_detect':
fasttrak.c:565: error: dereferencing pointer to incomplete type
fasttrak.c:566: error: dereferencing pointer to incomplete type
fasttrak.c:567: warning: passing arg 1 of `do_ft3xx_detect' from incompatible pointer type
fasttrak.c: At top level:
fasttrak.c:595: warning: `struct Scsi_Host' declared inside parameter list
fasttrak.c: In function `ft3xx_release':
fasttrak.c:603: warning: implicit declaration of function `scsi_unregister'
fasttrak.c: At top level:
fasttrak.c:616: error: parse error before '*' token
fasttrak.c:616: error: parse error before '*' token
fasttrak.c:624: error: parse error before '->' token
fasttrak.c:625: error: parse error before numeric constant
fasttrak.c:636: warning: type defaults to `int' in declaration of `sgpnt'
fasttrak.c:636: error: `cmd' undeclared here (not in a function)
fasttrak.c:636: warning: data definition has no type or storage class
fasttrak.c:637: error: parse error before "for"
fasttrak.c:643: warning: type defaults to `int' in declaration of `ret'
fasttrak.c:643: error: initializer element is not constant
fasttrak.c:643: warning: data definition has no type or storage class
fasttrak.c:644: error: parse error before "return"
fasttrak.c: In function `EndRequest':
fasttrak.c:656: error: `Scsi_Cmnd' undeclared (first use in this function)
fasttrak.c:656: error: `cmd' undeclared (first use in this function)
fasttrak.c:656: error: parse error before ')' token
fasttrak.c:657: error: parse error before '*' token
fasttrak.c:657: warning: function declaration isn't a prototype
fasttrak.c: At top level:
fasttrak.c:675: error: parse error before '*' token
fasttrak.c:676: warning: function declaration isn't a prototype
fasttrak.c: In function `ft3xx_abort':
fasttrak.c:678: error: `cmd' undeclared (first use in this function)
fasttrak.c:679: error: `SCSI_ABORT_NOT_RUNNING' undeclared (first use in this function)
fasttrak.c:682: error: `DID_ABORT' undeclared (first use in this function)
fasttrak.c:686: error: `SCSI_ABORT_ERROR' undeclared (first use in this function)
fasttrak.c:689: error: `SCSI_ABORT_SUCCESS' undeclared (first use in this function)
fasttrak.c: At top level:
fasttrak.c:693: error: parse error before '*' token
fasttrak.c:694: warning: function declaration isn't a prototype
fasttrak.c: In function `ft3xx_abort_eh':
fasttrak.c:696: error: `cmd' undeclared (first use in this function)
fasttrak.c:697: error: `SCSI_ABORT_NOT_RUNNING' undeclared (first use in this function)
fasttrak.c:700: error: `DID_ABORT' undeclared (first use in this function)
fasttrak.c:704: error: `FAILED' undeclared (first use in this function)
fasttrak.c:707: error: `SUCCESS' undeclared (first use in this function)
fasttrak.c: At top level:
fasttrak.c:720: error: parse error before '*' token
fasttrak.c:721: warning: function declaration isn't a prototype
fasttrak.c: In function `ft3xx_reset':
fasttrak.c:724: error: `cmd' undeclared (first use in this function)
fasttrak.c:724: error: `DID_RESET' undeclared (first use in this function)
fasttrak.c:728: error: `SCSI_RESET_ERROR' undeclared (first use in this function)
fasttrak.c:731: error: `SCSI_RESET_SUCCESS' undeclared (first use in this function)
fasttrak.c: At top level:
fasttrak.c:735: error: parse error before '*' token
fasttrak.c:736: warning: function declaration isn't a prototype
fasttrak.c: In function `ft3xx_reset_eh':
fasttrak.c:739: error: `cmd' undeclared (first use in this function)
fasttrak.c:739: error: `DID_RESET' undeclared (first use in this function)
fasttrak.c:743: error: `FAILED' undeclared (first use in this function)
fasttrak.c:746: error: `SUCCESS' undeclared (first use in this function)
fasttrak.c: At top level:
fasttrak.c:758: error: parse error before '*' token
fasttrak.c:759: warning: function declaration isn't a prototype
fasttrak.c: In function `ft3xx_bios_param':
fasttrak.c:760: error: `Geometry' undeclared (first use in this function)
fasttrak.c:762: error: `disk' undeclared (first use in this function)
fasttrak.c: At top level:
fasttrak.c:796: error: parse error before "driver_template"
fasttrak.c:796: warning: type defaults to `int' in declaration of `driver_template'
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: initialization makes integer from pointer without a cast
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: error: `ft3xx_queuecommand' undeclared here (not in a function)
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: error: field name not in record or union initializer
fasttrak.c:796: error: (near initialization for `driver_template')
fasttrak.c:796: warning: excess elements in scalar initializer
fasttrak.c:796: warning: (near initialization for `driver_template')
fasttrak.c:796: warning: data definition has no type or storage class
fasttrak.c:797:53: /usr/src/linux/drivers/scsi/scsi_module.c: No such file or directory
make: *** [fasttrak.o] Error 1

Durand Hicks
05-01-2004, 04:04 AM
You'll need the full kernel sources to compile the promise raid driver. The kernel headers doesn't have the directories that the driver needs to compile against. Go to www.kernel.org and download the 2.4.24 full kernel source package. You'll need to get the xfs patch from the debian archives, and patch it against the kernel source, as well as the patch klaus left in /usr/src. That will give you the exact kernel source Klaus used to compile your kernel. Make a modules directory in /usr/src and put your source code for the promise driver in there and compile with the kernel, or separately, if you prefer.

HTH,

Durand

P.S.: If you're running from cd, this won't work, it has to be done from a full install only.