Alsa driver 0.9.7 still need kernel 2.4.23-pre compile-fix patch. I have failed merge under 2.4.23-pre5. Reproducible: Always Steps to Reproduce: 1. use kernel 2.4.23-pre5 sources with /usr/src/linux 2. emerge alsa-driver Actual Results: Compile error about procfs. Expected Results: Finish compile successfully. As ebuild of 0.9.7 src_unpack() comment there. src_unpack() { unpack ${A} cd ${S} # The makefile still installs an alsasound initscript, # which we REALLY dont want. # This patch stops that epatch ${FILESDIR}/makefile.patch # Looks like the below are not needed as of 0.9.7. #epatch ${FILESDIR}/wolk.patch #epatch ${FILESDIR}/alsa-compile-fix }
the pre-compile-fix no longer applies to alsa-driver-0.9.7, so it's probably another bug. Maybe ask the alsa-devs for a patch that fixes compilation for pre5?
i got alsa-driver 0.9.7 with linux 2.4.23-pre5 ! there is the fix. replace the #if at adriver.h:130 with #if ( LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 0) \ && LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 4) ) \ || ( LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0) \ && LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 23) ) \ && !defined(WE_ARE_WOLK) driver compiles and works. at least for me (-;
forgot one thing to consider,maybe this will break compilation on 2.4.23 pre-pre5 kernels.....
I had the same problem with gs-sources-2.4.23_pre6-r1. I fixed it with this patch: --- include/adriver.h.orig 2003-09-30 04:54:47.000000000 -0400 +++ include/adriver.h 2003-10-09 22:44:24.000000000 -0400 @@ -127,7 +127,7 @@ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 3) && !defined(need_resched) #define need_resched() (current->need_resched) #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 4) && !defined(WE_ARE_WOLK) +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 23) && !defined(WE_ARE_WOLK) #include <linux/fs.h> static inline struct proc_dir_entry *PDE(const struct inode *inode) { This is a much more brutal version of Thomas' fix; it could break on other kernel trees/versions (but who cares about early 2.5 any more?). The error (I don't have the exact error) results from PDE being defined in the kernel tree and the alsa-driver code redefining it.
Although the new alsa-driver-0.9.7-r2.ebuild was released that tries to fix the compile problem, it is still broken with the current gs-sources-2.4.23_pre6-r1 kernel.
See the correlating extract from the config.log: === snip === configure:4526: checking for PDE configure:4550: gcc -c -mcpu=athlon-xp -O3 -pipe -fomit-frame-pointer -foptimize-sibling-ca lls -fprefetch-loop-arrays -falign-functions=32 -Wall -I/usr/src/linux/include conftest.c >&5 configure: In function `main': configure:4542: warning: implicit declaration of function `PDE' configure:4553: $? = 0 configure:4556: test -s conftest.o configure:4559: $? = 0 configure:4561: result: "no" === snap === and the log from the build itself: === snip === gcc -D__KERNEL__ -DMODULE=1 -I/var/tmp/portage/alsa-driver-0.9.7-r2/work/alsa-driver-0.9.7b/include -I/usr/src/linux/include -O2 -DLINUX -Wall -Wstrict-prototypes -fomit-frame-pointer -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -DALSA_BUILD -DKBUILD_BASENAME=sgbuf -c -o sgbuf.o sgbuf.c In file included from memalloc.c:27: /usr/src/linux/include/linux/proc_fs.h:213: redefinition of `PDE' /var/tmp/portage/alsa-driver-0.9.7-r2/work/alsa-driver-0.9.7b/include/adriver.h:133: `PDE' previously defined here make[1]: *** [memalloc.o] Error 1 === snap ===
Additional problem: snd-pcm-oss and snd-mixer-oss modules are not build anymore independ of the oss flag. And setting the flag, gives another set of compiling errors: gcc -D__KERNEL__ -DMODULE=1 -I/var/tmp/portage/alsa-driver-0.9.7-r2/work/alsa-driver-0.9.7b/include -I/usr/src/linux/include -O2 -DLINUX -Wall -Wstrict-prototypes -fomit-frame-pointer -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -DALSA_BUILD -I/var/tmp/portage/alsa-driver-0.9.7-r2/work/alsa-driver-0.9.7b/alsa-kernel/usb -E -D__GENKSYMS__ usbmidi.c | /sbin/genksyms -k 2.4.23 > /var/tmp/portage/alsa-driver-0.9.7-r2/work/alsa-driver-0.9.7b/include/modules/usb__usbmidi.ver.tmp mv /var/tmp/portage/alsa-driver-0.9.7-r2/work/alsa-driver-0.9.7b/include/modules/usb__usbmidi.ver.tmp /var/tmp/portage/alsa-driver-0.9.7-r2/work/alsa-driver-0.9.7b/include/modules/usb__usbmidi.ver make[2]: Leaving directory `/var/tmp/portage/alsa-driver-0.9.7-r2/work/alsa-driver-0.9.7b/usb' make[1]: Leaving directory `/var/tmp/portage/alsa-driver-0.9.7-r2/work/alsa-driver-0.9.7b' !!! ERROR: media-sound/alsa-driver-0.9.7-r2 failed. !!! Function src_compile, Line 68, Exitcode 2 !!! Parallel Make Failed
system: alsa-driver 0.9.7-r2 gs-sources 2.4.23_pre6-r1 problem: conflict over PDE possible cause: ALSA's configure script is not detecting PDE properly. I think this should considered a typo. Lines 1033 and 1034 are reversed. The section tests for PDE, but "if-exist" pde_defined=0, and "if-not-exist" pde_defined=1 my fix: $ ebuild <alsa-driver> unpack Edit configure.in: Line 1033 should be 1034, vice versa. $ autoconf generate new configure script using autoconf. $ ebuild <alsa-driver> merge additional comments: This might be an ALSA bug instead of a Gentoo bug.
Are we should wait for 2.4.23 Vanilla kernel to be released. May the next vanilla kernel likely to have same PDE defined.
anyway, the alsa configure script PDE-check simply doesn't work. I've patched it to include /usr/src/linux/include/linux/proc_fs.h in which the PDE stuff is included. the configure check still fails.
"anyway, the alsa configure script PDE-check simply doesn't work. I've patched it to include /usr/src/linux/include/linux/proc_fs.h in which the PDE stuff is included. the configure check still fails." I did that too (patch proc_fs.h in). But the problem was in the "decision tree" of the if-then-else in the script. After analysing the configure.in (which contains macros expanded by GNU Autoconf to create the "configure" script), these lines: configure.in: 1026:AC_TRY_COMPILE([ 1027:#define __KERNEL__ 1028:#include "$CONFIG_SND_KERNELDIR/include/linux/config.h" 1029:#include "$CONFIG_SND_KERNELDIR/include/linux/fs.h" 1030:],[ 1031: PDE(NULL); 1032:], 1033: AC_MSG_RESULT("no");pde_defined="0", 1034: AC_MSG_RESULT("yes");pde_defined="1", 1035: AC_MSG_RESULT("unknown");pde_defined="0" 1036:) means "try compiling <argument 1> (the .c file); if successful, do <argument 2> (which says PDE is *NOT* detected), else do <argument 3>". So by switching the lines 1033 and 1034, we can get a correct decision tree: try compiling the a C source with PDE() function; if it works, then pde_(is_)defined. I'll try to put a patch for this. I wanted to tell the ALSA guys, but their mailing-list webfront is just too messed up with all the spam warnings... Namarie, -LuminE (Eddy Mulyono)
Great! But it should get through to the ALSA developers. Should I try?
"Great! But it should get through to the ALSA developers. Should I try?" You should! I'd appreciate it. Please do tell me which mailing-list (or other channels of communication) that you utilized to contact them. Regards, -LuminE (Eddy Mulyono)
They already know it: http://sourceforge.net/mailarchive/forum.php?thread_id=3279566&forum_id=1752 There are other issues as well: http://sourceforge.net/mailarchive/forum.php?thread_id=3279565&forum_id=1752 http://sourceforge.net/mailarchive/forum.php?thread_id=3279567&forum_id=1752
Erm whoops... no, they don't know their PDE detection is broken x) Will send a mail to alsa-devel.
Sent the mail, waiting for response.
*** Bug 31045 has been marked as a duplicate of this bug. ***
*** Bug 31050 has been marked as a duplicate of this bug. ***
Just letting you know, using ~x86: alsa-driver : 0.9.7-r3 : maestro3 module as-sources : 2.4.23_pre6_aa3 Compile error, also gives PDE errors.
Still broken for new gs-sources-2.4.23_pre7!
I did as Eddy suggested and came up with this patch: --- configure.in.orig 2003-10-12 12:41:43.000000000 -0400 +++ configure.in 2003-10-17 00:01:10.000000000 -0400 @@ -1031,8 +1031,8 @@ ],[ PDE(NULL); ], - AC_MSG_RESULT("no");pde_defined="0", AC_MSG_RESULT("yes");pde_defined="1", + AC_MSG_RESULT("no");pde_defined="0", AC_MSG_RESULT("unknown");pde_defined="0" ) CFLAGS=$ac_save_CFLAGS Then in the ebuild, you must apply the patch and run autoconf (to remake configure): # Looks like the below are not needed as of 0.9.7. #epatch ${FILESDIR}/wolk.patch #epatch ${FILESDIR}/alsa-compile-fix epatch ${FILESDIR}/fix-PDE-detection autoconf } This fixes the build for me on 0.9.7-r3.
The PDE detection seems to be fixed in 0.9.7c: http://freshmeat.net/releases/139126/ Someone should try that now ;)
*** Bug 31337 has been marked as a duplicate of this bug. ***
Switching the lines like Eddy said fixed the problem with my alsa-driver ebuild. I'm using 2.4.23-pre7 and alsa-driver-0.9.7c
This has been fixed in alsa-driver cvs using the following patch: - --- configure.in.org 2003-10-20 03:09:17.000000000 -0400 +++ configure.in 2003-10-20 03:10:17.000000000 -0400 @@ -1029,10 +1029,11 @@ #include "$CONFIG_SND_KERNELDIR/include/linux/fs.h" #include "$CONFIG_SND_KERNELDIR/include/linux/proc_fs.h" ],[ - PDE(NULL); + struct proc_dir_entry * (*func)(); + func = PDE; ], - AC_MSG_RESULT("no");pde_defined="0", AC_MSG_RESULT("yes");pde_defined="1", + AC_MSG_RESULT("no");pde_defined="0", AC_MSG_RESULT("unknown");pde_defined="0" ) CFLAGS=$ac_save_CFLAGS
Could you guys put this fix into portage. I have a how to and it is easier to say ACCPET_KEYWORDS="~x86" emerge alsa-driver then explaing how to edit the files mid ebuild then continue the ebuild... It will be easy to remove once alsa finally fixes the problem...
*** Bug 31733 has been marked as a duplicate of this bug. ***
*** Bug 31815 has been marked as a duplicate of this bug. ***
added 0.9.7-r4 with pde fix
-r4 doesn't fix the PDE issue
*** Bug 31871 has been marked as a duplicate of this bug. ***
*** Bug 31853 has been marked as a duplicate of this bug. ***
echo the r4 doesnt fix the issue
Bumping to ALSA version 0.9.8 fixes the problems for me.
ok i'm an idiot... forgot ... the reason it doesnt work... is that you need to rerun autoconf after the source is unpacked... so adding src_unpack() { unpack ${A} cd ${S} # The makefile still installs an alsasound initscript, # which we REALLY dont want. # This patch stops that epatch ${FILESDIR}/makefile.patch #this is not needed after 0.9.7c (Bug #29965) epatch ${FILESDIR}/${P}-pde.patch # Looks like the below are not needed as of 0.9.7. #epatch ${FILESDIR}/wolk.patch #epatch ${FILESDIR}/alsa-compile-fix autoconf } will emerge it just fine
sorry, fixed in cvs
this behaviour is happening to 0.9.2 as well, which is currently marked stable
i wanna mark 0.9.8 stable any comment ?
I strongly agree with bumping 0.9.8 to stable.
*** Bug 32677 has been marked as a duplicate of this bug. ***
0.9.8 is stable