Hi,
for the:
---
snd_page_alloc: no symbol version for module_layout
---
issue, it generally indicate that the kernel modules were built against
kernel headers which are sightly different from the kernel you are
currently using. Doing manual operations fixing the kernel headers to
prevent that kind of issue is generally not an easy task.
For "kernelcompiler.sh" script issue in the HSF current version of the
driver, there are known issues with the "make debprecomp" feature. I
have attached to this post a patch that will hopefully solve the problem.
Regards,
Jonathan
Technical specialist / Linuxant
www.linuxant.com
support@xxxxxxxxxxxx
Vincent Lefevre wrote:
On 2009-07-10 12:42:17 -0400, Marvin Stodolsky wrote:
RE: > [ 11.476529] snd_page_alloc: no symbol version for module_layout
you may have a mismatch between the ALSA versions in the hsfmodem code
and those on your System.
hsfmodem isn't installed yet.
Anyway, according to
http://www.linuxant.com/drivers/hsf/index.php
it seems that alsa-driver-linuxant isn't necessary on my machine
(with HSF/HSFi). I wonder why cnxtinstall.run wanted to install it.
So, I've uninstalled alsa-driver-linuxant and reinstalled the
linux-image-2.6.30-1-amd64 package (now sound works OK).
I'm currently looking at hsfmodem. I've downloaded the source (TAR
format) for x86_64 (hsfmodem-7.80.02.04x86_64full.tar.gz).
When I try "make debprecomp", I get the following error:
[...]
install -d debian/tmp
../modules/kernelcompiler.sh: gcc version 3.2 or similar is required to compile modules for your kernel
Makefile:451: target `binaries/linux-2.6.30-1-amd64-SMP' given more than once in the same rule.
/home/vinc17/software/hsfmodem-7.80.02.04x86_64full/modules/kernelcompiler.sh: gcc version 3.2 or similar is required to compile modules for your kernel
/home/vinc17/software/hsfmodem-7.80.02.04x86_64full/modules/kernelcompiler.sh: gcc version 3.2 or similar is required to compile modules for your kernel
make[6]: *** [/home/vinc17/software/hsfmodem-7.80.02.04x86_64full/modules/mod_engine.o] Error 1
Why is it asking for gcc 3.2, while the kernel was compiled with
gcc 4.3.3?
$ cat /proc/version
Linux version 2.6.30-1-amd64 (Debian 2.6.30-2) (waldi@xxxxxxxxxx) (gcc version 4.3.3 (Debian 4.3.3-13) ) #1 SMP Wed Jul 8 12:20:34 UTC 2009
Note: on this machine, gcc 4.3.3 is the default gcc version.
diff -urN hsfmodem-7.80.02.04x86_64full/debian/rules.in hsfmodem-7.80.02.04x86_64full-debprecomp/debian/rules.in
--- hsfmodem-7.80.02.04x86_64full/debian/rules.in 2008-11-05 13:41:02.000000000 -0500
+++ hsfmodem-7.80.02.04x86_64full-debprecomp/debian/rules.in 2009-05-22 10:54:51.000000000 -0400
@@ -30,7 +30,7 @@
*[Ss][Mm][Pp]*) SMPSUFFIX="" ;; \
*) SMPSUFFIX="-SMP" ;; \
esac ; \
- if [ "$(TARGET_DISTRO)" == "custom" ]; then \
+ if [ "$(TARGET_DISTRO)" = "custom" ]; then \
KERNELSRC="/lib/modules/`uname -r`/build"; \
else \
KERNELSRC="$(DISTROKERNHDRSDIR)/$(TARGET_DISTRO)/linux-$(TARGET_KERNEL)"; \
@@ -63,6 +63,7 @@
dh_installdocs BUGS CHANGES CREDITS FAQ INSTALL LICENSE README # 100498D_RM_HxF_Released.pdf
endif
dh_installchangelogs
+ dh_installdeb
dh_compress
dh_md5sums
dpkg-gencontrol -p@CNXTTARGET@modem -isp
diff -urN hsfmodem-7.80.02.04x86_64full/modules/kernelcompiler.sh hsfmodem-7.80.02.04x86_64full-debprecomp/modules/kernelcompiler.sh
--- hsfmodem-7.80.02.04x86_64full/modules/kernelcompiler.sh 2008-10-01 11:41:04.000000000 -0400
+++ hsfmodem-7.80.02.04x86_64full-debprecomp/modules/kernelcompiler.sh 2009-05-19 16:34:12.000000000 -0400
@@ -5,6 +5,11 @@
#
# Written by Marc Boucher <marc@xxxxxxxxxxxx>
+proc_version_gcc()
+{
+ cat /proc/version | sed -e 's/.*(\(gcc[- ][^)]*\)).*/\1/'
+}
+
KERNELVER="$1"
KERNELSRC="$2"
@@ -14,10 +19,15 @@
if [ -f "${KERNELSRC}/kernelcompiler" ]; then
kstr="`cat \"${KERNELSRC}/kernelcompiler\"`"
else
- kstr="gcc version 3.2"
+ if [ "`uname -r`" = "${KERNELVER}" ]; then
+ # This situation happens when using "make rpmprecomp" or "make debprecomp"
+ kstr="`proc_version_gcc`"
+ else
+ kstr="gcc version 3.2"
+ fi
fi
else
- kstr="`cat /proc/version | sed -e 's/.*(\(gcc[- ][^)]*\)).*/\1/'`"
+ kstr="`proc_version_gcc`"
fi
case "$kstr" in