Subject: Linux-Development Digest #589
From: Digestifier <[email-masked]>
To: [email-masked]
Date: Wed, 30 Mar 94 06:13:06 EST

Linux-Development Digest #589, Volume #1         Wed, 30 Mar 94 06:13:06 EST

Contents:
  Re: Kernel compile dying w/SIGSEGV (Bill Mitchell)
  Hardware developing X/Motif (Tom Svaleklev)
  _NEED_SHRLIB_libc_4 ? I have libc.so.4 (Brad Hull)
  Re: Linux <--> DOS PLIP??? (Peter Bauer)
  Re: LINUX port to a transputer system ("A.F.Hall")
  Bug in TIOCCONS ioctl ? (Martin Braun)
  Re: _NEED_SHRLIB_libc_4 ? I have libc.so.4 (Juergen Geinitz)
  Lightweight embedded database (Tony Cifelli)
  Re: NFS timeouts (Harald T. Alvestrand)
  Re: IPX compliancy? ([email-masked])
  Re: OPTI 495SLC+486DLC+Linux+Internal Cache? (Richard Hodson)
  Digital Telephony -- Rhetorex (David Deppner)
  Re: Kernel compile dying w/SIGSEGV (neil j.cherry)
  Re: _NEED_SHRLIB_libc_4 ? I have libc.so.4 (Mike McCarrick)
  Bug (?) in libc/gcc (shows in httpd) (Hendrik G. Seliger)

----------------------------------------------------------------------------

From: [email-masked] (Bill Mitchell)
Crossposted-To: comp.os.linux.admin,comp.os.linux.misc,alt.uu.comp.os.linux.questions
Subject: Re: Kernel compile dying w/SIGSEGV
Date: 28 Mar 1994 14:52:21 -0800
Reply-To: [email-masked] (Bill Mitchell)

in comp.os.linux.development, [email-masked] (Douglas Donahue) said:

>[...]
>A representative failure message:
>.
>.
>gcc -D__KERNEL__ -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -pipe \
>     -m386 -c -o init/main.o init/main.c
>gcc: Internal compiler error: program cc1 got fatal signal 11
>make: ***[init/main.o] Error 1
>cpp: output pipe has been closed

Just a followup to say that at least one other has similar woes.
I started at 0.99pl8, and kernel rebuilds were rock solid for a while.
Somewhere around pl12, I started seeing just exactly what is reported
above.  I'm still seeing it with pl15h.

I've commented about it a couple of times in comp.os.linix.whatever, and
responses indicated that it had to be a hardware error.  That's reinforced
by rock-solid rebuilds on other linux installations.  However, I don't
recall seeing anything like this with anything but cc, and can't localize
it to a hardware problems.  Exercising the disks by copying massive amounts
of data works OK, and standalone memory-test programs run overnight report
no problems.

For now, I'm just living with it.  I restart "make zImage" as needed, and
reboot if that doesn't work (the problem appears less frequently on a
recently booted system).

-- 
[email-masked] (Bill Mitchell)

------------------------------

From: [email-masked] (Tom Svaleklev)
Crossposted-To: comp.os.linux,comp.unix.questions
Subject: Hardware developing X/Motif
Date: 29 Mar 94 10:15:53 +0200

Hello there !

I'm about to start my own firm consulting and teaching X windows/Motif,
Unix and C. I looking for opinions/experiences on decent hardware
requirements needen to run and develop X/Motif/Unix for personal use.
I do own a PC 486/66, 4Mb/200Mb (IDE) and have thoughts on upgrading it
and install Linux, FreeBSD or something like that.

But since I also want DOS/Windows I understand that I have to buy
another disk for my Unix system. Also it's been said that PC's can't
cope with selected bootings therefore I've been suggested to throw
my IDE disk away and buy a SCSI controller card and a new disk for my
DOS system. Switching disks in the SCSI card will then determine
what system to run. I also believe I need at least 16Mb of memory
to cope with Unix.

