Ubuntu folk,
Graham brought this problem problem to our attention concerning lt_modem
installs using our Lucent modem package, ltmodem-8.31a10.tar.gz at
ltmodem.heby.de for Ubuntu
Mark is our code expert and I do User help for the ltmodem issues.
The core of the issue is that while a
make install for the drivers
install:
make $(EXTMOD_SWITCH)=`pwd` -C $(KERNEL_DIR)
INSTALL_MOD_PATH=$(ROOTDIR) modules_install
works fine for a version nomenclature like 2.6.8-1-686
When applied to your release 2.6.8.1-3-386 , the -3-386 gets clipped, as
shown by:
# ls /lib/modules/*/extra
/lib/modules/2.4.27-1-686/extra:
lt_modem.o lt_modem.o~ lt_serial.o lt_serial.o~
/lib/modules/2.6.8-1-686/extra:
lt_modem.ko lt_serial.ko
/lib/modules/2.6.8.1/extra:
lt_modem.ko lt_serial.ko
So the standard modules install code seems to be broken by this syntax
type: 2.6.8.1-3-386
Probably would be simplest in the future if the more standard
2.6.n$EXTRAVERSION were used without "." in the EXTRAVERSION.
EXTRAVERSION certainly provides enough flexibility for a unique Ubuntu
naming.
Another modem packages using the standard "make install" will also be
faulted,
which I expect includes most of the winmodem packages.
Better get an advisory out to your Users that after installs,
they will likely have to
mv /lib/modules/2.6.8.1/extra /lib/modules/2.6.8.1-3-386/extra
Graham thus did and the driver service was thereafter fine.
MarvS
PS see my http://linmodems.technion.ac.il/packages/scanModem.gz
which aids modem chipset identification
Mark Spieth wrote:
yes the kernel build modules_install functionality seems broken for this
case.
need to find and submit patch or get the kernel packagers to correct their
mistake and not use this version format.
they should probably tow the line with respect to this. cant expect the main
kernel people to cope with everyones ideas of kernel rev numbers. need to
have a standard in this respect.
my 2c worth
mark
----- Original Message -----
From: "Marvin Stodolsky" <marvstod@xxxxxxx>
To: "Mark Spieth" <mark@xxxxxxxxxxxxx>
Cc: "Graham Ashton" <graham@xxxxxxxxxxxx>; "Mark" <mspieth@xxxxxxxxxxxxx>
Sent: Friday, December 03, 2004 12:50 PM
Subject: Re: Bug in ltmodem-8.31a10]
# grep -rF 2.6.8.1 *
include/linux/version.h:#define UTS_RELEASE "2.6.8.1-3-386"
is OK. Checked that earlier. It is something in the install processing
of 2.6.8.1-3-386,
that seems to clip off the -3-386
Again if I falsify another Debian header package 2.6.8-1-686
UTS_RELEASE "2.6.8-1-686"
to
UTS_RELEASE "2.6.8.7-1-686"
The
./build_module 2.6.8.7-1-686
goes through. But the
make install
creates
/lib/modules/2.6.8.7/extra/
lt_modem.o lt_serial.o
MarvS
Mark Spieth wrote:
do a
cd to /lib/modules/2.6.8.1-3-386/build which is your kernel headers dir
and
grep -rf 2.6.8.1 *
and see what comes up. last email was a furfy.
mark
----- Original Message -----
From: "Graham Ashton" <graham@xxxxxxxxxxxx>
To: "Mark Spieth" <mark@xxxxxxxxxxxxx>
Cc: "Marvin Stodolsky" <marvstod@xxxxxxx>; "Mark" <mspieth@xxxxxxxxxxxxx>
Sent: Friday, December 03, 2004 9:46 AM
Subject: Re: Re: Bug in ltmodem-8.31a10]
On Wed, 2004-12-01 at 23:05 +1100, Mark Spieth wrote:
had a little look. looks like ROOTDIR is generated by the kernel build
scripts.
thus I conclude that the config file used to build the kernel is
slightly
different than the one referred to in the cut down build part.
perhaps compare /boot/config-xxx with the .config in the kernel build
tree
maybe also the one in /lib/modules/xxx/build ? I think
difficult to say but I suspect the above is correct.
I've not followed the above too well, but this may help:
dog% cd /usr/src/linux-headers-2.6.8.1-3-386/
dog% diff .config /boot/config-2.6.8.1-3-386
dog% diff .config /lib/modules/2.6.8.1-3-386/build/.config
dog%
So they're all the same. There is however another headers directory,
which has a different config file.
dog% diff .config ../linux-headers-2.6.8.1-3/.config | head -n 3
13,15c13
< # CONFIG_CLEAN_COMPILE is not set
< CONFIG_BROKEN=y
Whilst investigating whether or not build_module reported using
2.6.8.1-3 I noticed the following in it's output:
Following a successful check for matching kernel-headers,
the modem drivers will be compiled for the current kernel
version: 2.6.8.1-3-386
Shortly after that it ran configure and found headers as follows:
checking for ld... yes
Checking for kernel headers
... in /usr/src/linux: nope
... in /usr/src/kernel-headers-2.6.8.1-3-386: nope
... in /usr/src/linux-2.6.8.1: nope
... in /usr/src/linux-2.6.8.1-3-386: nope
... in /lib/modules/2.6.8.1-3-386/build: Kernel headers found
in /lib/modules/2.6.8.1-3-386/build
using /lib/modules/2.6.8.1-3-386/build
Checking kernel header version
kernel headers are version 2.6.8.1-3-386
has irq_spinlock in async_struct 0
checking for fakeroot... fakeroot
updating cache ./config.cache
It also used the right ones when compiling. So either I didn't
understand your hypothesis, or the config files that it's actually using
match up. I'm hoping that I didn't understand it!
Hope that helps some.
Graham
----- Original Message -----
From: "Marvin Stodolsky" <marvstod@xxxxxxx>
To: "Mark" <mspieth@xxxxxxxxxxxxx>
Cc: "Graham Ashton" <graham@xxxxxxxxxxxx>
Sent: Wednesday, December 01, 2004 2:00 PM
Subject: [Fwd: Re: Bug in ltmodem-8.31a10]
Mark
Graham has revealed a puzzle, working with Debian derived Ubuntu
Linux,
$ fakeroot ./build_deb 2.6.8.1-3-386
culminates in:
source/debian/tmp/lib
`-- modules
`-- 2.6.8.1
`-- extra
|-- lt_modem.ko
`-- lt_serial.ko
Whereas is should be 2.6.8.1-3-386 !!!
For
$ fakeroot ./build_deb 2.6.8-1-686
there is the expected:
source/debian/tmp/lib
`-- modules
`-- 2.6.8-1-686
`-- extra
|-- lt_modem.ko
`-- lt_serial.ko
It is NOT the particular kernel-header package.
If I falsify the the base folder and UTS release: 2.6.8-1-686 -->
2.6.8.7-1-686
$ fakeroot ./build_deb 2.6.8.7-1-686
there results the undesired:
source/debian/tmp/lib
`-- modules
`-- 2.6.8.7
`-- extra
|-- lt_modem.ko
`-- lt_serial.ko
Thus it seems the three . nomenclature as in 2.6.8.7 results in the
clip of "-1-686" in the modules PATH for reasons obscure.
Tried putting " " around ROOTDIR as in
install:
make $(EXTMOD_SWITCH)=`pwd` -C $(KERNEL_DIR)
INSTALL_MOD_PATH="$(ROOTDIR)" modules_install
without effect.
I'm stumped
MarvS
Graham Ashton wrote:
Hi. Apologies if this is the wrong place to post about this, but I
didn't find a better option on the site.
I've just tried running ./build_module for ltmodem-8.31a10 and it
failed
just after it started trying to compile the two kernel modules. It
turned out that the Makefile.in inside the source.tar.gz file had a
CVS
conflict in it, so I commented out the relevant lines (75 to 85
inclusive for anybody else who needs to build it) and then tarred it
back up again.
Problem solved. Just thought I ought to point it out.
I've also run ./build_deb on my Ubuntu (hoary) box and it almost
worked,
but it placed the kernel modules in /lib/modules/2.6.8.1/extra (where
they couldn't be found) instead of 2.6.8.1-3-386/extra. Moving them
manually did the trick.
Cheers,
Graham
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.799 / Virus Database: 543 - Release Date: 11/19/2004
--
Graham Ashton <graham@xxxxxxxxxxxx>
|