From: UnixOS2 Archive To: "UnixOS2 Archive" Date: Thu, 24 Jan 2002 04:09:48 EST-10EDT,10,-1,0,7200,3,-1,0,7200,3600 Subject: [UnixOS2_Archive] No. 114 ************************************************** Wednesday 23 January 2002 Number 114 ************************************************** Subjects for today 1 Re: vxcron (was Re: Cron/2 1.41 DOS Session error?) : Adrian Gschwend" 2 Re: vxcron (was Re: Cron/2 1.41 DOS Session error?) : Adrian Gschwend" 3 Re: vxcron (was Re: Cron/2 1.41 DOS Session error?) : Holger Veit 4 Re: vxcron (was Re: Cron/2 1.41 DOS Session error?) : Adrian Gschwend" 5 Re: vxcron (was Re: Cron/2 1.41 DOS Session error?) : Andrew Belov" 6 Re: vxcron (was Re: Cron/2 1.41 DOS Session error?) : Andrew Belov" 7 Re: Make 3.79.1 : IanM" 8 netCDF : John Poltorak 9 Re: LIBEMU ? : Adrian Gschwend" 10 GNU Text Utils : John Poltorak 11 Re: LIBEMU ? : Holger Veit 12 Re: LIBEMU ? : Gerhard Arnecke" 13 Re: LIBEMU ? : Tobias Huerlimann" **= Email 1 ==========================** Date: Thu, 24 Jan 2002 00:01:46 +0100 (CET) From: "Adrian Gschwend" Subject: Re: vxcron (was Re: Cron/2 1.41 DOS Session error?) On Wed, 23 Jan 2002 23:48:09 +0100 (CET), Adrian Gschwend wrote: >I want to start several jobs, like some cmd-scripts but also rm -r on >the temp directory. >Should I now write a cmd-script which executes rm -r or should I simply >enter the command itself in the file? Might be a stupid question but I >just wonder. hmm just started crontab and it cannot find epm, I think I don't have that installed IIRC. Does it rely on that or can I change that? cu Adrian -- Adrian Gschwend at OS/2 Netlabs ICQ: 22419590 ktk at netlabs.org ------- The OS/2 OpenSource Project: http://www.netlabs.org **= Email 2 ==========================** Date: Thu, 24 Jan 2002 00:15:08 +0100 (CET) From: "Adrian Gschwend" Subject: Re: vxcron (was Re: Cron/2 1.41 DOS Session error?) On Thu, 24 Jan 2002 00:01:46 +0100 (CET), Adrian Gschwend wrote: >hmm just started crontab and it cannot find epm, I think I don't have >that installed IIRC. Does it rely on that or can I change that? grr, think before asking :) set EDITOR=... :-) cu Adrian -- Adrian Gschwend at OS/2 Netlabs ICQ: 22419590 ktk at netlabs.org ------- The OS/2 OpenSource Project: http://www.netlabs.org **= Email 3 ==========================** Date: Thu, 24 Jan 2002 00:17:37 +0100 From: Holger Veit Subject: Re: vxcron (was Re: Cron/2 1.41 DOS Session error?) On Thu, Jan 24, 2002 at 12:01:46AM +0100, Adrian Gschwend wrote: > On Wed, 23 Jan 2002 23:48:09 +0100 (CET), Adrian Gschwend wrote: > > >I want to start several jobs, like some cmd-scripts but also rm -r on > >the temp directory. > >Should I now write a cmd-script which executes rm -r or should I simply > >enter the command itself in the file? Might be a stupid question but I > >just wonder. > > hmm just started crontab and it cannot find epm, I think I don't have > that installed IIRC. Does it rely on that or can I change that? I don't know about this particular port, but typically those interactive Unix tools understand an environment variable VISUAL or EDITOR to find a suitable editor to process the file. If not set, the Unix command punishes you with spawning 'ed' - we know this as edlin... It would be a bad port if the epm editor were hardcoded into the software. Try setting one or both of these env variables. Holger -- Please update your tables to my new e-mail address: holger.veit$ais.fhg.de (replace the '$' with ' at ' -- spam-protection) **= Email 4 ==========================** Date: Thu, 24 Jan 2002 00:19:10 +0100 (CET) From: "Adrian Gschwend" Subject: Re: vxcron (was Re: Cron/2 1.41 DOS Session error?) On Wed, 23 Jan 2002 23:12:20 +0000, John Poltorak wrote: >Set the EDITOR variable to your chosen editor. yeah noted that later :-) see other post but: [C:\mptn\etc\cron]crontab -e epm: No such file or directory crontab: "epm" exited with status 1 that happens with every editor I set. Does it work on your machine? cu Adrian -- Adrian Gschwend at OS/2 Netlabs ICQ: 22419590 ktk at netlabs.org ------- The OS/2 OpenSource Project: http://www.netlabs.org **= Email 5 ==========================** Date: Thu, 24 Jan 2002 02:45:49 +0300 (MSK) From: "Andrew Belov" Subject: Re: vxcron (was Re: Cron/2 1.41 DOS Session error?) On Wed, 23 Jan 2002 23:48:09 +0100 (CET), Adrian Gschwend wrote: >I'm quite new to cron so I have a question about the usage: > >I want to start several jobs, like some cmd-scripts but also rm -r on >the temp directory. >Should I now write a cmd-script which executes rm -r or should I simply >enter the command itself in the file? Might be a stupid question but I >just wonder. This port of VXCron uses system() to run tasks, so any shell command can be run as a cron task. It should even tolerate "start /c", so with some tricks it's possible to get away from a detached cron to: - start a DOS session - make some VIO/PM sessions - switch to the foreground and go into "trapdoor mode" (hibernate and boot other OS). I was never so lucky to get the third thing working, however. **= Email 6 ==========================** Date: Thu, 24 Jan 2002 02:51:37 +0300 (MSK) From: "Andrew Belov" Subject: Re: vxcron (was Re: Cron/2 1.41 DOS Session error?) On Thu, 24 Jan 2002 00:19:10 +0100 (CET), Adrian Gschwend wrote: >but: > >[C:\mptn\etc\cron]crontab -e >epm: No such file or directory >crontab: "epm" exited with status 1 > >that happens with every editor I set. Does it work on your machine? CRONTAB.C tolerates both %VISUAL% and %EDITOR%, so try both. If %EDITOR% is not specified, then OS2ENV.C returns the hardcoded "epm". **= Email 7 ==========================** Date: Thu, 24 Jan 2002 03:59:53 +1100 (EDT) From: "IanM" Subject: Re: Make 3.79.1 Hi John http://www.os2site.com/sw/unixport/misc/make-3.79.1-emx-nl.zip http://www.os2site.com/sw/unixport/misc/make-3_76_1s.zip Cheers IanM http://www.os2site.com/ **= Email 8 ==========================** Date: Thu, 24 Jan 2002 09:52:23 +0000 From: John Poltorak Subject: netCDF I came across netCDF in unixos2.com/incoming yesterday. I've never heard of it previously but it may well be useful to some people working with scientific data. What Is netCDF? NetCDF (network Common Data Form) is an interface for array-oriented data access and a freely-distributed collection of software libraries for C, Fortran, C++, Java, and perl that provide implementations of the interface. The netCDF software was developed by Glenn Davis, Russ Rew, Steve Emmerson, John Caron, and Harvey Davies at the Unidata Program Center in Boulder, Colorado, and augmented by contributions from other netCDF users. The netCDF libraries define a machine-independent format for representing scientific data. Together, the interface, libraries, and format support the creation, access, and sharing of scientific data. NetCDF data is: * Self-Describing. A netCDF file includes information about the data it contains. * Architecture-independent. A netCDF file is represented in a form that can be accessed by computers with different ways of storing integers, characters, and floating-point numbers. * Direct-access. A small subset of a large dataset may be accessed efficiently, without first reading through all the preceding data. * Appendable. Data can be appended to a netCDF dataset along one dimension without copying the dataset or redefining its structure. The structure of a netCDF dataset can be changed, though this sometimes causes the dataset to be copied. * Sharable. One writer and multiple readers may simultaneously access the same netCDF file. You can find out more about netCDF here:- http://www.unidata.ucar.edu/packages/netcdf/ It's great to come across OS/2 ports like this even though it isn't something I have a need for, unless someone familiar with the package could suggest what I could use it for... -- John **= Email 9 ==========================** Date: Thu, 24 Jan 2002 12:07:31 +0100 (CET) From: "Adrian Gschwend" Subject: Re: LIBEMU ? On Wed, 23 Jan 2002 23:55:41 +0100, Holger Veit wrote: >Hope this clears up the obscure driver thing a bit. It did, very interesting reading. I just miss one thing about libemu, I simply don't know who is doing that and how the timeframe looks like. For sure I know that you Holger plan the most stuff on that but I think noone really knows how much is done already!? Are there any people who can help you with this tasks? Or do you want to work on that alone until it reaches a defined level? If you give me some light on this as well it would clear up even more :) I also think it would be nice to have a page where we collect some of your mails to give outsiders an idea about the project as well. Maybe someone could do such a page (I could do it if noone else volunteers but I prefer if someone else is doing it :-) cu Adrian -- Adrian Gschwend at OS/2 Netlabs ICQ: 22419590 ktk at netlabs.org ------- The OS/2 OpenSource Project: http://www.netlabs.org **= Email 10 ==========================** Date: Thu, 24 Jan 2002 13:57:30 +0000 From: John Poltorak Subject: GNU Text Utils There was a recent new port of GNU Text Utils which may have escaped many peoples notice. This one has been built from scratch AFAIAA, and as a result most of the old baggage included in earlier ports has been dispensed with since the GNU build tools have been developed to cater for cross-platform issues including DOS filesystems, which means all the messy ifdef EMX stuff has gone leaving much cleaner code. It would be nice to see this happening wherever possible. One thing I did notice with the diff files was the presence of the line;- + initialize_main(&argc, &argv); in almost every file. Is there any alternative to this? Can't we change the build tools to change this on the fly specifically for OS/2? I'm thinking in terms of how we get these diffs included in the mainstream code and don't think the GNU maintainers will be too happy to accept such changes... Another thing I noticed was a lot of chnges in the TESTS directory where 'diff -a' is substituted for 'cmp'. Wouldn't it be better to use $CMP so that make could set CMP=diff -a for users of DOS filesystems and Unix users could just use cmp... One of the main differences with this port is the absence of a common DLL such as GNUTU.DLL which makes each of the utils slightly bigger, although all the binaries, 26 in total, still only take up 300kB, but this is still 50% bigger than a previous port so I'm wondering how easy it would be to create such a common DLL in this instance. Maybe someone could suggest how desirable it would be to have a common DLL. It's nice to see that this package uses REGEX.DLL and INTL.DLL. I'm looking forward to the day when I can get rid of all the other versions of these files which I need to have hanging around for specific ports. -- John **= Email 11 ==========================** Date: Thu, 24 Jan 2002 15:14:03 +0100 From: Holger Veit Subject: Re: LIBEMU ? On Thu, Jan 24, 2002 at 12:07:31PM +0100, Adrian Gschwend wrote: > On Wed, 23 Jan 2002 23:55:41 +0100, Holger Veit wrote: > > >Hope this clears up the obscure driver thing a bit. > > It did, very interesting reading. > > I just miss one thing about libemu, I simply don't know who is doing > that and how the timeframe looks like. As it looks now, libemu is the BSD library (Posix/2 already inherited quite a lot from this source). You can find the sources in a typical FreeBSD or OpenBSD distribution. Porting this involves mainly two rather simple things, so I don't worry about that for now: 1. either get BSD's make environment running, or rewrite the Makefile tree to GNU make (I prefer the latter). 2. combine the various libs into a single large DLL, and provide several forwarder DLLs. A small summary on "why BSD" (although I have mentioned it some time ago already): - it is a stable and "compatible" environment - it has a clear interface to for porting to a new platform: you have to provide the man(2) system calls somehow, and maybe rewrite some assembler stubs (the latter is irrelevant, i386 is supported) - it is rather straight forward, not obfuscated as the GNU libc > For sure I know that you Holger plan the most stuff on that but I think > noone really knows how much is done already!? Are there any people who > can help you with this tasks? Or do you want to work on that alone > until it reaches a defined level? > If you give me some light on this as well it would clear up even more > :) On porting: I already use the BSD headers for the IX.SYS driver (that's its name) where appropriate and possible, but there are some and headers which won't be available or will look differently - IX.SYS shares some algorithms with the BSD kernel, but is not a BSD kernel itself. While writing and debugging the driver, I build up and modify the and headers as they are needed - stuff like , and are the most important now, and popular user headers like and will likely not appear before compiling the C library. And the actual OS/2 support, by integration of the os2tk451 headers, available through eCS, SWC, or DevCon (and if all fails, just copy os2emx.h), is an enterprise far in the future. It is not difficult to add OS/2 support; one can get a lot of ideas from EMX, but it has low priority for me. As the headers are a moving target, compiling the library is a moving target as well, and other than getting it statically compile (it won't be testable now), there is no real assistance in porting possible. If someone wants to attempt to deal with 1. and 2. above, I'll upload a snapshot of the library subtree to somewhere, but it won't look to different as the code you can extract from a BSD distribuiton - and, seriously, it shouldn't. The magic is in the man(2) syscall support (this is best comparable to EMX.DLL; here it is the pair IX.SYS and UX2KRNL.DLL). > I also think it would be nice to have a page where we collect some of > your mails to give outsiders an idea about the project as well. Maybe > someone could do such a page (I could do it if noone else volunteers > but I prefer if someone else is doing it :-) The list is archived, I thought... Holger -- Please update your tables to my new e-mail address: holger.veit$ais.fhg.de (replace the '$' with ' at ' -- spam-protection) **= Email 12 ==========================** Date: Thu, 24 Jan 2002 18:07:59 +0100 (MEZ) From: "Gerhard Arnecke" Subject: Re: LIBEMU ? Concerning header files of BSD one can find this chapter in Toolkit 4.5: TCP/IP o Compiling an application with the BSD 4.3 header files: The 4.3 BSD header files (for TCP/IP versions prior to 4.1) are also included with this Toolkit. To access the header files, define TCPV40HDRS before including (#include) any of the TCP/IP header files. Do this on the command line with the /D switch: icc /DTCPV40HDRS /c myprog.c or in your .c file: #define TCPV40HDRS #include ... To link an application that was compiled with these header files, you must specify so32dll.lib and tcp32dll.lib on the link line: ilink /NOFREEFORMAT myprog,myprog.exe,NULL, so32dll.lib tcp32dll.lib o Update to "Compiling an RPC API Application" Use these steps to compile and link an RPC API application using IBM VisualAge C++ for OS/2: 1. To compile your program, enter: icc /DTCPV40HDRS /C myprog.c 2. To create an executable program, you can enter (on one line): ilink /NOFREEFORMAT myprog,myprog.exe,NULL, rpc32dll.lib so32dll.lib tcp32dll.lib Notes: - The RPC API is not re-entrant. If you are creating a multithreaded program, you must serialize the access to the APIs. - For more information about the compile and link options, and dynamic link libraries, see the user's guide provided with your compiler. - RPC applications must be compiled using the 4.3 BSD API (pre-TCP/IP 4.1 header files). Using the 4.4 header files with an RPC application is not supported. GA **= Email 13 ==========================** Date: Thu, 24 Jan 2002 18:50:22 +0100 (MEZ) From: "Tobias Huerlimann" Subject: Re: LIBEMU ? Hi! Well, this sounds _very_ promising and I've got some questions on LIBEMU, just for curiosity. On Thu, 24 Jan 2002 15:14:03 +0100, Holger Veit wrote: > As it looks now, libemu is the BSD library (Posix/2 already inherited > quite a lot from this source). You can find the sources > in a typical FreeBSD or OpenBSD distribution. :-) Which C library do you currently use, Open-, Free-, or NetBSD's one? > On porting: I already use the BSD headers for the IX.SYS driver (that's its > name) where appropriate and possible, but there are some and > headers which won't be available or will look differently - IX.SYS shares > some algorithms with the BSD kernel, but is not a BSD kernel itself. I wonder which approach you took: (1) Did you start modifying a real BSD kernel (i.e. from OpenBSD), replacing for example all its memory management syscalls using Dos* calls or (2) Did you start rewriting everything from scratch just using some algorithms? > As the headers are a moving target, compiling the library is a moving > target as well, and other than getting it statically compile (it won't > be testable now), there is no real assistance in porting possible. Am I right saying that one should be able to take any BSD (or POSIX?) compliant library and just compile it without any porting (provided that he has an working 'make' environment)? > The magic is in the man(2) syscall support > (this is best comparable to EMX.DLL; here it is the pair IX.SYS and > UX2KRNL.DLL). Will IX.SYS also include XF86SUP.SYS's capabilities and therefore replace it? TIA, Tobias