Hello,
Could you please help me solve this problem. Compiling FTAPE 4.02 bombs because of an
erroneous struct definition I think. I am compiling ftape as a module. I inserted
the ftape dir in place of the one included with my kernel, did a make dep, etc.
compiling a new kernel. Things bombed when I tried making the ftape module via a make
modules call. GCC is version 2.7.2.3-14 on RedHat 6.0 kernel 2.2.5-15. Follows is
the output generated by GCC when it fails.
gcc -D__KERNEL__ -I/usr/src/linux-2.2.5/include -Wall -Wstrict-prototypes -O2
-fomit-frame-pointer -pipe -fno-strength-reduce -m486 -DCPU=486 -DMODULE -DMODVERSIONS
-include /usr/src/linux-2.2.5/include/linux/modversions.h -c -o fdc-io.o fdc-io.c
fdc-io.c: In function `fdc_interrupt_wait':
fdc-io.c:433: structure has no member named `timeout'
fdc-io.c:454: structure has no member named `timeout'
make[4]: *** [fdc-io.o] Error 1
make[4]: Leaving directory `/usr/src/linux-2.2.5/drivers/char/ftape/lowlevel'
make[3]: *** [_modsubdir_lowlevel] Error 2
make[3]: Leaving directory `/usr/src/linux-2.2.5/drivers/char/ftape'
make[2]: *** [_modsubdir_ftape] Error 2
make[2]: Leaving directory `/usr/src/linux-2.2.5/drivers/char'
make[1]: *** [_modsubdir_char] Error 2
make[1]: Leaving directory `/usr/src/linux-2.2.5/drivers'
make: *** [_mod_drivers] Error 2
This is the code segment(in ftape/lowlevel/fdc-io.c) where compiler points to(in
function fdc_interrupt_wait) :
<snip>
int fdc_interrupt_wait(fdc_info_t *fdc, unsigned int time)
{
struct wait_queue wait = {current, NULL};
TRACE_FUN(ft_t_fdc_dma);
if (fdc->irq_level > 1) {
TRACE(ft_t_warn,
"Geeh! Calling "__FUNCTION__"() with irq's off %d",
fdc->irq_level);
}
if (fdc->irq_level < 1) {
TRACE(ft_t_warn,
"Geeh! Calling "__FUNCTION__"() with irq's on %d",
fdc->irq_level);
}
#if LINUX_VERSION_CODE >= KERNEL_VER(2,0,16)
if (waitqueue_active(&fdc->wait_intr)) {
fdc_enable_irq(fdc);
TRACE_ABORT(-EIO, ft_t_err, "error: nested call");
}
#else
if (fdc->wait_intr) {
fdc_enable_irq(fdc);
TRACE_ABORT(-EIO, ft_t_err, "error: nested call");
}
#endif
/* timeout time will be up to USPT microseconds too long ! */
current->timeout = jiffies + (1000 * time + FT_USPT - 1) / FT_USPT;
current->state = TASK_INTERRUPTIBLE;
<etc>
Therefor I can't compile the module "ftape" because of this error.
I would appreciated some help in this.
Thank-you
Marc Denis Simard
[EMAIL PROTECTED]
Envoy� par MonCourrier.com