My second, and ideal, thought is to buy a proper workstation but the
onces I've been using at my former jobs are far too expensive for
personel use. Are there any that is less expensive ? How about licences,
service agreements, release updates, etc ? I don't mind buying a used one.

What are your suggestions ?        /Thanks a lot

(P.S. The machine should not be used when teaching. D.S.)
-- 
      +------------------------+------------------------+
      | Tom Svaleklev          | [email-masked]     |
      +------------------------+------------------------+

------------------------------

From: [email-masked] (Brad Hull)
Subject: _NEED_SHRLIB_libc_4 ? I have libc.so.4
Date: Sun, 27 Mar 1994 05:17:40 GMT

'I've been digging for FAQ files that might answer this for a week without
luck; please, somebody help me out here...

When I attempt to link a number of things, such as pppd or xrn, I get a
messages stating that there are multiple definitions of _NEEDS_SHRLIB_libc_4
in /usr/lib/libgcc.sa and /usr/lib/libc.sa.  I tried the obvious things: I
went back for a new copy  of the libraries with shared libs included (and the
stub libraries), but this didn't help.  I tried working with the source of the
libraries, but ran into other problems there...  I definitely have
/lib/libc.so.4 , but I can't believe that the presence of these would change
a multiple definition somewhere else.

I will confess, I originally loaded my system from SLS 1.03 and then later
applied Slackware 1.1.2 over top of it, without destroying the world first, so
my problem may be related to that.   But if it is, can anybody suggest what I
might do about it?

Thanks, anybody who responds... my life is empty without the ability to link
new executables...

------------------------------

From: [email-masked] (Peter Bauer)
Subject: Re: Linux <--> DOS PLIP???
Date: Mon, 28 Mar 1994 00:00:53 GMT

I have currently a plip-connection running between a linux-box and 
msdos running crynwr plip.com and ncsa-telnet or pcip_pkt. The changes I 
made are: 
 -  strobe bit-levels need to be inverted
 -  throw out plip_type logic: send as ethernet would do
 -  length byte order inverted
 -  there was a "bug" in the send_byte: To allow the data-bits to
    settle first before they are strobed, they were put without the
    strobe bit first, but without masking off the high nibble of the
    data, so sometimes (if data's 0x10 bit was set, this settle-logic
    failed, and this resulted in receive-errors in dos-plip.com, because
    there is only a single asm-in, which is not repeated after the strobe
    is seen ...
If someone wants the diffs, send mail ...

Gruss PB

------------------------------

From: [email-masked] ("A.F.Hall")
Subject: Re: LINUX port to a transputer system
Reply-To: [email-masked]
Date: Tue, 29 Mar 1994 01:10:19 +0000

In article <[email-masked]> [email-masked]  writes:

> Hi world,
> 
> So far I have received many reactions from GREAT to shut this guy up in a lunny
>  bin. But
> I think that most people didn't really understand my first message. I said I
>  wanted to 
> have the 486 do all the I/O work and thus working as a server with the
>  transputer as a
> client.

Oh sorry Antoni. It's just that you mentioned porting the Linux kernel which is
totally unreal at this moment in time. Of course what you're saying is possible.
A device driver already exists for B004 compatible cards, and the iserver and
afserver have already been ported.

> 
> Well I've been searching high and low in articels concering transputer
>  hardware. And found
> some advertisments about SCSI 1/2 controllers as a T-RAM module. So the need
>  for ans
> AFS (Alien file server) might not be so great, or maybe it would because I
>  would need a way
> to boot the transputer (it would be possible to boot from a EPROM)..

Yeah, just boot from a link.

> 
> And now let me try to explain the idea again, so simple as possible:
>   The idea was that it would be possible to open a window under LINUX with X11
>  and have
> the Transputer running in there. Doing some number crunching in parallel with
>  the 486. And
> there for a part of the LINUX code would be needed to run on the Transputer.

I'm not sure what you want, maybe you need to have Xlib for the Transputer, or
maybe come up with your own server. I don't think any part of Linux need run
on the Transputer - just define a protocol by which the two can communicate.

> 
> The port wouldn't be written in OCCAM 2 because that would give me a HUGE pain
>  in the BUM!!!!
> Because of the way how OCCAM 2 is written. But in C and compiled with a 3L-C
>  Compiler.

What's wrong with OCCAM? You have to 'at best' extend the syntax of C or depend
on run-time library support to make use of the Transputer's implementation of
parallelism. Okay, I guess it's up to you!

And no, I don't really think you're crazy ;)
Best of luck.
Anton.
-- 
<<<<<<<<<<<<<<<<<<<<<<<<<
[email-masked]                 ...a communicating sequential process
>>>>>>>>>>>>>>>>>>>>>>>>>

