RE: [3c509] Compile time error on SuSE 9 with latest netdrivers.tgz file
"Kevin Martin" <[email protected]> Thu, 4 Mar 2004 16:19:49 -0600
| Newsgroups | gmane.linux.drivers.vortex.devel |
|---|---|
| Message-ID | <000e01c40236$cfbe9600$57f1d80a@kmartlaptop> |
Don't know if this ever got posted but... Oh, and I managed to make this work by replacing all of the HZ variable instances in the .c files with 100. It then compiled and I was able to load it with modprobe. Not the best workaround but no choice at this time. Regards, Kevin Martin [email protected] -----Original Message----- From: Kevin Martin [mailto:[email protected]] Sent: Thursday, January 29, 2004 4:24 PM To: 'Donald Becker' Cc: '[email protected]'; '[email protected]' Subject: RE: [3c509] Compile time error on SuSE 9 with latest netdrivers.tgz file Oops, I'm now guessing, based on the Makefile, that I'm using the following param.h file: /lib/modules/2.4.21-166-default/build/include/asm/param.h :::::::::::::: #ifndef _ASMi386_PARAM_H #define _ASMi386_PARAM_H #ifdef __KERNEL__ #define DESKTOP_HZ 1000 #define USER_HZ 100 /* default (user level) HZ */ #include <linux/hz.h> #endif /* __KERNEL__ */ #define EXEC_PAGESIZE 4096 #ifndef NGROUPS #define NGROUPS 32 #endif #ifndef NOGROUP #define NOGROUP (-1) #endif #define MAXHOSTNAMELEN 64 /* max length of hostname */ #endif This is obviously NOT the same as the param.h that Mr. Becker was expecting. Is this not a valid param.h file or do I need to adjust the make somehow? If I try to put /usr/include in the include path in the makefile I get a bunch of other errors about using the correct include files that belong w/ the OS that I'm trying to build on. By the way, the <linux/hz.h> file contains this: #ifndef _LINUX_HZ_H #define _LINUX_HZ_H #include <linux/config.h> #include <linux/kernel.h> extern unsigned long __HZ; static inline unsigned long get_hz(void) { #ifdef CONFIG_DEBUG_HZ if (unlikely(!__HZ)) { __label__ here; printk("early HZ: %p\n", &&here); here: init_HZ(USER_HZ); } #endif /* CONFIG_DEBUG_HZ */ return __HZ; } #define HZ get_hz() #define CLOCKS_PER_SEC (USER_HZ) /* like times() */ #define jiffies_to_clock_t(x) (likely((HZ) >= (USER_HZ)) ? \ (x + ((HZ) / (USER_HZ)) - 1) / ((HZ) / (USER_HZ )) : \ (x) * ((USER_HZ) / (HZ))) #define user_to_kernel_hz(x) (likely((HZ) >= (USER_HZ)) ? \ (x) * ((HZ) / (USER_HZ)) : \ (x + ((USER_HZ) / (HZ)) - 1) / ((USER_HZ) / (HZ ))) #define user_to_kernel_hz_overflow(x) ((x + USER_HZ - 1) * (HZ) / (USER_HZ)) #endif /* _LINUX_HZ_H */ What now oh 3c59x gurus???? Thanks for the help. Regards, Kevin Martin [email protected] -----Original Message----- From: Donald Becker [mailto:[email protected]] Sent: Thursday, January 29, 2004 1:24 PM To: Kevin Martin Cc: [email protected]; [email protected] Subject: Re: [3c509] Compile time error on SuSE 9 with latest netdrivers.tgz file On Wed, 28 Jan 2004, Kevin Martin wrote: > To: [email protected] This should be sent to the [email protected] mailing list. > Subject: [3c509] Compile time error on SuSE 9 with latest netdrivers.tgz > file > > SuSE Kernel revision is 2.4.21-166-default. > > I'm receiving the following error when trying to build the latest > 3c59x > driver: > > make KERNVER=`uname -r` > cc -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O6 > -I/lib/modules/2.4.21-166-default/build/include/ -pipe > -fno-strength-reduce -DMODVERSIONS -c -o 3c59x.o 3c59x.c > 3c59x.c:600: error: initializer element is not constant > 3c59x.c:600: error: (near initialization for `media_tbl[0].wait') Hmmm, it looks as if you are running a modified kernel. The likely element in common here is 'HZ', which should be defined as a constant in /usr/include/asm/param.h The first few lines of the file should have #ifndef HZ #define HZ 100 #endif -- Donald Becker [email protected] Scyld Computing Corporation http://www.scyld.com 914 Bay Ridge Road, Suite 220 Scyld Beowulf cluster systems Annapolis MD 21403 410-990-9993 _______________________________________________ vortex mailing list [email protected] http://www.scyld.com/mailman/listinfo/vortex