Linux-Development-Sys Digest #15, Volume #7 Mon, 2 Aug 99 15:14:17 EDT
Contents:
Re: Writing shared libraries (Philipp Thomas)
Re: Linux Training ("joe")
Re: What's with this new Gnome system? (Tristan Wibberley)
outlook can't send to qmail using pine
[ANNONCE] Another bootloader - non fonctionnal version (Etienne Lorrain)
Re: Any Free 2-level/hybrid/many-to-few Thread libraries? (Aravind Narasimhan)
c++ grammer (jievis)
Re: c++ grammer (De Messemaeker Johan)
Compiling (JC)
Q: setserial with multiport option (bryant h marc)
Video editing on linux? (John Guillory)
struct byte alignment ??? (Bayee)
Re: how does "top" work (Bayee)
Re: struct byte alignment ??? (Kaz Kylheku)
Re: Compiling (Leonard Evens)
Re: Linux Training ("Mikeg")
Re: SIGFPE delivery (David H. Munro)
Re: Compiling (Eric Hegstrom)
----------------------------------------------------------------------------
From: [EMAIL PROTECTED] (Philipp Thomas)
Subject: Re: Writing shared libraries
Date: Fri, 30 Jul 1999 06:42:01 GMT
On Wed, 28 Jul 1999 17:28:01 GMT, [EMAIL PROTECTED] (Kevin Woodward)
wrote:
>Are there any reasons for using static libs over shared libs.
>I've noticed that a lot of software comes with static libs...
There are quite a few reasons:
- If it's only one app or only a small number of apps that use the
library (f.i. the utility lib used by the GNU fileutils) there's not
much benefit in using shared libraries.
- shared libraries can easily introduce binary incompatibilities if
you don't watch out for ABI changes and bump up the major version,
which can quickly become a pain in the a**.
Recent binutils support symbol versioning which greatly simplifies
the handling of ABI changes *without* changing the major version.
- not every system supports shared libraries and even if it does, the
methods to create them vary vastly. That's the reason why the GNU
libtool was created: to allow uniform handling of shared libs in
Makefiles.
Specially the last point is the reason why many packages use static
libs instead of dynamic ones.
Philipp
--
Close the windows! The penguin is freezing.
------------------------------
From: "joe" <[EMAIL PROTECTED]>
Crossposted-To:
comp.os.linux.misc,comp.os.linux.networking,comp.os.linux.hardware,comp.os.linux.development.apps
Subject: Re: Linux Training
Date: Mon, 2 Aug 1999 03:22:59 -0400
Another one to check is www.linuxtraining.co.uk as they are offering free
downloads of all their training materials.
Enjoy
Joe
Bob Koss wrote in message ...
>"JamesH" <[EMAIL PROTECTED]> writes:
>
>
>>
>> Can anyone recommend a good Linux Training Organization?
>> Has anyone used or heard anything about Linuxcare or Redhat training?
>>
>
>Learning Tree (www.learningtree.com) offers Linux training.
>
>--
>--
>Robert Koss, Ph.D. | Object Mentor, Inc. | Tel: (800) 338-6716
>Senior Consultant | 14619 N Somerset Cr | Fax: (847) 918-1023
>[EMAIL PROTECTED] | Green Oaks IL 60048 | www.objectmentor.com
>
------------------------------
From: Tristan Wibberley <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: Re: What's with this new Gnome system?
Date: Sun, 01 Aug 1999 05:04:14 +0100
Reply-To: [EMAIL PROTECTED]
Ron House wrote:
>
> I have been trying this new gnome system in RedHat 6. The concept is
> nice but it seems to have problems. It starts up the system inside X
> instead of being run from the command line, and so the windows opened in
> X are the first (i.e. logon windows) you see, but it doesn't run
> .bash_profile. Then the gnome-terminal steadfastly ignores the geometry
> parameter and gets the colours wrong (try IndianRed and tell me if you
> think a pallid pink is the rich dark colour every non-gnome app uses for
> Indian Red). The gnome colour browser displays colours that are
> different again. Then when you 'save' the screen it saves the values of
> export variables but not aliases. If you try copying a menu item into
> the user menus with right-click "add this to personal menu" it sometimes
> will and sometimes refuses to be copied. Then the menu editor doesn't
> have an option to clone an existing menu item (for small mods which are
> easier than setting up the whole thing again). I have to think this
> system is in a very raw state. It would seem better to keep the old
> system in public distributions until the new one is ready.
There was no old system to keep ;)
IMHO, Gnome 1.0 was released too soon.
Did you bother to read the README and find where you're supposed to send
bug reports, and where to ask about the problems before you do? I think
not.
--
Tristan Wibberley
------------------------------
From: <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking,redhat.networking.general
Subject: outlook can't send to qmail using pine
Date: Mon, 02 Aug 1999 08:30:46 GMT
i've setup qmail and used pine in the linux box. i can send and received
mail using pine. i setup another machine using outlook express 2000. i can
received mail but unable to send back or reply. kinddly advise or help.
thank you in advance.
error msg from outlook :
Your server has unexpectedly terminated the connection. Possible causes
for this include server problems, network problems, or a long period of
inactivity. Account: 'rsmail1.com', Server: 'rsmail1.com', Protocol: SMTP,
Port: 25, Secure(SSL): No, Error Number: 0x800CCC0F
p/s : searchlinux really cool and all you guys 2. Thank you.
================== Posted via SearchLinux ==================
http://www.searchlinux.com
------------------------------
From: Etienne Lorrain <[EMAIL PROTECTED]>
Subject: [ANNONCE] Another bootloader - non fonctionnal version
Date: Mon, 02 Aug 1999 11:06:43 +0100
Hello,
Only slightly related to kernel development, but
I would like here to make public my project of
a new GPL bootloader for Intel called "gujin".
It's most visible characteristic is that it
is extensively using GCC to produce real-mode
code (few Kbytes of source already), for the
other characteristics see at:
ftp://ftp.varesearch.com/pub/support/hjl/binutils/16bit/readme.1st
There is stuff precompiled for the 3 minutes test,
source for the 1 hour test or more stuff for the
next months. Because it is my pleasure and not my
work, the doc is mostly the source. A lot of work
has still to be done before having a first real
version.
Note that this list is already too much loaded,
so it is not the place to discuss feature or ask
questions. As usual, my E-mail address would
mostly like patches...
Have a nice day,
Etienne.
Note: The beta version of binutil used as reference is:
ftp://ftp.varesearch.com/pub/support/hjl/binutils/beta/binutils-2.9.5.0.3.tar.gz
-- Hem, who has just turned off the light?
-- Oh no, that's just a paper bag on my head.
------------------------------
From: Aravind Narasimhan <[EMAIL PROTECTED]>
Crossposted-To: comp.programming.threads
Subject: Re: Any Free 2-level/hybrid/many-to-few Thread libraries?
Date: Mon, 02 Aug 1999 03:47:20 -0700
Try NSPR20, Netscape Portable Runtime 2.0. You can find more info @
NSPR Intro and API: http://www.mozilla.org/docs/refList/refNSPR/
NSPR Source: http://lxr.mozilla.org/nspr/source/
They have implementations for a bunch of OSes. You might need fish around to
see if they do what you need them to do for Linux.
Aravind:)
Michael Thome wrote:
> Are there any freely-available (GPL, PD, whatever) thread libraries
> available (esp. for Linux) which implement a mixed "many user-space
> threads to a few kernel-space threads" model?
>
> User-space threads do not benefit from SMP, at least not directly,
> whereas Kernel-space threads are overly expensive and seriously
> resource-limited. Yes, I'm familiar with the standard arguments that
> using (say) hundreds of threads is bad design... there are, however, at
> least two legit (IMHO) situations where support of many threads is
> required:
>
> 1. Threads as a language construct (e.g. in Java, etc). Where threads
> are integral to the language (as much as closures, continuations,
> coprocesses, etc) there cannot be low resource limits on threads without
> damaging the integrity of the the language.
>
> 2. Development of peer-to-peer distributed applications. Even though a
> single peer may require a small number of threads, development of the
> full application may require tens or even hundreds of peers. Even if
> most peers have small resource requirements (and should be capable of
> running on a single machine), you can easily fill up a linux process
> table if you are using native threads.
>
> Solaris seems to have an interesting 2-level thread implementation - I'd
> love to see a similar one for linux...
>
> thanks,
> -mik
> Michael Thome
> [EMAIL PROTECTED]
--
Aravind Narasimhan
"Who do you want to patent today?"
In 1987 the PTO ruled that all living things can be patented except
human beings, because of the 13th amendment to the Constitution,
which outlawed slavery.
------------------------------
From: jievis <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.misc
Subject: c++ grammer
Date: Mon, 02 Aug 1999 11:30:37 GMT
Hi, All:
Where can I find the grammer for C++ writen in lex( or flex) and yacc
(or bison),
Thanks in advance
Jievis
================== Posted via SearchLinux ==================
http://www.searchlinux.com
------------------------------
From: De Messemaeker Johan <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.misc
Subject: Re: c++ grammer
Date: Mon, 02 Aug 1999 13:37:27 +0200
jievis wrote:
>
> Hi, All:
>
> Where can I find the grammer for C++ writen in lex( or flex) and yacc
>
> (or bison),
>
> Thanks in advance
Hmm, i'm also interested in this. And the ANSI SQL-grammar too :-)
Thanx, greetings
Johan
------------------------------
From: JC <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps,redhat.general
Subject: Compiling
Date: Mon, 02 Aug 1999 12:30:33 GMT
Hello,
Can someone walk me thru compiling ang linking
a console program in Linux. I'm quite new in Linux and really
have no idea. I've heard of cc and gcc but can someone
actually teach me how to compile C programs?
I'm fairly good at C so you don't have to teach me
how to actually program in C.
I have a sample 'hello world' program waiting here in
a file named HELLO.C
Now what? Please email me. Thanks a lot!
JC [EMAIL PROTECTED]
================== Posted via SearchLinux ==================
http://www.searchlinux.com
------------------------------
From: [EMAIL PROTECTED] (bryant h marc)
Subject: Q: setserial with multiport option
Date: 2 Aug 1999 13:29:58 GMT
Hi,
I have two questions regarding the "multiport" option
on the setserial program. I asked these questions in
the linux.setup group first, but have not gotten much
info. Any advice or help you can give is quite
appreciated :
1. The Serial HOWTO says that only Kernels 2.2 and up
support IRQ sharing for serial ports. But the man
page for setserial seems to indicate that earlier
kernels will support IRQ sharing as long as you use the
multiport option (and your hardware has an interrupt
status port - obviously). Does anyone know the correct
answer? Why does the HOWTO say that only 2.2 and up
supports IRQ sharing?
2. How do I actually use the multiport option? The man
page seems to be a little brief on the topic. For example,
if I have a 2 port card, with I/O addresses at 0x300 and
0x308, both sharing IRQ 5, and an Interrupt Status Register
at 0x307 (i know its weird, but that is the way the card
is built), and the significant bits in the register are 0 and
1 (mask=0x03?) with a 1 indicating a pending interrupt, how
would i configure my ports? would i need to have multiport
settings for both ports, or just one of the ports? and if
i need settings for both ports, would i use port1,mask1,
match1 for the one port and port2,mask2,match2 for the other
, or port1,mask1,match1 for both?
I'm sorry if this question got a little lengthy. I appreciate
any help and insight anyone can offer. tia,
marc
------------------------------
From: John Guillory <[EMAIL PROTECTED]>
Subject: Video editing on linux?
Date: Mon, 2 Aug 1999 08:50:08 -0500
Is there a video editing aplication like Premier or Avid for Linux? I can't
find any information about it -- if it exists. Thanks, John
------------------------------
Date: Mon, 02 Aug 1999 23:33:06 +0800
From: Bayee <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: struct byte alignment ???
Hi all,
A small C question.....
// start of my_test.c
int main() {
struct s1 {
char field1;
unsigned short field2;
} my_test;
printf("sizeof my_test: %d\n", sizeof(my_test));
printf("sizeof my_test: %d + %d = %d\n",
sizeof(my_test.field1), sizeof(my_test.field2),
sizeof(my_test.field1)+sizeof(my_test.field2));
}
// end of my_test.c
On a Intel machine, with SuSE 6.1 Linux installed,
% make my_test
% ./my_test
sizeof my_test: 4
sizeof my_test: 1 + 2 = 3
From what I understand, this is due to some alignment issuse. Is
there any compilation option that we can turn off the "auto-align"
feature ? (Means that the first printf will return 3 instead of 4).
Thanks.
rgds,
Bayee
------------------------------
Date: Mon, 02 Aug 1999 23:38:15 +0800
From: Bayee <[EMAIL PROTECTED]>
Subject: Re: how does "top" work
Hi,
I think top read all info under /proc. You can see quiet a lot of
info there. Anyway, I am guessing, not necessary the right answer.
Hsin Yee
email: [EMAIL PROTECTED]
Yung-Hsiang Lu wrote:
>
> Hi, Everyone,
>
> I am curious how "top" works. How can it find the utilization of CPU
> idle time? Is there a place I can get the source code of top? I
> believe it is not in /usr/src/linux; I did not find it in GNU ftp
> sites either.
>
> Thanks a lot.
>
> --
> Sincerely,
> Yung-Hsiang Lu
> [EMAIL PROTECTED]
------------------------------
From: [EMAIL PROTECTED] (Kaz Kylheku)
Crossposted-To: comp.os.linux.development.apps
Subject: Re: struct byte alignment ???
Date: Mon, 02 Aug 1999 16:30:25 GMT
On Mon, 02 Aug 1999 23:33:06 +0800, Bayee <[EMAIL PROTECTED]> wrote:
>Hi all,
>
> A small C question.....
>
> // start of my_test.c
^^ ... with C++ comments. :)
> From what I understand, this is due to some alignment issuse. Is
>there any compilation option that we can turn off the "auto-align"
>feature ? (Means that the first printf will return 3 instead of 4).
Why? Are you that hard up for memory? Sometimes it can be useful to have
packed structures in order to conform to some external storage format. GCC has
__attribute__ ((packed)) to support that.
For example:
struct s1 { char field1; unsigned short field2 } __attribute__ ((packed));
But of course, it's more portable to access the binary data as an array of
unsigned char, and demarshall it to a local representation that doesn't depend
on compiler tricks.
This is all documented in the info pages.
------------------------------
From: Leonard Evens <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps,redhat.general
Subject: Re: Compiling
Date: Mon, 02 Aug 1999 10:51:47 -0500
Remco van den Berg wrote:
>
> On Mon, 02 Aug 1999 12:30:33 GMT, JC wrote:
> >Hello,
> >
> >Can someone walk me thru compiling ang linking
> >a console program in Linux. I'm quite new in Linux and really
> >have no idea. I've heard of cc and gcc but can someone
> >actually teach me how to compile C programs?
> >I'm fairly good at C so you don't have to teach me
> >how to actually program in C.
> >I have a sample 'hello world' program waiting here in
> >a file named HELLO.C
> >
> >Now what? Please email me. Thanks a lot!
> >
> >JC [EMAIL PROTECTED]
> >
> >------------------ Posted via SearchLinux ------------------
> > http://www.searchlinux.com
>
> First step is:
>
> #> mv HELLO.C hello.c
>
> ... and then ...
>
> The "do it yourself" method is:
>
> #> gcc hello.c -o hello # compile and link...
>
> or
>
> #> gcc -c hello.c -o hello.o # just compile ...
> #> gcc -o hello hello.o # ... and link
>
> or using `make`:
>
> #> make hello # make use of the intelligence in make :-)
One would of course first have to create a makefile with the
appropriate entries as in the example below.
>
> The best thing for you would be to read the "GNU Make" manual, write a
> Makefile and run make.
The manual can be found by using
info make
If one has never used info before, try just
info
and go through a tutorial in how to use it.
One can print out manuals using texinfo, but texinfo is not
necessarily immediately available on all systems. And of
course one has to figure out how to use it, which I admit
I haven't yet done myself.
>
> The Makefile could be something like:
>
> CC = gcc
> CFLAGS = -O2
> LD = gcc
>
> PROG = hello
> OBJS = hello.o
>
> $(PROG): $(OBJS)
>
> Good luck,
>
> - Remco van den Berg
>
> ----------------------------------------------------------------------------
> Philips Semiconductors B.V. tel:(+31 40 27)22031 fax:22764 Room: BE-326
> mailto:[EMAIL PROTECTED] seri: rvdberg@nlsce1
>
> home Email: [EMAIL PROTECTED] (preferred for non-commercial mail)
>
> ----------------------------------------------------------------------------
> Microsoft and Lotus Notes free. Don't send me any Microsoft attachments.
> ----------------------------------------------------------------------------
--
Leonard Evens [EMAIL PROTECTED] 847-491-5537
Dept. of Mathematics, Northwestern Univ., Evanston, IL 60208
------------------------------
From: "Mikeg" <[EMAIL PROTECTED]>
Crossposted-To:
comp.os.linux.misc,comp.os.linux.networking,comp.os.linux.hardware,comp.os.linux.development.apps
Subject: Re: Linux Training
Date: Mon, 2 Aug 1999 08:58:55 -0700
I'm taking an online class at http://www.zdu.com So far I like it and plan
on taking more classes.
MikeG
Bob Koss wrote in message ...
>"JamesH" <[EMAIL PROTECTED]> writes:
>
>
>>
>> Can anyone recommend a good Linux Training Organization?
>> Has anyone used or heard anything about Linuxcare or Redhat training?
>>
>
>Learning Tree (www.learningtree.com) offers Linux training.
>
>--
>--
>Robert Koss, Ph.D. | Object Mentor, Inc. | Tel: (800) 338-6716
>Senior Consultant | 14619 N Somerset Cr | Fax: (847) 918-1023
>[EMAIL PROTECTED] | Green Oaks IL 60048 | www.objectmentor.com
>
------------------------------
From: [EMAIL PROTECTED] (David H. Munro)
Subject: Re: SIGFPE delivery
Date: 01 Aug 1999 16:15:45 -0700
[EMAIL PROTECTED] (Andi Kleen) writes:
>ISO C9x does not define the possible exception modi, but it has fesetenv()
>and it says that the flags are implementation dependent. Thus glibc
>has FE_INEXACT, FE_DIVBYZERO etc. Those can be tested for with ifdef
>(if they are not defined the current architecture does not support them)
Not to beat a dead horse, but you are wrong again. The C9X fenv.h
standard is very subtlely and cunningly written to evade the issue of
the exception *masks*; the FE_INEXACT, FE_DIVBYZERO etc. macros you
mention are useful only as exception *bits* for testing -- they are
integers of type fexcept_t which can be ORed together.
Unfortunately, the only function provided capable of setting the
delivery masks is fesetenv(), whose parameter is of type fenv_t, not
fexcept_t. The only macro type fenv_t mentioned by the C9X standard
is FE_DFL_ENV, which restores the default (masked) environment. It
would have been nice if fenv_t were an integer type for which you
could OR the various masks, but it is not.
Once again, as I've said dozens of times to dozens of people, the
fenv.h interface provides no means for setting the floating point
exception *masks* -- only for setting and testing the exception
*bits*. However, ...
>It sounds useless to reinvent your own functions when these glibc versions
>already exist (with a good chance for portability too - perhaps other
>C9x implementation will follow the glibc names - even if not it is still
>much more easy to parametrize than with a custom function)
That is true. The C9X standard says (section 7.6):
[#8] The macro
FE_DFL_ENV
represents the default floating-point environment - the one
installed at program startup - and has type pointer to
const-qualified fenv_t. It can be used as an argument to
<fenv.h> functions that manage the floating-point
environment.
[#9] Additional macro definitions, beginning with FE_ and
having type pointer to const-qualified fenv_t, may also be
specified by the implementation.
And glibc indeed defines one additional fenv_t constant, as Andreas
Jaeger has pointed out, FE_NOMASK_ENV. However, as he showed by
testing, that environment indiscriminately turns off *all* the mask
bits, including in particular underflow, which makes the environment
worthless for high performance numerical software.
If glibc were to additionally define FE_NUMERICAL_ENV or FE_BEST_ENV
or whatever that set up the FPU for maximum floating point performance
with zero divide, overflow, and invalid operation exceptions unmasked,
it would indeed solve the problem. Especially if other vendors
followed suit using the same names. I agree completely that a fully
functional fesetenv() function with a non-C9X extension macro is
probably the best solution to the whole mess.
Dave Munro
------------------------------
From: Eric Hegstrom <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps,redhat.general
Subject: Re: Compiling
Date: Mon, 02 Aug 1999 10:41:23 -0700
Don't forget to put the specify the current path with a "." when trying
to run the program:
./hello
-Eric
Remco van den Berg wrote:
>
> On Mon, 02 Aug 1999 12:30:33 GMT, JC wrote:
> >Hello,
>
> >
>
> >Can someone walk me thru compiling ang linking
>
> >a console program in Linux. I'm quite new in Linux and really
>
> >have no idea. I've heard of cc and gcc but can someone
>
> >actually teach me how to compile C programs?
>
> >I'm fairly good at C so you don't have to teach me
>
> >how to actually program in C.
>
> >I have a sample 'hello world' program waiting here in
>
> >a file named HELLO.C
>
> >
>
> >Now what? Please email me. Thanks a lot!
>
> >
>
> >JC [EMAIL PROTECTED]
> >
> >------------------ Posted via SearchLinux ------------------
> > http://www.searchlinux.com
>
> First step is:
>
> #> mv HELLO.C hello.c
>
> ... and then ...
>
> The "do it yourself" method is:
>
> #> gcc hello.c -o hello # compile and link...
>
> or
>
> #> gcc -c hello.c -o hello.o # just compile ...
> #> gcc -o hello hello.o # ... and link
>
> or using `make`:
>
> #> make hello # make use of the intelligence in make :-)
>
> The best thing for you would be to read the "GNU Make" manual, write a
> Makefile and run make.
>
> The Makefile could be something like:
>
> CC = gcc
> CFLAGS = -O2
> LD = gcc
>
> PROG = hello
> OBJS = hello.o
>
> $(PROG): $(OBJS)
>
> Good luck,
>
> - Remco van den Berg
>
> ----------------------------------------------------------------------------
> Philips Semiconductors B.V. tel:(+31 40 27)22031 fax:22764 Room: BE-326
> mailto:[EMAIL PROTECTED] seri: rvdberg@nlsce1
>
> home Email: [EMAIL PROTECTED] (preferred for non-commercial mail)
>
> ----------------------------------------------------------------------------
> Microsoft and Lotus Notes free. Don't send me any Microsoft attachments.
> ----------------------------------------------------------------------------
--
Eric Hegstrom .~.
Senior Software Engineer /V\
Sonoran Scanners, Inc. // \\ L I N U X
[EMAIL PROTECTED] /( )\ >don't fear the penguin<
520-617-0072 x402 ^^-^^
------------------------------
** 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
******************************