------------------------------

From: [email-masked] (Martin Braun)
Subject: Bug in TIOCCONS ioctl ?
Date: Tue, 29 Mar 1994 15:33:59 GMT

Hello all,

  Yesterday I tried to make xconsole work for normal users and
found that it is not sufficient to set proper permissions for
/dev/console. The method used by xconsole to catch console output
is as follows (xconsole.c:OpenConsole):
        .
        .       
        .
            struct stat sbuf;
            /* must be owner and have read/write permission */
            if (!stat("/dev/console", &sbuf) &&
                (sbuf.st_uid == getuid()) &&
                !access("/dev/console", R_OK|W_OK))
            {
        .
        .       
        .
#if defined(USE_PTY) && !defined(SOLX86)
                int     on = 1;

                if (get_pty (&pty_fd, &tty_fd, ttydev, ptydev) == 0 &&
                    ioctl (tty_fd, TIOCCONS, (char *) &on) != -1)
                {
                    input = fdopen (pty_fd, "r");
                }
#endif
        .       
        .
        .
Even though the permissions for /dev/console are set properly this fails
in the TIOCCONS ioctl (output of strace):
...
stat("/dev/console", {dev 3 2 ino 42 mode 020622 nlink 1 uid 1418 gid 1400 size 
0 ...}) = 0
getuid() = 1418
access("/dev/console", 06) = 0
open("/dev/ptyp0", RDWR) = -1 (Try again)
open("/dev/ptyp1", RDWR) = 4
open("/dev/ttyp1", RDWR) = 5
ioctl(5, TIOCCONS, 0xbffffb04) = -1 (Operation not permitted)
...
This happens  because under linux this ioctl may only be used by root 
(from linux/drivers/char/tty_ioctl.c:tty_ioctl):
        .
        .       
                case TIOCCONS:
                        if (IS_A_CONSOLE(dev)) {
                                if (!suser())
                                        return -EPERM;
                                redirect = NULL;
                                return 0;
                        }
                        if (redirect)
                                return -EBUSY;
                        if (!suser())
                                return -EPERM;
                        if (IS_A_PTY_MASTER(dev))
                                redirect = other_tty;
                        else if (IS_A_PTY_SLAVE(dev))
                                redirect = tty;
                        else
                                return -ENOTTY;
                        return 0;
                case FIONBIO:
        .
        .

IMHO this is a bug which breaks xconsole. I am not a kernel hacker
and can't provide a fix for it. Suggestions and comments are
appreciated.

Best regards,
Martin Braun
([email-masked]) 

PS: Configuration: Linux-1.0.4, libc-4.5.21, Xfree86-2.1, gcc-2.5.8

------------------------------

From: [email-masked] (Juergen Geinitz)
Subject: Re: _NEED_SHRLIB_libc_4 ? I have libc.so.4
Date: 29 Mar 1994 14:57:44 GMT

In article <[email-masked]>,
Brad Hull <[email-masked]> wrote:
>'I've been digging for FAQ files that might answer this for a week without
>luck; please, somebody help me out here...
>When I attempt to link a number of things, such as pppd or xrn, I get a
>messages stating that there are multiple definitions of _NEEDS_SHRLIB_libc_4
>in /usr/lib/libgcc.sa and /usr/lib/libc.sa.  I tried the obvious things: I
try  digging the gcc readme from your installation .. it might state
that libgcc is not needed any more and should/must be
deleted

juergen

-- 
          Universitaet Heidelberg - Rechenzentrum
 [email-masked]  (+49) 6221 56 4544 (voice)

------------------------------

Crossposted-To: comp.os.linux.admin
From: [email-masked] (Tony Cifelli)
Subject: Lightweight embedded database
Reply-To: [email-masked] (Tony Cifelli)
Date: Tue, 29 Mar 1994 20:58:45 GMT

I'm in need of a lightweight data manager for use in embedded systems. 
Preferably object-oriented.  Does such a beast exist which could be
compiled in the Linux environment?  Where could I get hold of it?  Is is
public domain, or do I need to purchase a license?  If you don't know
exactly, a contact individual would be the next best thing.

Any help would be appreciated.  E-mail preferably, post otherwise.

regards,
Tony.
-- 
[ Tony Cifelli, B.C.S., M.Math.       [email-masked] ]
[ President                                   Bus: 613-723-7218 ]
[ cifelli systems & software inc.             Fax: 613-723-7472 ] 
[ 6 Gurdwara Rd. Suite 200 - Nepean, Ontario - K2E 8A3 - CANADA ]

------------------------------

From: [email-masked] (Harald T. Alvestrand)
Subject: Re: NFS timeouts
Date: 29 Mar 1994 08:09:00 GMT

In article <[email-masked]>, [email-masked] (Byron A Jeff) writes:

|> 
|> What I can't figure out is why NFS doesn't have a negotiation phase where
|> the client and server can decide on the proper buffer size. Doesn't seem
|> hard. Broken specification, not broken implementation.
|> 
NFS is a stateless protocol. You are supposed to be able to read 1/3 of
a file, have the server crash and come back online, and just continue
as if nothing had happened.
Negotiation phases in this environment lose.
Broken design goals, perhaps.
|> 
|> All I know is that if I set the buffer size right then everything works.
|> 
|> But back to the questions: why is Linux NFS limited to 1K buffers? How 
|> difficult would it be to fix?
I think it is a relic of the max IP packet size, which is in turn
a relic of the 4Kbyte atomic allocation limit in the kernel.
(so why not a 2K limit? Don't ask me....)

-- 
                   Harald Tveit Alvestrand
                [email-masked]
      G=Harald;I=T;S=Alvestrand;O=uninett;P=uninett;C=no
                      +47 73 59 70 94
My son's name is Torbjørn. The letter between "j" and "r" is o with a slash.

------------------------------

From: [email-masked]
Subject: Re: IPX compliancy?
Date: Tue, 29 Mar 1994 16:47:50 GMT

Alan Cox ([email-masked]) wrote:
: >
: Dr.Dobbs journal Nov. 1993 covers most of it. It doesn't help in the slightest
: if you look at the list of alleged software patents that Novell hold
: in the USA. Reverse engineering doesn't exempt you from patents.

If it is patented then there is no need to reverse engineer.

------------------------------

Crossposted-To: comp.sys.ibm.pc.hardware.chips
From: [email-masked] (Richard Hodson)
Subject: Re: OPTI 495SLC+486DLC+Linux+Internal Cache?
Date: Tue, 29 Mar 1994 20:40:14 +0000

Harri Pasanen ([email-masked]) wrote:

: Hello good people,

: I noticed that my OPTI 495SLC mother board + TI486DLC40 does not
: enable 486DLC's internal cache when running Linux.  In AMI bios settings I
: have both external (128K) cache and internal cache set enabled.

I too have one of these motherboards. It is a real load of *&!$. Mine
has a 386-40 with 128K cache, 4MB RAM and runs quite happily. If I add
another 4MB of RAM it dies. If I add a local bus video card (I tried
several) it will not work. I did upgrade to a borrowed 486DX-33 for a
while and that worked OK.

My plan is:
1/      Save some money
2/      Buy a 486SX33 CPU
3/      Save some money
4/      Buy a new motherboard with an empty CPU socket.

--
Richard Hodson                                |  [email-masked]
And his amazing fetish for dangly earrings... |  [email-masked]

------------------------------

From: [email-masked] (David Deppner)
Subject: Digital Telephony -- Rhetorex
Date: Tue, 29 Mar 1994 21:30:41 GMT

I'm working for a telephony company that is bumping up against the constraints
of having to use finite state machines under DOS to multitask handling making
phone line connections and maintaining them, etc.  They want to make the
switch to Linux.  Right now their DOS machines all use Rhetorex cards, so they
are most interested in using Rhetorex under Linux.  Rhetorex has a SYSV
driver, but no Linux support.  They appear willing to let me write a driver
for Linux, however.  I am an experienced UNIX programmer, have several Linux 
boxes, and know Linux well.  I've only dabbled in driver writing before, 
however.  My company has got me started learning driver writing in preparation
for the looming possiblility of writing the Rhetorex driver.

At this stage, I'd like to get in touch with anyone else working on telephony
drivers or apps under Linux, or anyone who'd benefit from a Rhetorex driver.
I'd also like to know what other drivers exist, if any, for digital telephony.

Thanks...

--
David Deppner     [email-masked]  Psyborg@MOOs
Linux forever...  PGP forever...  Apple ][ infinitum!
Down with uSoft and all world govs!

------------------------------

Crossposted-To: comp.os.linux.admin,comp.os.linux.misc,alt.uu.comp.os.linux.questions
From: [email-masked] (neil j.cherry)
Subject: Re: Kernel compile dying w/SIGSEGV
Date: Tue, 29 Mar 1994 16:01:50 GMT

In article <[email-masked]> [email-masked] (Peter MacLeod) writes:
>Douglas Donahue ([email-masked]) wrote:
>
>: Greetings,
>
>: Over the course of the weekend, I attempted to recompile the kernel. The first
>: attempt was sucessful. However, subsequent attempts  failed with what would
>: appear to have been segmentation violations. A representative error message 
>: follows. The strange part of it though, is that the compile failed at a very
>: early point in the remake on one attempt, but breazed right through the same
>: point in the compile on a subsequent attempt. It's obvious to me that there
>: are not any errors in the source that are generating such problems. e.g.
>: dividing by zero. Has anyone else had such experiences? How about one of the
>: compiler and/or kernel experts speaking up? What would cause the compiler to
>: fail with a segmentation violation when one doesn't actually exist? What 
>: would cause the kernel to generate such a signal and kill the compiler?
>[etc]
>
>I used to get this all the time. Then I changed the timing on my motherboard,
>and it went away completely--I haven't had a problem since, and I've rebuilt
>the kernel many times.
>
>This has been discussed before, and the culprits blamed were ISA<->memory
>transfers, motherboard memory itself, and the phases of the moon. It
>would appear that simple tests, especially DOS- or Windows-based tests,
>don't pound the machine hard enough, so rebuilding the Linux kernel is a
>pretty good test. In any case, you can imagine that if gcc started paging,
>and one of the paging transfers had an error in it, thus changing the
>code, you could get a seg. violation. One problem with the kernel, at
>least the last time I looked, is that a lot of the hardware traps
>are mapped to one signal, segmentation violation. I'm not sure if that's
>a POSIX thing or what, but it does make figuring out what's going on 
>a bit of a hassle.
>
>Anyway, if your motherboard has lots of settings like mine does, start
>changing things like ISA bus speed, DRAM wait states, ISA bus wait states,
>etc. If it doesn't, you might be SOL. I think the thing I did that made
>the most dramatic difference was slowing the ISA bus down to 8 Mhz.
>A lot of motherboards have a 12Mhz setting, and many ISA bus cards
>are unreliable at 12Mhz. Others have found that replacing SIMMs cured their
>problems. 
>
>Also, if you have a 50Mhz DX motherboard, like I do, you might just want to
>replace it with a 66Mhz DX2...Oh, another thing I've remembered--when I
>first got my motherboard, it crashed a lot, and the problem turned out to be
>that I had a 50Mhz motherboard with cache RAM for a 33Mhz motherboard, so
>make sure that your cache SRAMs are fast enough.
>
>-- Peter

I'm also having trouble with Segment violations. It started with the shell
then vplay/vec. I'm also having trouble doing a shutdown. I maybe having
some trouble with the 2nd IDE drive, its old and won't work on any of my
faster machines. (The shutdown problem is that it won't shutdown the
1st IDE drive clean).

NJC (Neil Cherry)

------------------------------

From: [email-masked] (Mike McCarrick)
Subject: Re: _NEED_SHRLIB_libc_4 ? I have libc.so.4
Date: Tue, 29 Mar 1994 14:08:02 GMT

[email-masked] (Brad Hull) writes:

>'I've been digging for FAQ files that might answer this for a week without
>luck; please, somebody help me out here...

>When I attempt to link a number of things, such as pppd or xrn, I get a
>messages stating that there are multiple definitions of _NEEDS_SHRLIB_libc_4
>in /usr/lib/libgcc.sa and /usr/lib/libc.sa.  I tried the obvious things:...

I got this error after updating my gcc, libc, etc. I was able to fix things
by deleting the old /usr/lib/libgcc.sa which is not part of the new 
distribution, and adding links from 
        /usr/lib/gcc-lib/i486-linux/2.5.8/libgcc.a to /usr/lib/libgcc.a
and some others. I still don't know if I have things set up correctly,
but I am able to compile Xt and Xm programs. This info is in the release
doc, but the instructions are pretty poor, to be honest. 

Hope this helps,

-Mike-

-- 
Dr. Michael McCarrick
ARCO Power Technologies, Washington DC

------------------------------

From: [email-masked] (Hendrik G. Seliger)
Subject: Bug (?) in libc/gcc (shows in httpd)
Date: 29 Mar 1994 07:12:45 GMT
Reply-To: [email-masked]

Hi everyone!

While trying to install httpd on my machine, I encountered a problem.
This things always tried to tell me that directories are redirected to
port 20480 (instead of the usual port 80 for http). I tracked this down
and found  that this problem only occurs if httpd is run from inetd. In
that case it tries to determine the port number for stdin/out. I
extracted this code to test it seperately:

============
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>

main()
{
  struct sockaddr addr;
  int len;
  unsigned short int p;
  
  len = sizeof(struct sockaddr);
  getsockname(fileno(stdin),&addr,&len);
  p = ((struct sockaddr_in *)&addr)->sin_port;
  printf("port %d\n",  p );
}

========================

Now, if I put a line in inetd.conf to call this program on, let's say,
service http, and I "telnet localhost http" it should print "80", which
is the value in /etc/services. Instead it returns 20480. I tried this on
some other ports, and there's a system: 80=0x50, 20480=0x5000. Ah, you
get the picture, don't you. Motorola meets Intel, there are some bytes
swapped here. I don't know whether this is in gcc or in libc, but it
definitively is wrong.

I have been able to repair this by swapping the bytes, but this sure is
a dirty hack and *very* system dependent, and anyway, this thing is
supposed to work.

Does anyone know whether this is a known feature, and maybe fixed in a
current, not-yet-really-public, release of libc or gcc? I don't have any
sources of those buzzing around (and some fool filled up my disk anyway).

Cheers,

        Hank

--
======================================================================
         Hendrik G. Seliger                  Universitaet Essen
     [email-masked]                Schuetzenbahn 70
      Tel.: +49-201-183-2898                45117 Essen, Germany
======================================================================
             "Handling interrupts is simple." (G. Pajari)
             "Interrupts are an unpleasant fact of life." (A. Tanenbaum)

------------------------------

** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [email-masked]

You can send mail to the entire list (and comp.os.linux.development) via:

    Internet: [email-masked]

Linux may be obtained via one of these FTP sites:
    nic.funet.fi				pub/OS/Linux
    tsx-11.mit.edu				pub/linux
    sunsite.unc.edu				pub/Linux

End of Linux-Development Digest
******************************