Linux-Development-Sys Digest #294, Volume #6 Sun, 17 Jan 99 11:14:05 EST
Contents:
pre7 and 3dfx/glide/Mesa (gpasa)
Re: disheartened gnome developer (Navindra Umanee)
Re: IPMasquerading / SSH (Daniel R. Grayson)
Re: disheartened gnome developer (Navindra Umanee)
Re: disheartened gnome developer (Perry Pip)
ntfs (Simon Lange)
Re: Incompatibility with header files net/if.h and linux/netdevice.h (Andreas Jaeger)
Re: CDROM access for SGI box via Linux box (BL)
Linux 2.2pre6-Oops in IPX-routing code, when using INTERNAL_NET (Hartwig Felger)
Re: Driver Development HELP - skbuffs (Andi Kleen)
Re: A Call To Arms (Grant Leslie)
----------------------------------------------------------------------------
From: gpasa <[EMAIL PROTECTED]>
Subject: pre7 and 3dfx/glide/Mesa
Date: Sun, 17 Jan 1999 12:47:40 +0100
Hi,
I've built the 2.2.0-pre7 kernel with no problems,
(like the 2.2.0-pre4 version) but now I cannot anymore play
quake or other 3dfx -- Mesa -- glide ... apps ? while they work
fine with pre4. Any clue ?
--
Sincerely yours,
Pasa Guglielmo
==================================================================
� homepage: http://www.omedia.ch/pages/gpasa/ �
�----------------------------------------------------------------�
� e-mail : [EMAIL PROTECTED] � tel. : +41 (0)24 485 50 40 �
� mailing : Pasa Guglielmo � fax : +41 (0)24 485 50 44 �
� Rte des Cases 17A � �
� CH-1890 St-Maurice � prof.: physicist �
� (Switzerland) � �
==================================================================
.
------------------------------
From: Navindra Umanee <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.advocacy,comp.os.linux.development.apps,comp.os.linux.x
Subject: Re: disheartened gnome developer
Date: 16 Jan 1999 18:57:55 GMT
[EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> is GTK API more suited for C++ while Qt for C?
GTK is written in C and so the default API is in C. GTK also has
bindings for other languages including C++ but *I* don't know if
anyone is really using these and it seems to *me* that most people
prefer C anyway. I, personally, just don't like the way the C code
looks, it probably takes some getting used to.
Qt is written in C++ and the API is in C++. I don't know how easy it
is to write bindings for Qt in other languages but reportedly there
are bindings for Python, Perl, C and maybe more (developer.kde.org
seems down so I can't verify). Some people don't dig C++ and aren't
convinced that the Qt bindings are any good.
Oh, for kicks, here's hello world in python for both Qt and GTK.
These aren't quite equivalent and I don't have time to make them
equivalent.
# This is looks very much like programming Qt in C++
[asimov] [/<1>navindra/tmp/pyKDE-0.4/examples] cat mytut1.py
#!/usr/local/bin/python
# Qt tutorial 1.
import sys
from kde import *
a = QApplication(sys.argv)
hello = QPushButton("Hello world!")
hello.resize(100,30)
connect(hello,SIGNAL("clicked()"),a,SLOT("quit()"))
a.setMainWidget(hello)
hello.show()
a.exec_loop()
==================
# This looks too much like GTK in C to me
# I think we want to disregard this example and move to the next one
[asimov] [/<2>tmp/pygtk-0.5.9/examples/simple] cat hello1.py
#!/usr/bin/env python
# this is a translation of "Hello World III" from the GTK manual,
# using gtkmodule
from _gtk import *
from GTK import *
def hello(*args):
print "Hello World"
gtk_widget_destroy(window)
def destroy(*args):
gtk_widget_hide(window)
gtk_main_quit()
gtk_init()
window = gtk_window_new(WINDOW_TOPLEVEL)
gtk_signal_connect(window, "destroy", destroy)
gtk_container_set_border_width(window, 10)
button = gtk_button_new_with_label("Hello World")
gtk_signal_connect(button, "clicked", hello)
gtk_container_add(window, button)
gtk_widget_show(button)
gtk_widget_show(window)
gtk_main()
==================
# this seems better!
[asimov] [/<2>tmp/pygtk-0.5.9/examples/simple] cat hello2.py
#!/usr/bin/env python
# this is a translation of "Hello World III" from the GTK manual,
# using gtk.py
from gtk import *
def hello(*args):
print "Hello World"
window.destroy()
def destroy(*args):
window.hide()
mainquit()
window = GtkWindow(WINDOW_TOPLEVEL)
window.connect("destroy", destroy)
window.set_border_width(10)
button = GtkButton("Hello World")
button.connect("clicked", hello)
window.add(button)
button.show()
window.show()
mainloop()
==================
Both bindings look pretty impressive, especially if you ignore the
first GTK example.
-N.
--
"These download files are in Microsoft Word 6.0 format. After unzipping,
these files can be viewed in any text editor, including all versions of
Microsoft Word, WordPad, and Microsoft Word Viewer." [Microsoft website]
< http://www.cs.mcgill.ca/~navindra/editors/ >
------------------------------
From: [EMAIL PROTECTED] (Daniel R. Grayson)
Subject: Re: IPMasquerading / SSH
Date: 16 Jan 1999 13:31:30 -0600
[EMAIL PROTECTED] (Peter Samuelson) writes:
> [Daniel R. Grayson <[EMAIL PROTECTED]>]
> > > > on host B, the command "netstat -M" will display each such
> > > > "masqueraded" connection, together with its expiration
> > > > time. I can watch the time till expiration tick down
> > > > from 15 minutes to 0 for the connection from A to C --
> > > > each time some data are exchanged, it gets reset to
> > > > 15 minutes. Eventually the connection is terminated.
> [Me]
> > > The burning question is -- are you absolutely sure it's not host C
> > > which is doing the disconnecting? That's what Mark was getting at.
> [Daniel Grayson]
> > Oh. Well, sure, before we started using masquerading, we could stay
> > connected while idle.
> >
> > Isn't it convincing that host B above has a visible expiration time
> > ticking down to 0, at which time the connection is broken?
>
> Quite convincing. Sorry, I misunderstood the part where you explained
> all that the first time around.
>
> (I don't know what I'm doing in this thread anyway. I don't use masq
> and never have, so most probably I can't help you.)
>
> Of course, if you can't find a solution to your timeouts, you may wish
> to kludge some sort of keepalives. For example, if the remote system
> supports writing to /dev/tty in the background, you could have a
> process send a no-op control sequence to /dev/tty every ten minutes if
> ~/.bash_profile somehow detects that you're coming in over a masq
> line....
>
> --
> Peter Samuelson
> <sampo.creighton.edu!psamuels>
The problem with this kludge is that it would only work for telnet, rsh, and
ssh connections, where we can run commands at the other end. Termination of
other connections causes me problems, too, especially, for example, nntp news
server connections. If I pause too long while reading news with "gnus" then
I have to start over, sigh.
I just found in the kernel source :
version 2.0.2-pre6:
#if 000 /* FIXED timeout handling */
static struct ip_fw_masq ip_masq_dummy = {
MASQUERADE_EXPIRE_TCP,
MASQUERADE_EXPIRE_TCP_FIN,
MASQUERADE_EXPIRE_UDP
};
EXPORT_SYMBOL(ip_masq_expire);
struct ip_fw_masq *ip_masq_expire = &ip_masq_dummy;
#endif
version 2.1.114:
/*
* timeouts
*/
static struct ip_fw_masq ip_masq_dummy = {
MASQUERADE_EXPIRE_TCP,
MASQUERADE_EXPIRE_TCP_FIN,
MASQUERADE_EXPIRE_UDP
};
So all I have to do is to upgrade the kernel and then it will start working.
Or I can fix the ip_masq_timeout_table in ip_masq.c.
------------------------------
From: Navindra Umanee <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.advocacy,comp.os.linux.development.apps,comp.os.linux.x
Subject: Re: disheartened gnome developer
Date: 16 Jan 1999 18:02:42 GMT
Perry Pip <[EMAIL PROTECTED]> wrote:
> Look at what the code is doing!! The GTK helloworld is showing four
> examples of it's callback mechanism.The Qt example only one. And the GTK
> example shows how to write your own callbacks. The GTK example is
> demonstating more functionality, i.e how to capture a wm delete event, and
> how to emit a signal to another widget.
Okay, Qt handles/captures destroy and delete events by default so I'll
quote code that shows you how to write your own slots.
/*
* HelloWorld.h
*/
#include <stdio.h>
#include <qapp.h>
#include <qpushbt.h>
class HelloWorld : public QPushButton
{
Q_OBJECT;
public:
HelloWorld( const char *text, QWidget *parent=0, const char *name=0 );
public slots:
void hello();
};
/*
* HelloWorld.cc
*/
#include "HelloWorld.h"
HelloWorld::HelloWorld( const char *text, QWidget *parent, const char *name )
: QPushButton( text, parent, name )
{
// just call the super constructor
}
void HelloWorld::hello()
{
printf("Hello World!\n");
}
int main( int argc, char **argv )
{
QApplication a( argc, argv );
HelloWorld hello( "Hello World!");
QObject::connect( &hello, SIGNAL(clicked()), &hello, SLOT(hello()));
a.setMainWidget( &hello );
hello.resize( 100, 30 );
hello.show();
return a.exec();
}
>>> Well I can say many people are coding away in Gtk. (Which I should be
>>> doing right now, instead of wasting my time in this thread.)
>>
>>In C?
>
> Take a look at the Gtk and Gnome apps lists and you'll see that
> plenty of people are coding in C. The other GTK/Gnome bindings will have
> their day when they are more mature.
So in your judgement most people developing with GTK and GNOME tend to
use C and the other bindings aren't really mature yet? (IOW at the
moment, bindings or not, C is simply the language of choice for GTK or
GNOME developers.)
>>Here're some example programs I'd like to quote again:
>
> You can't compare two tookits by just pasting in helloworlds. You'll have
> to go into more depth than that, and unserstand thoroughly what the code
> is doing so you don't miss out on what's in the code.
Agreed, I'm hoping someone will do in depth comparisons some day. :)
-N.
--
"These download files are in Microsoft Word 6.0 format. After unzipping,
these files can be viewed in any text editor, including all versions of
Microsoft Word, WordPad, and Microsoft Word Viewer." [Microsoft website]
< http://www.cs.mcgill.ca/~navindra/editors/ >
------------------------------
From: [EMAIL PROTECTED] (Perry Pip)
Crossposted-To: comp.os.linux.advocacy,comp.os.linux.development.apps,comp.os.linux.x
Subject: Re: disheartened gnome developer
Reply-To: [EMAIL PROTECTED]
Date: Sat, 16 Jan 1999 19:55:56 GMT
On Sat, 16 Jan 1999 16:52:57 GMT, steve mcadams <[EMAIL PROTECTED]> wrote:
>I'll have to take a look at the GTK code sometime and see how it's
>designed; I assume you're saying the GTK developers wrote a C version
>and then added a C++ wrapper? I'm curious as to whether it's designed
>for object orientation, or whether the C++ wrapper is a kludge; in my
>experience those are the only two possibilities.
Gtk is and has been designed for object orientation from the start in C.
Only a few of the GTK-- developers are GTK developers. The others are just
interested in using GTK in C++.
The are currently over a dozen language extensions to Gtk. Ease of
extensibility was one of the reasons the Gnome team choose a C toolkit.
(The other being that C is already so prevalant on Linux). However, until
the extensions are more mature, you have to use C to to get all the
features of GTK and Gnome. GTK does go a long way into making GUI C
programming pretty easy.
>Not that I have that
>much experience with C++ wrappers, I've only seen a few (maybe a
>dozen) in the past 5 years (since I started using C++). They were all
>kludges, including (if not especially) MFC, which is a thin C++
>wrapper over the C-language Windows API, which in turn is a kludge
>because of its origins and upward compatability requirements. -steve
OK
><offtopic>
>You probably think I'm nuts because I'm writing a cross-system GUI
>library and haven't looked at either Qt or GTK from the point of view
>of someone who might use them; that's ok, the few people in WindowLand
>that know what I'm doing probably think I'm nuts too. The bottom line
>is that neither GTK or Qt can possibly be adequate for the purposes I
>have in mind for my library; or that I really am nuts (don't ask which
>my wife thinks is the case, I haven't told her about any of this
>free-code business yet). <g>
></offtopic>
Hey, as long as your SO makes enough money to support you, it can't be
nuts.!! Heh, heh:)
Seriously, some people to this day think I'm nuts using Linux. And that's
nothing compared to how many people thought I was nuts using it four years
ago. Yet it's made me some money. So if some people think I'm nuts using
Gtk, that's their problem.
Perry
------------------------------
From: Simon Lange <[EMAIL PROTECTED]>
Subject: ntfs
Date: Sat, 16 Jan 1999 19:21:16 +0100
HI,
id like to know if there is a was to mount a ntfs-stripe-set
partition?! may with the mtools?! and if so -- how?
also id like to know what the state of the read/write ntfs driver?! i
need one coz i have to share my sources under to different
os-installations (linux and nt4) coz i MUST use (from time to time)
mssql-server 6.5.
so wahts the state of ntfs?! and what about stripe-sets under nt? any
possibility to mount them and user (without to destroy them) under
pinguin-os?!
Peace
Simon
------------------------------
From: Andreas Jaeger <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking,comp.os.linux.misc,.comp.os.linux.setup
Subject: Re: Incompatibility with header files net/if.h and linux/netdevice.h
Date: 16 Jan 1999 22:57:44 +0100
>>>>> root writes:
> Hi,
> I recently installed RedHat 5.2, and tried to compile dhcpcd-0.70, which
> failed due to header file conflicts.
> I narrowed down the problem to the fact that it tries to include the
> header files <linux/netdevice.h> and
> <linux/netdevice.h>. If I try to compile a .c file with the two lines
> below, I get a number of warnings and errors
> about multiply defined constants and variables, and some parse errors.
> I would like any help/suggestions on where to from here. All the
> programs and header files on my system have the same version as the
> RH5.2 distribution.
Read the glibc2 FAQ (it comes with glibc2 and should be installed
somewhere on your system):
3.5. On Linux I've got problems with the declarations in Linux
kernel headers.
{UD,AJ} On Linux, the use of kernel headers is reduced to the minimum.
This gives Linus the ability to change the headers more freely. Also,
user programs are not insulated from changes in the size of kernel
data structures.
For example, the sigset_t type is 32 or 64 bits wide in the kernel.
In glibc it is 1024 bits wide. This guarantees that when the kernel
gets a bigger sigset_t (for POSIX.1e realtime support, say) user
programs will not have to be recompiled. Consult the header files for
more information about the changes.
Therefore you shouldn't include Linux kernel header files directly if
glibc has defined a replacement. Otherwise you might get undefined
results because of type conflicts.
Andreas
P.S. Followup-To is set.
--
Andreas Jaeger [EMAIL PROTECTED] [EMAIL PROTECTED]
for pgp-key finger [EMAIL PROTECTED]
------------------------------
From: BL <[EMAIL PROTECTED]>
Subject: Re: CDROM access for SGI box via Linux box
Date: 17 Jan 1999 14:29:32 GMT
Reply-To: no.spambots.please
sgi cdroms normally are not iso9660, so regular readers that expect this cant
make sense of the sgi filesystem [sigh].
Jan Andres <[EMAIL PROTECTED]> wrote:
: Robin Butler <[EMAIL PROTECTED]> writes:
: > I want to be able to allow my SGI box to read a CDROM
: > located in my Linux box. Is there anyway I can get Linux
: > to recognise the IRIX filesystem?
: Why do you need the IRIX filesystem for that? You can mount the CDROM
: somewhere on the Linux box, and then import the CDROM's mountpoint on
: the SGI via NFS.
: --
: Jan Andres
: Email (rot13ed to avoid spam): [EMAIL PROTECTED]
: Ham radio: DH2JAN
--
AntiSpam: For email, change all 'zero' chars to letter 'o' chars.
bryan, http://www.Grateful.Net/
------------------------------
From: Hartwig Felger <[EMAIL PROTECTED]>
Subject: Linux 2.2pre6-Oops in IPX-routing code, when using INTERNAL_NET
Date: Sun, 17 Jan 1999 00:51:26 +0100
Salut all,
Kernel does a NULL-pointer reference in IPX routingcode.
How to do it:
1. built a kernel 2.1.132 till 2.2.0pre6 with CONFIG_IPX_INTERN,
(I did not check earlier 2.1-kernels - sorry)
2. make a pppd or ipppd connection with both ip and ipx (I did not check
if a
connection with only ipx is enougth)
3. be sure that ipxd is running
4. take down pppd or ipppd link.
-> the ipxd will cause a NULL-pointer referenzation at the memcpy line
in the
net/ipx/af_ipx.c.
After I applyed my searching patch, I never got the "ig 1" message, but
each
link-down a "ig 2"-message.
As I do not understand the semantics of the internal-Net, I am not able
to fix
this kernelbug. But I think, that it is a bad thing, because it damages
a part
of the kernel, i.e. the ipx-module will no longer be unloadable after
such a
NULL-reference.
net/ipx/af_ipx.c:
----in function ipx_recvmsg---------
#ifdef CONFIG_IPX_INTERN
- memcpy(uaddr.sipx_node,
sk->protinfo.af_ipx.intrfc->if_node,
+ if(sk->protinfo.af_ipx.intrfc)
+ {
+ printk(KERN_WARNING "ig 1\n");
+ memcpy(uaddr.sipx_node,
sk->protinfo.af_ipx.intrfc->if_node,
IPX_NODE_LEN);
+ }
+ else
+ printk(KERN_WARNING "ig 2\n");
#endif /* CONFIG_IPX_INTERN */
============================================
Thanks!!!
hartwig
1024/7A5EADED Hartwig Felger <[EMAIL PROTECTED]>
pgp-Key fingerprint = 2F 3B 34 10 00 B7 FE 10 CE 84 E2 56 1C B0 3E 07
768/CA2159D9 Hartwig Felger
<[EMAIL PROTECTED]>
pgp-Key fingerprint = 18 49 5E 6E 4E 47 3D F5 28 3E 11 C9 05 26 F3 46
------------------------------
From: Andi Kleen <[EMAIL PROTECTED]>
Subject: Re: Driver Development HELP - skbuffs
Date: 17 Jan 1999 13:41:08 +0100
In article <[EMAIL PROTECTED]>,
Mike Ireton <[EMAIL PROTECTED]> writes:
> Howdy,
> I've been hacking together a device driver as a loadable module and
> I have most everything working. I have a situation where I would like to
> maintain a list of sk_buff's as handed to me by the kernel, and then
> from within a bottom half handler, traverse the list of skb's with a
> pointer and selectively pull them out of the list.
> I see that there is the functions skb_dequeue() which will take it
> off the head of this list. What I want is a way to generate a pointer to
> the list and then traverse it and test each skb in that list for certain
> conditions, and if true, to remove that skb from the list. What
> functions, if any, are available to me to do this?
There are no kernel function to walk a list. In this case you
have to traverse the list yourself:
struct sk_buff *skb;
for (skb = skb_peek(&your_list);
skb && skb!=(struct sk_buff*)&your_list;
skb = skb->next) {
if ( ... your test is true ...) {
skb_unlink(skb);
....
}
}
You have to make sure of course that your list may not be modified by
others while you walk it (e.g. by protecting it against interrupts
if interrupts modify the list)
More information about sk_buffs is available at
http://www.uk.linux.org/Documents/buffers.html
-Andi
------------------------------
From: Grant Leslie <[EMAIL PROTECTED]>
Crossposted-To:
comp.os.linux.development.apps,comp.os.linux.hardware,comp.os.linux.m68k
Subject: Re: A Call To Arms
Date: Sat, 16 Jan 1999 20:55:24 -0400
> People just don't want to spend a lot of money on
> software for it.
Write good enough software, and people will pay for it.. no matter what
OS it runs on. Personally I'm completely ready to pay for Corel Suite
2000 for Linux, I also buy many Win9x games, which I'd still be willing
to pay for if they happened to include a Linux port, in fact I'd be MORE
willing to pay for it if they did..
Besides what was ever wrong a company expanding it's potential market?
> Plus, Linux is a real big moving target. I had a client
> who got into real big trouble installing a new version of RedHat because
> something changed that caused their Cyclades serial board to quit working.
And how many drivers stopped working when they upgraded from DOS to Win
3.1? then from Win 3.1 to Win 95, and then after Service Pack #1 was
installed, and then ( God forbid ) from Win 95 to Win NT 4.0?? Linux is
no more a moving target than any other OS.
For the record I'm not an "MS hater" per say, just someone who hates
paying for bad software. People use the free software, in Linux, for one
simple reason, it does what they want it to do, period. A wonderful side
effect is you don't have to pay for it.
> Waiting for the flames to begin...
Well, when you make a comment which might come across as an insult to
Linux, on these newsgroups, you MUST realize many of the people who will
read it are people who contribute to Linux, with there time, programming
skill, and some even with thier money, many of these people are the
people who helped to write much of the software that run on Linux, and
many even help write the core the OS itself, the Kernel. Therefore,
don't be too surprised if some of them happen to kinda take it
personally..
My 2 cents worth ;-)
--
"It looks so lovely, and fragile. Imagine how many millions of people
are living on it, and don't even realize how fragile it is."
Alan B. Shepard, 1971, said with a tear in his eye, on the
Apollo 14 mission looking back at earth from the moon
------------------------------
** 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
******************************