nanogui: Compiling nano-X (SVGAlib) under Linux Mandrake 8
Subject:
Re: [nanogui] Compiling nano-X (SVGAlib) under Linux Mandrake 8
From:
Jordan Crouse ####@####.####
Date:
29 Jun 2001 14:47:23 -0000
Message-Id: <01062908482101.25408@cosmic>
On Friday 29 June 2001 07:28, David Douthitt mentioned:
> Jordan Crouse wrote:
> > First and foremost, what version are you trying to compile?
>
> 0.89pre7
>
> I noticed that the directory in the tar.gz file is microwin; why not
> microwin-0.89pre7?
Because .89pre-7 is the version number. Most projects keep the same
directory structure throughout the life of the project, because that makes it
easier on the developers and on the maintainers. I usually extract the
tarball and immediately rename it (but then again, I have easily a dozen
copies of Microwindows on my machine).
> > > 1. drivers/kbd_ttyscan.c - ioctl_setpalette() and ioctl_getpalette()
> > > don't exist.
> >
> > This is in the VT switch code - These should be defined in drivers/fb.h
> > which should be included in scr_fb.c. .89pre7 does indeed have this.
>
> That does work, but fails during linking.
What graphics mode are you running in - X11 or framebuffer?
> > > 2. drivers/kbd_ttyscan.c - during running of nano-X, it produces:
> > >
> > > KDGKBMODE: Invalid argument
> > > Cannot initialise keyboard
>
> # ls -l /dev/tty
> crw-rw-rw- 1 root root 5, 0 Jun 28 11:12 /dev/tty
>
> I noticed in the code that there is no attempt to discern the actual
> error; it just prints this message.
Thats actually the error - Invalid argument. Check perror() in the man pages.
Ok, this is the error that you are getting. For some reason, the argument
that you are sending into the IOCTL is invalid (errno EINVAL). This is a
common error, since most ioctl handlers return a -EINVAL whenever there is an
unexpected error (kind of like returning a -1 from a failed syscall).
In this situation, it means that the value that was passed in to KDGKBMODE
was invalid - most likely because /dev/tty doesn't really handle the
KDGKBMODE command. Thats because /dev/tty is a odd device - It is the
standard device that use used to read the keyboard, but traditionally it is
just linked another keyboard device (usually /dev/console). My assumption
is that since /dev/tty is a true device on your system and not a link to a
more common keyboard device, you are having these problems. My suggestion
would be to remove /dev/tty and replace it with a soft link to /dev/console,
and then wait for .89pre8 which will give you the ability to set the desired
TTY through an environment variable.
Jordan