2.6.8.1-3-386 syntax install problem
Marvin Stodolsky
marvstod at rcn.com
Thu Dec 2 20:34:19 CST 2004
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 at rcn.com>
>To: "Mark Spieth" <mark at dclabs.com.au>
>Cc: "Graham Ashton" <graham at effectif.com>; "Mark" <mspieth at dclabs.com.au>
>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 at effectif.com>
>>>To: "Mark Spieth" <mark at dclabs.com.au>
>>>Cc: "Marvin Stodolsky" <marvstod at rcn.com>; "Mark" <mspieth at dclabs.com.au>
>>>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 at rcn.com>
>>>>>To: "Mark" <mspieth at dclabs.com.au>
>>>>>Cc: "Graham Ashton" <graham at effectif.com>
>>>>>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 at effectif.com>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>
>
>
>
More information about the ubuntu-devel
mailing list