PDA

View Full Version : RedHat Advanced Server 2.1 & Toshiba TE2100


GDavis
12-03-02, 12:57 PM
I have installed Red Hat Linux Advanced Server 2.1 on a Toshiba Satellite Pro TE2100 laptop. The kernel is 2.4.9-e.3. I am attempting to install the NVIDIA Linux Drivers. I ran NVCHOOSE and based on the results, I downloaded NVIDIA_kernel-1.0-3123.src.rpm and NVIDIA_GLX-1.0-3123.i386.rpm files from download.nvidia.com/XFree86_40/1.0-3123. Then I issued the command:

rpm --rebuild NVIDIA_kernel-1.0-3123.src.rpm

and recieved the following messages:

install: cannot stat 'NVdriver': No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.75120 (%install)

I also tried tar as an alternative to the rpm install, so I downloaded:
NVIDIA_kernel-1.0-3123.tar.gz and
NVIDIA_GLX-1.0-3123.tar.gz

then ran:
tar xvzf NVIDIA_kernel-1.0-3123.tar.gz
tar xvcf NVIDIA_GLX-1.0-3123.tar.gz
then
cd NVIDIA_kernel-1.0-3123
make -I/lib/modules/$(uname -r)/build/include

and received the following error
nv.c:2182 invalid type argument of 'unary *'

Could someone please give me some advice?

Klaus-P
12-03-02, 02:44 PM
" and received the following error nv.c:2182 invalid type argument
of 'unary *' "

Line 2182 looks strange, especially the usage of the unary indirection
operator "*" before the function. This syntax is normally used in
function prototype declarations. Maybe there are exotic C-syntaxes i don't
know about. Well, my C-"periode is really a "while" ago, so to say,
however, i guess the programmer perhaps had in mind, really not sure !, of course

pte__= pte_offset(pg_mid_dir, address);
pte= *pte__;
pte__= NULL;

All this pointer-indirection-address operator syntax
in C (thanks Richie and Co. ;-) ) is confusing indeed.
Pure assembler language is easier to learn, i think.

rrokni
12-07-02, 06:34 AM
Hi,

I also have a TE2100 that I am trying to make work with RedHat 2.1. I tried to make using the changes for pte_offset. But then I get a warning assignment makes pointer from integer without cast make: *** [nv.o] Error 1

Any help?

bwkaz
12-07-02, 07:03 AM
Can both of you do a make install >log.txt 2>&1 and post the resulting log.txt file?

GDavis -- I think that your problem stems from not having kernel-source installed, but I'm not positive on that. Seeing the log file (which will have all the errors in it -- the one you posted is a little helpful, but it would be better to be able to see all of them ;) ) would probably give me a good idea of what it is.

rrokni -- Same thing. I have a feeling that there are more errors than that there (actually, that is not even an error, and should not stop make), and seeing them would help to diagnose.

Thanks.

rrokni
12-07-02, 07:15 AM
Hi,

My error 'without the modes to nv.c' is the same as GDavis to post. I do not have the TE2100 on a network and it also does not have a floppy!

I am new to linux but using google I did rpm -qa | grep source and it gave;

kernel-source-2.4.9-e.3

Is there something else I need to install?

bwkaz
12-07-02, 12:40 PM
Does uname -r tell you the same thing (2.4.9-e.3)?

The other thing you can try is actually configuring the kernel source if it's already installed (and if it's the right version). Go into /usr/src/linux/configs (at least, it should still be there for advanced server...) and find a config file that matches the kernel that's running and that also matches your hardware. Copy it to /usr/src/linux/.config, and back up one directory. Then run make mrproper oldconfig dep to get the configuration from that .config file you just created. Then try the kernel again. But if it doesn't work, do something to get the exact (and I must stress, exact) errors to somewhere that you can post them -- maybe a CD-R? Or maybe even paper? (I know that could take a while, though, so it'd be a last resort...)

GDavis
12-07-02, 05:43 PM
Ok,
I did uname -r and got:
2.4.9-e.3

I did rpm -qa | grep kernel-source
and got:
kernel-source-2.4.9-e.3

I did rpm -qa |grep kernel-headers
and got
kernel-headers-2.4.9-e.3

I've also tried the 'make install' from
my /NVIDIA_kernel-1.0-3123 directory
with the kernel configured in each of three
different ways by copying the following
config files from /usr/src/linux-2.4.9-e.3
and then doing 'make mrproper oldconfig dep'
kernel-2.4.9-i686.config
or
kernel-2.4.9-i686-enterprise.config
or
kernel-2.4.9-i386.config

the following is the log:

echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -1`\" > nv_compiler.h
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts
-Wparentheses -Wpointer-arith -Wcast-qual -Wno-multichar -O -MD
-D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE
-DRM_HEAPMGR -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE
-DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=3123
-DNV_UNIX -DNV_LINUX -DNVCPU_X86
-I. -I/lib/modules/2.4.9-e.3/build/include -Wno-cast-qual nv.c
In file included from nv-linux.h:75, from nv.c:14:
/lib/modules/2.4.9-e.3/build/include/linux/highmem.h: In function `bh_kmap':
/lib/modules/2.4.9-e.3/build/include/linux/highmem.h:19:
warning: pointer of type `void *' used in arithmetic
nv.c: In function `nv_kern_mmap':
nv.c:1305: warning: passing arg 1 of `remap_page_range_R1664b601'
makes pointer from integer without a cast
nv.c:1305: incompatible type for argument 4 of `remap_page_range_R1664b601'
nv.c:1305: too few arguments to function `remap_page_range_R1664b601'
nv.c:1322: warning: passing arg 1 of `remap_page_range_R1664b601'
makes pointer from integer without a cast
nv.c:1322: incompatible type for argument 4 of `remap_page_range_R1664b601'
nv.c:1322: too few arguments to function `remap_page_range_R1664b601'
nv.c:1353: warning: passing arg 1 of `remap_page_range_R1664b601'
makes pointer from integer without a cast
nv.c:1353: incompatible type for argument 4 of `remap_page_range_R1664b601'
nv.c:1353: too few arguments to function `remap_page_range_R1664b601'
nv.c: In function `nv_get_phys_address':
nv.c:2182: warning: implicit declaration of function `pte_offset'
nv.c:2182: invalid type argument of `unary *'
make: *** [nv.o] Error 1

GDavis
12-07-02, 05:49 PM
PS.
I neglected to say that I did a 'make clean'
before each attempt.