Attached is a previously posted patch that fixes the problems with CONFIG_MODVERSIONS in 3.0 final. Michael. Jonas Persson ([EMAIL PROTECTED]) wrote: > I examined the Makefiles for RTLinux 3.0 and 2.2 somewhat closely after having >problems with unresolved symbols in the modules built by RTLinux 3.0, and found out >that in 2.2, the RTLINUX variable actually points to the linux source tree, but in >3.0, the RTLINUX variable points to rtlinux itself. Thus, the makefile never finds >CONFIG_MODVERSIONS to be true in the following statements: > > ifdef CONFIG_MODVERSIONS > CFLAGS += -DMODVERSIONS -include $(RTLINUX)/include/linux/modversions.h > endif > > This means that you can add CONFIG_MODVERSIONS to your .config file in your rtlinux >source tree, or maybe even do the following: > > include linux/.config > > in the makefile. I wouldn't do that, a name clash could occur... unlikely, but still >possible. > > The reason for me currently not submitting a patch for this is that I previosly >accidentally got the modules to work with kernel 2.4.0 - maybe I just forgot to >activate module versioning, maybe I should examine the source code more closely! :-) > > Comments? What is the best solution? > > /Jonas > ______________________________________________________________________ > Jonas Persson E-mail: [EMAIL PROTECTED] > Project Manager, M.Sc C.Sc&E http://www.comsys.se/ > Comsys AB (publ) Phone: +46-(0)46-286 3051 > Forskningsbyn IDEON Fax: +46-(0)46-286 3505 > S-223 70 Lund, Sweden > > > ----- Original Message ----- > From: "Gerard Vermeulen" <[EMAIL PROTECTED]> > To: "Jonas Persson" <[EMAIL PROTECTED]> > Cc: "Comedi" <[EMAIL PROTECTED]> > Sent: Friday, March 16, 2001 12:00 PM > Subject: Re: Comedi 0.7.57 and RTLinux > > > > Jonas Persson wrote: > > > > > > INSTALL.RTLinux file states that I need to use RTLinux 2.1 in order for this to >work > > > > > No, RTLinux-2.2 and RTLinux-3.0 should work. Doc is outdated. > > > > I noticed a problem compiling RTLinux-3.0 with the prepatched-2.2.18 kernel: > > somehow the RTLinux 'make config' does not detect that I have module versioning >enabled > > (this worked in 3.0pre9 and pre10). > > > > I have an build-rtl-3.0.sh install script and to build and install the RTLinux > > modules, I added something like: > > make menuconfig > > make dep > > # FIXME: > > perl -pi.modules -e "s|-D_LOOSE_KERNEL_NAMES|-D_LOOSE_KERNEL_NAMES -DMODVERSION\ > > S -include /usr/src/linux/include/linux/modversions.h|g" rtl.mk > > make > > make devices > > > > (assuming that the kernel source is in /usr/src/linux/) > > > > Hope this helps -- Gerard > > -- [rtl] --- > To unsubscribe: > echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR > echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED] > -- > For more information on Real-Time Linux see: > http://www.rtlinux.org/rtlinux/
diff -Nru a/Makefile b/Makefile --- a/Makefile Fri Feb 23 23:19:43 2001 +++ b/Makefile Fri Feb 23 23:19:43 2001 @@ -48,7 +48,7 @@ CFLAGS += -DMODVERSIONS -include $(RTLINUX)/include/linux/modversions.h endif -CFLAGS += -D__KERNEL__ -Wall -Wstrict-prototypes +CFLAGS += -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes CC = ${CROSS_COMPILE}gcc endif @@ -150,7 +150,7 @@ MODULE_DIRS += regression -CFLAGS += -D__RTL__ -DMODULE -D_LOOSE_KERNEL_NAMES +CFLAGS += -D__RTL__ -D_LOOSE_KERNEL_NAMES CXXFLAGS := $(CFLAGS) -fno-exceptions -fno-rtti CFLAGS += -O2 diff -Nru a/scripts/cflags.mk b/scripts/cflags.mk --- a/scripts/cflags.mk Fri Feb 23 23:19:43 2001 +++ b/scripts/cflags.mk Fri Feb 23 23:19:43 2001 @@ -2,7 +2,7 @@ # Released under the terms of the GNU General Public License Version 2 alloverride: - @echo $(CC) $(CFLAGS) | sed 's/[^ ]* //; s/-I[^ ]* //; s/-fomit-frame-pointer//; s/-O2//' + @echo $(CC) $(CFLAGS) $(MODFLAGS) | sed 's/[^ ]* //; s/-I[^ ]* //; +s/-fomit-frame-pointer//; s/-O2//' include Makefile