Linux-Development-Sys Digest #170, Volume #7 Wed, 8 Sep 99 05:14:05 EDT
Contents:
installing Java 3D on Red Hat Linux 6.0 (Robert S Laramee)
Help needed on linking module.. (Karlo Szabo)
Re: Linux standards compliance (Phil Howard)
Re: threads (David Schwartz)
ADSW ("Stuart J Ball")
Re: More kind words from M$. (David Schwartz)
ADSW Software, ( Access Data Base ) ("Stuart J Ball")
Re: LispOS? (Mikael Cardell)
Scheduling in Linux (Sandeep Jain)
Re: Help needed on linking module.. ("Quiney, Philip (EXCHANGE:HAL02:HM10)")
----------------------------------------------------------------------------
From: Robert S Laramee <[EMAIL PROTECTED]>
Crossposted-To:
comp.os.linux.development.apps,comp.os.linux.help,comp.os.linux.questions,comp.os.linux.setup,comp.lang.java.help
Subject: installing Java 3D on Red Hat Linux 6.0
Date: Tue, 07 Sep 1999 21:20:13 -0400
Hello out there,
I am having some problems installing java 3D on my Red Hat Linux 6.0 OS.
In the README file it says:
"This version of Java 3D for Linux requires the following:
- Recent version of MesaGL, typically available from your Linux
distribution
- Java2 SDK 1.2 for Linux . This can be obtained from
http://java.blackdown.org"
1. I downloaded Mesa-3.0 from www.mesa3d.org. I ran the makefile with
[rlaramee@panama Mesa-3.0]$
and it seemed to compile fine (with a buch of warnings).
However, when i tried to run one of the demos e.g.:
[rlaramee@panama demos]$ bounce
I get the following error:
GLUT: Fatal Error in bounce: visual with necessary capabilities not
found.
Does anyone know what I should do here?
2. When I try to run one of the java3d demos e.g.:
[rlaramee@panama HelloUniverse]$ java HelloUniverse
I get the following error:
java.lang.NoClassDefFoundError: com/sun/j3d/utils/applet/MainFrame
at
[rlaramee@panama HelloUniverse]$
I don't see this directory anywhere on my system. Is there something
I'm
missing (obviously)? Is this because java3d expects the root user to do
the installation? Any help anyone could provide would be much
appreciated.
-cheers, bob
--
Robert S Laramee tel: (603) 868-7831
14 McDaniel Drive office: (603) 862-0350
Durham, NH 03824 URL: http://www.cs.unh.edu/~rlaramee
------------------------------
From: Karlo Szabo <[EMAIL PROTECTED]>
Subject: Help needed on linking module..
Date: Wed, 08 Sep 1999 13:49:26 +1000
Hi,
When I try to link my module I'am getting:
Unresolved functions such as:
printk.
printk is defined in <linux/kernel.h> and I have included
<linux/kernel.h> in my source.
But I still get the same error.
I also have <asm/io.h> defined, as I'am using out_b and in_b.
If I uncomment <asm/io.h> I get unresolved errors for in_b and out_b
which is fine and expected.
So what the hell is going on??
is printk defined somewhere alse?
I'am sure that it's defined in <linux/kernel.h>
when I compile my module I use:
gcc -O -g z.c -DMODULE -D__KERNEL__ -Wall
is there something that I'am missing?
thanks
karlo
ps I'am also getting unresolved link to function main????
There is no main() in a module??
------------------------------
From: [EMAIL PROTECTED] (Phil Howard)
Subject: Re: Linux standards compliance
Date: Wed, 08 Sep 1999 04:30:18 GMT
On Mon, 06 Sep 1999 21:43:48 GMT [EMAIL PROTECTED] wrote:
| In article <7qs435$1gnv$[EMAIL PROTECTED]>,
| > If you are going to make a claim like that, please include some
| > examples of devices where the professionals hired by the equipment
| > vendors were unable to supply working drivers for the versions
| > that are normally shipped as binaries (Windows, Netware, commercial
| > unix, etc.) and volunteers ended up doing a better job.
| Easy. Microsoft acknowledges that one of the main causes for
| NT4 instability are bad drivers (and that they intend to fix that
| problem for W2k by better testing of third party drivers). NT4
| generally uses vendor supplied binary only drivers. This means the
| drivers writen by these professionals are often low quality.
I will second that. Somewhere around half the problems I have with
NT4 are due to device drivers and related DLLs. One of them I have
constantly had problems with was with the HP laser printer driver
while doing page setups in Outlook. Certain actions always got BSoD.
Uninstalling the drivers, changing printer, and installing the new
drivers, and all worked fine in that area.
| Linux is clearly more stable than NT4 and crashes less often.
| Near all Linux drivers (with only a few exceptions) are writen by
| volunteers. They crash less often than the "professional" drivers
| (if they would be similar quality as the average NT4 driver Linux
| would be much less stable). Thus the volunteer drivers are (usually)
| better.
Many hardware vendors, especially the smaller ones, do not keep
permanent driver programmers on staff. They contract out. They
pressure the contractor to get the job done sooner (of course a
business wants to be sure that the driver isn't holding up first
shipment of product). The contractor has little personal stake
in seeing that it's done well. He wants to get it done and move
on to his next project. When the bugs need to be fixed, the bring
in someone new who most likely thinks of things differently.
| A good recent example: SiS contributed a Linux driver writen by a
| professional for their new networking chipset to 2.2.12. Ignoring
| that the driver is really ugly code (if all their drivers are like
| that I can understand why they want to hide the source), it has some
| bugs that could cause serious system instability and is low quality
| (slow) as this analysis from Donald Becker shows:
| http://www.tux.org/hypermail/linux-net/this-month/0068.html
| Mr. Becker has writen most Linux networking drivers as a volunteer,
| if he had writen the SiS driver he clearly would not have made the
| mistakes he pointed out.
Or at least if he had, he would have noticed and fixed most of them
before they are fully released, and for those bugs he misses (we all
do miss some) he's there, still being a volunteer, ready to fix it.
One advantage of volunteers is that they aren't job hopping to get
better pay or a better boss.
Mr. Becker is doing an excellent job. And then when you consider
just how much he has done ... whew!
--
Phil Howard KA9WGN
[EMAIL PROTECTED] [EMAIL PROTECTED]
------------------------------
From: David Schwartz <[EMAIL PROTECTED]>
Subject: Re: threads
Date: Tue, 07 Sep 1999 21:50:22 -0700
Peter Samuelson wrote:
> No it's not. Apache *contains the damage* if a single module happens
> to be buggy and segfaults. This is good because Apache has a modular
> design which allows you to run third-party modules easily, some of
> which may be more stable than others. Better to abort a certain type
> of connection, or whatever circumstance triggers the module bug, than
> to have to take down and restart the whole web server. At worst case
> you have a little slowdown (extra fork()s necessary) and connections
> which meet certain conditions (server-side imagemaps, say) won't be
> served properly, while other connections will.
>
> To get this level of protection with threads, you would have to catch
> SIGSEGV and SIGBUS and either shut down the thread or figure out a way
> to longjmp back to a known good state. Possible, yes, but harder.
There are plenty of ways to isolate damage within a threaded program.
The best way is to isolate questionable code into processes that don't
themselves have any state that needs to be held across requests. Apache
does this already, so this isn't even an issue to begin with. If you
decided to make Apache multithreaded, you would just need to be careful
not to change this.
One possible 'in-between' architecure would use a single multithreaded
master processes that managed I/O (with another process to restart it in
case it died). This process would handle send queues and receive queues
and farm 'complex' requests out to a pool of processes that handle the
more complex requests, probably using shared memory to communicate. One
advantage of this architecture is that you can dramatically reduce
process context switches if most of the requests are 'simple'.
Now, in the case of Apache, it may well not be worth the effort. But
this is not an argument against using threads in Apache, this is an
argument against allowing critical state for multiple connections to be
in the same process.
> > > The reason why samba doesn't use threads is because it needs
> > > different security contexts for each connection (uid, groups,
> > > etc).
>
> Which doesn't answer the reason I quoted above, the reason which would
> IMHO make it quite inappropriate to use threads in Samba. And no,
> before someone suggests it, the answer is NOT to run as root and do all
> the security checking yourself.... (:
What is it about threads that prevents you from having one process per
security context? You seem to be thinking that there exist only two
architectural models -- one where you have a single process with lots of
threads and one where you have one process per connection. Believe me,
it's possible to be a lot cleverer than this.
DS
------------------------------
From: "Stuart J Ball" <[EMAIL PROTECTED]>
Subject: ADSW
Date: Wed, 8 Sep 1999 14:13:02 +0800
Hi im The Systems Admin guy for Western Australian Monitoring Services in
Perth.
I moved all the servers awat from nt and novell and we are now soley samba
served.
I could do with some help .
i have to share the monitoring software so each computer in the monitoring
station can have the operation alerts in front of them. The package is
called ADSW, runs as a front end for what appears to be Access DB's, now i
had to set up a seperate share as listed below...
[adsw]
path = /home/adsw
revalidate = Yes
read list = @access
write list = @access
force user = access
force group = access
read only = No
max connections = 999999
strict sync = Yes
sync always = Yes
hide dot files = No
mangled names = No
blocking locks = No
locking = No
and this works great till a file called a prireps.mdb Fruits everything up,
the owner changes to root, and the permissions drop to -wx-x-x--- of courese
the "x" is just a representation. now at that point the server slows down,
not to a halt but its pretty bloody slow..
below are my globals...
# Global parameters
workgroup = DOMAIN
server string = Samba Server
security = SHARE
encrypt passwords = Yes
null passwords = Yes
log level = 3
log file = /var/log/samba/log.%m
max log size = 99999
time server = Yes
lpq cache time = 30
read size = 8192
shared mem size = 5242880
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
printcap name = /etc/printcap
os level = 65
preferred master = Yes
domain master = Yes
dns proxy = No
comment = Samba Server For Linux
create mask = 0777
force create mode = 0777
directory mask = 0777
force directory mode = 0777
Now i am Fighting to prevent this Security company from going back to nt and
novell so i need a fix quickly. If I could please trouble some of you guys
out there to help i would really appreciate it...
Stuart J Ball
[EMAIL PROTECTED]
Systems Engineer @ Western Australian Monitoring Services...
------------------------------
From: David Schwartz <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.misc
Subject: Re: More kind words from M$.
Date: Tue, 07 Sep 1999 22:17:59 -0700
My recollection is that it was named for the ethnicity of its
originator, not the content of his native language.
DS
Peter Samuelson wrote:
>
> [Brett Hall <[EMAIL PROTECTED]>]
> > Well as long as you don't count all the gobbledy-gook the prepend to
> > every word to tell you what kind of word it actually is ;)
>
> LOL!
>
> I have it from reliable sources that the real Hungarian language does
> *not* do this.... (:
>
> --
> Peter Samuelson
> <sampo.creighton.edu!psamuels>
------------------------------
From: "Stuart J Ball" <[EMAIL PROTECTED]>
Subject: ADSW Software, ( Access Data Base )
Date: Wed, 8 Sep 1999 13:57:46 +0800
begin 666 ADSW Software, ( Access Data Base ).nws
M1G)O;3H@(E-T=6%R="!*($)A;&PB(#QS=&5W:65J8D!U<&YA=V%Y+F-O;3X-
M"DYE=W-G<F]U<',Z(&-O;7 N<')O=&]C;VQS+G-M8@T*4W5B:F5C=#H@0413
M5R!3;V9T=V%R92P@*"!!8V-E<W,@1&%T82!"87-E("D-"D1A=&4Z(%=E9"P@
M."!397 @,3DY.2 Q,SHU,#HS-R K,#@P, T*6"U0<FEO<FET>3H@,PT*6"U-
M4TUA:6PM4')I;W)I='DZ($YO<FUA; T*6"U5;G-E;G0Z(#$-"E@M36EM94],
M13H@4')O9'5C960@0GD@36EC<F]S;V9T($UI;65/3$4@5C4N,# N,C8Q-2XR
M,# -"@T*2&D@:6T@5&AE(%-Y<W1E;7,@061M:6X@9W5Y(&9O<B!797-T97)N
M($%U<W1R86QI86X@36]N:71O<FEN9R!397)V:6-E<R!I;@T*4&5R=&@N#0H-
M"DD@;6]V960@86QL('1H92!S97)V97)S(&%W870@9G)O;2!N="!A;F0@;F]V
M96QL(&%N9"!W92!A<F4@;F]W('-O;&5Y('-A;6)A#0IS97)V960N#0H-"DD@
M8V]U;&0@9&\@=VET:"!S;VUE(&AE;' @+@T*#0II(&AA=F4@=&\@<VAA<F4@
M=&AE(&UO;FET;W)I;F<@<V]F='=A<F4@<V\@96%C:"!C;VUP=71E<B!I;B!T
M:&4@;6]N:71O<FEN9PT*<W1A=&EO;B!C86X@:&%V92!T:&4@;W!E<F%T:6]N
M(&%L97)T<R!I;B!F<F]N="!O9B!T:&5M+B!4:&4@<&%C:V%G92!I<PT*8V%L
M;&5D($%$4U<L(')U;G,@87,@82!F<F]N="!E;F0@9F]R('=H870@87!P96%R
M<R!T;R!B92!!8V-E<W,@1$(G<RP@;F]W(&D-"FAA9"!T;R!S970@=7 @82!S
M97!E<F%T92!S:&%R92!A<R!L:7-T960@8F5L;W<N+BX-"@T*6V%D<W==#0H@
M<&%T:" ]("]H;VUE+V%D<W<-"B!R979A;&ED871E(#T@665S#0H@<F5A9"!L
M:7-T(#T@0&%C8V5S<PT*('=R:71E(&QI<W0@/2! 86-C97-S#0H@9F]R8V4@
M=7-E<B ](&%C8V5S<PT*(&9O<F-E(&=R;W5P(#T@86-C97-S#0H@<F5A9"!O
M;FQY(#T@3F\-"B!M87@@8V]N;F5C=&EO;G,@/2 Y.3DY.3D-"B!S=')I8W0@
M<WEN8R ](%EE<PT*('-Y;F,@86QW87ES(#T@665S#0H@:&ED92!D;W0@9FEL
M97,@/2!.;PT*(&UA;F=L960@;F%M97,@/2!.;PT*(&)L;V-K:6YG(&QO8VMS
M(#T@3F\-"B!L;V-K:6YG(#T@3F\-"@T*86YD('1H:7,@=V]R:W,@9W)E870@
M=&EL;"!A(&9I;&4@8V%L;&5D(&$@<')I<F5P<RYM9&(@1G)U:71S(&5V97)Y
M=&AI;F<@=7 L#0IT:&4@;W=N97(@8VAA;F=E<R!T;R!R;V]T+"!A;F0@=&AE
M('!E<FUI<W-I;VYS(&1R;W @=&\@+7=X+7@M>"TM+2!O9B!C;W5R97-E#0IT
M:&4@(G@B(&ES(&IU<W0@82!R97!R97-E;G1A=&EO;BX@;F]W(&%T('1H870@
M<&]I;G0@=&AE('-E<G9E<B!S;&]W<R!D;W=N+ T*;F]T('1O(&$@:&%L="!B
M=70@:71S('!R971T>2!B;&]O9'D@<VQO=RXN#0H-"F)E;&]W(&%R92!M>2!G
M;&]B86QS+BXN#0H-"B,@1VQO8F%L('!A<F%M971E<G,-"B!W;W)K9W)O=7 @
M/2!$3TU!24X-"B!S97)V97(@<W1R:6YG(#T@4V%M8F$@4V5R=F5R#0H@<V5C
M=7)I='D@/2!32$%210T*(&5N8W)Y<'0@<&%S<W=O<F1S(#T@665S#0H@;G5L
M;"!P87-S=V]R9',@/2!997,-"B!L;V<@;&5V96P@/2 S#0H@;&]G(&9I;&4@
M/2 O=F%R+VQO9R]S86UB82]L;V<N)6T-"B!M87@@;&]G('-I>F4@/2 Y.3DY
M.0T*('1I;64@<V5R=F5R(#T@665S#0H@;'!Q(&-A8VAE('1I;64@/2 S, T*
M(')E860@<VEZ92 ](#@Q.3(-"B!S:&%R960@;65M('-I>F4@/2 U,C0R.#@P
M#0H@<V]C:V5T(&]P=&EO;G,@/2!)4%1/4U],3U=$14Q!62!40U!?3D]$14Q!
M62!33U]33D1"548].#$Y,B!33U]20U9"548].#$Y,@T*('!R:6YT8V%P(&YA
M;64@/2 O971C+W!R:6YT8V%P#0H@;W,@;&5V96P@/2 V-0T*('!R969E<G)E
M9"!M87-T97(@/2!997,-"B!D;VUA:6X@;6%S=&5R(#T@665S#0H@9&YS('!R
M;WAY(#T@3F\-"B!C;VUM96YT(#T@4V%M8F$@4V5R=F5R($9O<B!,:6YU> T*
M(&-R96%T92!M87-K(#T@,#<W-PT*(&9O<F-E(&-R96%T92!M;V1E(#T@,#<W
M-PT*(&1I<F5C=&]R>2!M87-K(#T@,#<W-PT*(&9O<F-E(&1I<F5C=&]R>2!M
M;V1E(#T@,#<W-PT*#0H-"DYO=R!I(&%M($9I9VAT:6YG('1O('!R979E;G0@
M=&AI<R!396-U<FET>2!C;VUP86YY(&9R;VT@9V]I;F<@8F%C:R!T;R!N="!A
M;F0-"FYO=F5L;"!S;R!I(&YE960@82!F:7@@<75I8VML>2X@268@22!C;W5L
M9"!P;&5A<V4@=')O=6)L92!S;VUE(&]F('EO=2!G=7ES#0IO=70@=&AE<F4@
M=&\@:&5L<"!I('=O=6QD(')E86QL>2!A<'!R96-I871E(&ET+BXN#0H-"E-T
M=6%R="!*($)A;&P-"@T*<W1E=VEE:F) =7!N87=A>2YC;VTN874-"@T*4WES
M=&5M<R!%;F=I;F5E<B! (%=E<W1E<FX@075S=')A;&EA;B!-;VYI=&]R:6YG
6(%-E<G9I8V5S+BXN#0H-"@T*#0H-"@``
`
end
------------------------------
From: Mikael Cardell <[EMAIL PROTECTED]>
Crossposted-To: comp.emacs,gnu.emacs,gnu.misc.discuss
Subject: Re: LispOS?
Date: 08 Sep 1999 08:53:07 +0200
Dave Love <[EMAIL PROTECTED]> writes:
> ISTR that some variant of the Rice PLT system was announced to be
> bootable on x86. I don't think I'd want to boot Emacs.
True, AFAIK. The Rice people hooked MzScheme to the Flux Operating
System Kit and made it bootable in, I've heard, about five hours of
hacking. I have tried booting the Scheme. It works. I haven't done
anything else in yet, though. It would be incredibly useful if someone
ported Edwin (the Scheme based Emacs clone in MIT Scheme) to this
platform. Anyone?
Why, btw, wouldn't you like to boot Emacs? Would you like a better
scheduler for Lisp processes? An incremental garbage collector? Me
too. I would, however, very much like to boot Emacs as it stands right
now as well. I would be very motivated to get down to it and implement
that incremental GC if I did boot Emacs on the bare metal.
--
Reverend Mikael "MC" Cardell, Defender of the Sacred GNU
Temple of the Moby Hack
------------------------------
From: Sandeep Jain <[EMAIL PROTECTED]>
Subject: Scheduling in Linux
Date: Wed, 8 Sep 1999 01:30:54 -0500
Hi,
I wanted to know about the scheduling policy beng used in Linux.
Can anyone help?
Thanks
============================================================================
------------------------------
From: "Quiney, Philip (EXCHANGE:HAL02:HM10)" <[EMAIL PROTECTED]>
Subject: Re: Help needed on linking module..
Date: Wed, 08 Sep 1999 08:22:20 +0100
Karlo Szabo wrote:
>
> Hi,
>
> When I try to link my module I'am getting:
>
> Unresolved functions such as:
>
> printk.
>
> printk is defined in <linux/kernel.h> and I have included
> <linux/kernel.h> in my source.
> But I still get the same error.
>
> I also have <asm/io.h> defined, as I'am using out_b and in_b.
> If I uncomment <asm/io.h> I get unresolved errors for in_b and out_b
> which is fine and expected.
You must use -O2 otherwise the macro substitution for in_b/out_b does
not happen see 'man outb' for information.
>
> So what the hell is going on??
>
> is printk defined somewhere alse?
> I'am sure that it's defined in <linux/kernel.h>
'printk' always appears as an unresolved reference to a module and is
only resolved when the module is loaded. If you are getting errors about
the prototype of the function (ie it won't compile) then I suspect the
.h file is not being included
>
> when I compile my module I use:
>
> gcc -O -g z.c -DMODULE -D__KERNEL__ -Wall
>
We compile module code with the following definition of CFLAGS in the
Makefile
CFLAGS += -D__KERNEL__ -I/usr/src/linux/include \
-Wall -Wstrict-prototypes -O2 -fexpensive-optimizations \
-fomit-frame-pointer -fno-strength-reduce -pipe -m386 \
-malign-loops=2 -malign-jumps=2 -malign-functions=2 \
-DCPU=386 -DMODULE
You need to do the compile and link in two seperate stages. Build all
your individual .c files to .o files (remember the -c to stop the final
link) then do an 'ld' (not forgetting -r so it won't complain about
unresolved references) of the .o files to a final module.o (or some such
name).
If you have only one .c file then you dont need to link at all, the -c
option will stop all the stuff about 'main' - you are not building an
'executable' as such.
do an 'nm <file.o> |grep U'
This will show the unresolved references - you should see printk but not
in_b out_b ;-)
HTH
Regards
Phil Q
--
Phil Quiney Digital PowerLine,
[EMAIL PROTECTED] Nortel Networks,
Telephone: +44 (1279) 402363 London Rd, Harlow,
Fax: +44 (1279) 402885 Essex CM17 9NA,
United Kingdom.
"This message may contain information proprietary to Northern
Telecom so any unauthorised disclosure, copying or distribution
of its contents is strictly prohibited."
------------------------------
** 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 PROTECTED]
You can send mail to the entire list (and comp.os.linux.development.system) via:
Internet: [EMAIL PROTECTED]
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Development-System Digest
******************************