[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DMODVERSIONS causing a lot of problems



Colin wrote:

> >After not getting the aureal sound driver to install, I'm so unsure
> >about enabling or disabling this feature the next time I have to build
> >a new kernel. Most astonishing is the first output of make:
> >
> >make install AUCHIP=AU8820
> >make[1]: Entering directory `/root/drivers/sound/aureal'
>                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
> >cc -D__KERNEL__  -DMODULE -DAU8820 -mpentium  -O6 -fomit-frame-pointer
> >-Wall -pipe -I/usr/src/linux/include   -c -o au_audio.o au_audio.c
>                ^^^^^^^^^^^^^^^^^^^^^^
> >In file included from au_audio.c:49:
> >au_vortex.h:55: linux/modversions.h: No such file or directory
> >
> >
> >Where does the routine look for the header,
> 
> Wherever the C compiler is looking for include files; specifically,
> here, /usr/src/linux/include.
> 
> I've underlined two paths above which ought to be in similar places but
> aren't. Are you doing something odd with symlinks?

Thanks for your helpful message Colin!
I untarred the aureal driver package into /root/drivers/sound because
this package has a own makefile (supposing to have a built in module
installation routine) which would collidate with the makefile in..
/usr/src/...<kernel>../drivers/sound/
... and by thinking every system adjustment should only be done by
root. 
Now what you suggested below (quoted) is absolutely new for me which
isn't that surprising because I'm really not that experienced in
administrating linux/unix.

This log :
> >-Wall -pipe -I/usr/src/linux/include   -c -o au_audio.o au_audio.c
>                ^^^^^^^^^^^^^^^^^^^^^^
...seems to have it's roots in the variable INCLUDEDIRS which I have
just found in the aureal makefile (attached to this message). I guess
I was too tired yesterday to notice it.

The kernel src is located at /usr/src/linux/xxx-2.2.17....

..and:
> >In file included from au_audio.c:49:
> >au_vortex.h:55: linux/modversions.h: No such file or directory
... I guess I have to cp modversions.h to the /usr/src/linux/ dir?
puh... what a work!


> Also, you really shouldn't be building kernels as root if you can avoid
> it. Only the installation step requires root access, so keeping kernels
> in /root - and keeping them in /root itself rather than a subdirectory
> such as /root/linux is even odder! - is usually not the thing to do.

No, no, - the kernel source is installed as mentioned above, only the
aureal package is installed in /root  (as mentioned at the top of this
message).

> I'd like, if possible, to see the commands you're issuing before running
> 'make install', and what directory you're in when you run them. Also,
> note that when you change configuration options you may well have to run
> 'make dep'.

Here too - I didn't intend to touch the kernel. The aureal README
(attached to this mail) recommends to install the aureal driver by
"make install+<vortexchip>" in this case:

"make install20" (this makefile is attached to this message aswell)


I hope I could clarify and I would really appreciate some deep going
help.


Thank you



Robert
Release Notes for the Aureal Vortex Linux Driver
================================================

The following files are distributed in this release:

README		this file
Makefile	used to build and install the driver
COPYING		GPL information
ChangeLog	Version change information
mod_conf	script used by make install
au_audio.c	wave audio source
au_core.c	core support source
au_midi.c	midi audio source
au_mixer.c	mixer source
au_sndstat.c	sndstat source
au_utils.c	utility functions source
au_vortex.c	kernel/PCI interface source
au_vortex.h	public declarations and functions
asp30.o		object file containing Au8830 core
asp20.o		object file containing Au8820 core
asp10.o		object file containing Au8810 core

See http://aureal.sourceforge.net for the latest
driver and bug list.

NOTE: the GPL applies to the source modules only.
Redistribution of the binary modules requires
explicit permission from Aureal.

System Requirements
-------------------

This driver is for Intel x86 systems only.

If your BIOS has an option for "PnP OS", it must be disabled.
Note: if you get "device busy" error messages this might be
the problem.

This driver has been tested on the following distributions:

Red Hat 6.0, kernel version 2.2.5-15
Red Hat 6.1, kernel version 2.2.12-20
Red Hat 6.1, kernel version 2.2.13
Red Hat 6.2, kernel version 2.4.0-test6
Slackware 7.0, kernel version 2.2.16
Slackware 7.0, kernel version 2.4.0-test6
Slackware 7.0, kernel version 2.4.0-test7

Installing the Driver
---------------------

1. Unpack the distribution:
tar xvzf aureal*.tar.gz

2. Change to the driver directory and become root:
cd aureal*
su

3. Edit the Makefile to suit your system (SMP, CPU type, etc)

4. Type the following install commands:

If you have an 8830-based (Vortex 2) card:
make install

If you have an 8820-based (Vortex 1) card:
make install20

If you have an 8810-based (Vortex Advantage) card:
make install10

There is no need to reboot.

Note: if you get "unresolved symbol" errors during the install,
rebuild your kernel with sound support (soundcore) built in
(not a module).

Supported Sound Cards
---------------------

Aureal SQ2500 (8830-based)
Aureal SQ1500 (8810-based)
Diamond MX300 (8830-based)
Turtle Beach Montego (8820-based)
Any other Aureal 88(1|2|3)0 based card should work

Features
--------

1. OSS compatible.

2. Full duplex PCM playback and record, multiple channels (/dev/dsp).

3. Mixer support (/dev/mixer).

4. MPU-401 support (/dev/midi).

5. Joystck support at port 0x201.

6. Supports games such as Quake2.

7. Supports Vortex 8830, 8810, and 8820 based cards.

8. Supports /dev/audio and /dev/sndstat.

Midi synthesis is supported through a software midi synth, such as Timidity.

Known Problems
--------------

1. SMP is not tested
2. Small buffer (16k)
3. Random skipping with some movies in mtvp

# Makefile for Vortex au88xx driver
#
# Copyright (c) 1999 Aureal Inc.
# Copyright (c) 2000 Warren Chartier
# Modified to adapt the new source tree by Nikos Kalogridis
#
# Environment:
#	AUCHIP		- AU8830 (default), AU8820, or AU8810
#	AUSMP		- empty (default) or -D__SMP__
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or 
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# 
# Contact: http://aureal.sourceforge.net

ifndef AUCHIP
AUCHIP = AU8830
endif

ifeq ($(AUCHIP),AU8830)
NAME = au8830
ASP_OBJ = asp30.o
endif

ifeq ($(AUCHIP),AU8810)
NAME = au8810
ASP_OBJ = asp10.o
endif

ifeq ($(AUCHIP),AU8820)
NAME = au8820
ASP_OBJ = asp20.o
endif

VER    = $(shell uname -r)
MODDIR = /lib/modules/$(VER)/misc
CONF   = $(wildcard /etc/modules.conf)
ifeq ($(strip $(CONF)),)
CONF   = /etc/conf.modules
endif

INCLUDEDIRS = -I/usr/src/linux/include

#
# CPU types, Uncomment one only!
#
#CFCPU = 486
CFCPU = pentium
#CFCPU = pentiumpro

#
# If you have an SMP system uncomment the following (experimental)
# 
#AUSMP = -D__SMP__

#
# Debug/Optimization
#
#CFDEBUG = -g -DDEBUG=1 -DDEBUG_AU -D__VerboseMode
CFOPT = -O6 -fomit-frame-pointer

# Do Not Modify Anything Below This Line!

CFLAGS	= -D__KERNEL__ $(AUSMP) -DMODULE -D$(AUCHIP) -m$(CFCPU) $(CFDEBUG) $(CFOPT) -Wall -pipe $(INCLUDEDIRS)

CFILES = au_audio.c au_midi.c au_core.c au_sndstat.c au_mixer.c au_utils.c au_vortex.c
OFILES = $(CFILES:.c=.o)

$(NAME).o: $(OFILES) $(ASP_OBJ)
	$(LD) -m elf_i386 -r $^ -o $@

compile: $(NAME).o

install: compile
	 mv -f $(CONF) $(CONF).old
	 gawk -f mod_conf $(CONF).old > $(CONF)
	 echo "alias sound $(NAME)" >> $(CONF)
	 echo "alias midi $(NAME)" >> $(CONF)
	 mkdir -p $(MODDIR)
	 cp -f $(NAME).o $(MODDIR)
	 -/sbin/depmod -a
	 -/sbin/rmmod $(NAME)
	 -/sbin/modprobe $(NAME)

install10:
	$(MAKE) install AUCHIP=AU8810

install20:
	$(MAKE) install AUCHIP=AU8820

rebuild10:
	$(MAKE) rebuild AUCHIP=AU8810

rebuild20:
	$(MAKE) rebuild AUCHIP=AU8820

rebuild: clean install

clean:
	rm -f $(NAME).o $(OFILES)

drebuild:
	$(MAKE) rebuild VERBOSE=YES
	
drebuild10:
	$(MAKE) rebuild10 VERBOSE=YES

drebuild20:
	$(MAKE) rebuild20 VERBOSE=YES


Reply to: