From: UnixOS2 Archive To: "UnixOS2 Archive" Date: Fri, 5 Jul 2002 04:31:30 EST-10EDT,10,-1,0,7200,3,-1,0,7200,3600 Subject: [UnixOS2_Archive] No. 263 ************************************************** Thursday 04 July 2002 Number 263 ************************************************** Subjects for today 1 Re: Gettext / libiconv : Franz Bakan" 2 Re: wget script : Thomas Dickey 3 Re: Gettext / libiconv : Dave and Natalie" 4 Re: Wget build bug ? : Dave and Natalie" 5 Re: Gettext / libiconv : John Poltorak 6 \emx\lib discrepencies : John Poltorak 7 wget script : John Poltorak 8 Re: wget script : email at eracc.hypermart.net (ERACC Lists) 9 Re: wget script : John Poltorak 10 Re: \emx\lib discrepencies : John Poltorak 11 Re: wget script : csaba.raduly at sophos.com 12 Re: Wget build bug ? : Stefan Neis 13 Re: \emx\lib discrepencies : Stefan Neis 14 GZIP : John Poltorak 15 Re: wget script : lordspigol" 16 Re: BLDLEVEL info in SED : John Poltorak 17 Re: Gettext / libiconv : John Poltorak 18 Make 3.79.1 & GETTEXT problem : John Poltorak 19 Baseline toolset : John Poltorak 20 Re: BLDLEVEL info in SED : csaba.raduly at sophos.com **= Email 1 ==========================** Date: Fri, 05 Jul 2002 03:37:32 +0200 (CEST) From: "Franz Bakan" Subject: Re: Gettext / libiconv On Thu, 4 Jul 2002 John Poltorak wrote: >The latest libiconv is 1.8, which some people have used successfully. >Some people have managed to get it built straight out of the box just >using 'configure & make'... using the approach with unixos2 -all sh configure make worked for me too 'out of the box' Thanks for the hint! (I did not try other approaches) Now building and linking gettext 0.11.2 with the 1.8 libiconv worked too and the SIGSEGV - bug in msgmerge is gone ;-) Franz **= Email 2 ==========================** Date: Fri, 5 Jul 2002 06:04:35 -0400 From: Thomas Dickey Subject: Re: wget script On Fri, Jul 05, 2002 at 10:10:52AM +0100, John Poltorak wrote: > > Is there any way to make wget use a script file instead of using command > line parameters? what do you want to do that can't be done via a script that calls wget? -- Thomas E. Dickey http://invisible-island.net ftp://invisible-island.net **= Email 3 ==========================** Date: Fri, 05 Jul 2002 07:46:27 -0800 From: "Dave and Natalie" Subject: Re: Gettext / libiconv On Thu, 04 Jul 2002 15:36:49 +0200 (MSZ), Franz Bakan wrote: >On Thu, 4 Jul 2002 13:53:27 +0100, John Poltorak wrote: > >>> with >>> VERSION = 0.11.2 >> >>Thanks, that works OK now. >> >>Any idea what is wrong with the original? Presumably it does work for some >>people. Maybe it depends on having a specific shell... > >no I don't haveto touch the makefile. Though I do get these errors now (seems I didn't even have these a while ago but I really don't remember) emximp -o out/release/intl.a out/release/intl.def emximp: String expected (line 2 of out/release/intl.def) make: *** [out/release/intl.a] Error 2 Which is fixed by adding quotaion marks " to just before GNU and the end. Then I get emximp: Invalid statement (line 5 of out/release/intl.def) which is fixed by remming this line out with a ; So there is a difference in our build enviroments (Sed?) Dave **= Email 4 ==========================** Date: Fri, 05 Jul 2002 08:08:03 -0800 From: "Dave and Natalie" Subject: Re: Wget build bug ? On Fri, 5 Jul 2002 12:26:39 +0200 (CEST), Stefan Neis wrote: > >> Also this compiles and links fine with all other versions of gcc. > >... and I think I encountered that problem with gcc-2.8.x as well, so >I think it's a specialty of pgcc if it works... > >> The error is >> ld: failure reading string table size of snprintf.o > >I think this might be telling you "I can't cope with a totally empty >symbol table" and I'd suppose that pgcc is generating a dummy entry >on its own ... The build completes fine with gcc 2.8.1. snprintf.o is 93 bytes. Also I'd still think a compiler should be able to gracefully recover from this type of error as it is common Dave **= Email 5 ==========================** Date: Fri, 5 Jul 2002 09:12:42 +0100 From: John Poltorak Subject: Re: Gettext / libiconv On Fri, Jul 05, 2002 at 03:37:32AM +0200, Franz Bakan wrote: > On Thu, 4 Jul 2002 John Poltorak wrote: > > >The latest libiconv is 1.8, which some people have used successfully. > >Some people have managed to get it built straight out of the box just > >using 'configure & make'... > > using the approach with > unixos2 -all Did you need to do this? I found the existing configure script worked fine as it was. > sh configure > make > > worked for me too 'out of the box' Thanks for the hint! > (I did not try other approaches) > > Now building and linking gettext 0.11.2 with the 1.8 libiconv > worked too and the SIGSEGV - bug in msgmerge is gone ;-) Excellent! Is there any way of being able build the whole the using a script? I'd really like to see some failsafe instructions for building this since GETTEXT is such a key app for many other apps. Ideally, I would like to have a script which follows the 'masochist method' but I don't know if anyone has been successfull with it > Franz -- John **= Email 6 ==========================** Date: Fri, 5 Jul 2002 09:37:23 +0100 From: John Poltorak Subject: \emx\lib discrepencies Looking at the files in \emx\lib it appears to me that there are a number of discrepancies, and I wonder if I have overlooked something. Maybe someone can explain what looks wrong to me, since there are probably logical reasons for things being the way they are. Comparing the mt and st directories, these four files exist in st only:- c_app_p.a c_p.a check.a check.lib I have no idea what they are, and maybe it doesn't make any sense to have mt versions of them, but then why have st specific versions of them? The other thing which doesn't 'look right' is the absence of certain files. There seems to be a matching *.a file for every *.lib file as well as a *.o for every *.obj, but not in all cases. There is a gcrt0.o but no gcrt0.obj and a res0.obj but no res0.o. Also there are several *.a's without corresponding *.lib's and vice-versa. Just wondering if this is OK or if there is something wrong with my installation... -- John **= Email 7 ==========================** Date: Fri, 5 Jul 2002 10:10:52 +0100 From: John Poltorak Subject: wget script Is there any way to make wget use a script file instead of using command line parameters? -- John **= Email 8 ==========================** Date: Fri, 05 Jul 2002 11:10:05 -0500 From: email at eracc.hypermart.net (ERACC Lists) Subject: Re: wget script In: <20020705112824.L91 at eyup.org> On: Fri, 5 Jul 2002 11:28:25 +0100 Screaming: Re: wget script John Poltorak did rant: +On Fri, Jul 05, 2002 at 06:04:35AM -0400, Thomas Dickey wrote: > On Fri, +Jul 05, 2002 at 10:10:52AM +0100, John Poltorak wrote: > > +> > Is there any way to make wget use a script file instead of using command +> > line parameters? +> +> what do you want to do that can't be done via a script that calls wget? +Erm...?? +I do want to use a script but have never done so. +I guess I need this option:- + -e, --execute=COMMAND execute a `.wgetrc'-style command. +but haven't ever used it. I would like to pass a list of URLs to wget but +don't know how to do it. Here's a copy of the wget batch .cmd I made called mywget.cmd: ---------------------------- Begin Quote ---------------------------- at echo off rem mywget.cmd by ERACC echo Log created from %0 > wget.log echo: >> wget.log start "myWGET" /C e:\bin\wget -cN%1 %2 %3 %4 %5 --glob=on --passive-ftp --append-output=wget.log --input-file=getthese exit ----------------------------- End Quote ----------------------------- It reads a list of files from a file in the current directory called "getthese". I have the variables if I need to add any switches for some reason. The contents for "getthese" would look like: http://some.domain/some/path/somefile.xyz ftp://some.domain/some/path/somefile.xyz etc. It also creates and appends all output in a log file. If you use it be sure to clean up the log files afterward. They can get huge on some operations, like downloading ISOs. If you are after a 'sh' or 'bash' type script then there is this one I use on my UnixWare and Linux boxes: ---------------------------- Begin Quote ---------------------------- #!/bin/sh # mywget sh script by ERACC echo "Log created from $0 on `date`">./wget.log echo >>./wget.log wget -cN$1 $2 $3 $4 $5 --glob=on --passive-ftp --append-output=./wget.log \ --input-file=./getthese & ----------------------------- End Quote ----------------------------- Obviously if you intend to run this on OS/2 you will need a *nix-like 'date' command *or* will need to remove the "on `date`" portion of the script. Also wget.exe needs to be in your path unless you fix the script to include the path to wget.exe. Gene -- +=========================-=>Unix & OS/2<=-=========================+ # Owner and C.E.O. - ERA Computer Consulting - Jackson, TN USA # # eCS,OS/2,UnixWare,OpenServer & Linux Business Computing Solutions # # Please visit our www pages at http://eracc.hypermart.net/ # +===================================================================+ We run IBM OS/2 v.4.00, Revision 9.036 Sysinfo: 46 Processes, 175 Threads, uptime is 3d 9h 12m 59s 464ms **= Email 9 ==========================** Date: Fri, 5 Jul 2002 11:28:25 +0100 From: John Poltorak Subject: Re: wget script On Fri, Jul 05, 2002 at 06:04:35AM -0400, Thomas Dickey wrote: > On Fri, Jul 05, 2002 at 10:10:52AM +0100, John Poltorak wrote: > > > > Is there any way to make wget use a script file instead of using command > > line parameters? > > what do you want to do that can't be done via a script that calls wget? Erm...?? I do want to use a script but have never done so. I guess I need this option:- -e, --execute=COMMAND execute a `.wgetrc'-style command. but haven't ever used it. I would like to pass a list of URLs to wget but don't know how to do it. > -- > Thomas E. Dickey > http://invisible-island.net > ftp://invisible-island.net -- John **= Email 10 ==========================** Date: Fri, 5 Jul 2002 11:45:22 +0100 From: John Poltorak Subject: Re: \emx\lib discrepencies On Fri, Jul 05, 2002 at 12:32:06PM +0200, Stefan Neis wrote: > On Fri, 5 Jul 2002, John Poltorak wrote: > > > c_app_p.a > > c_p.a > > There is a gcrt0.o but no gcrt0.obj > > I suppose those three files are for profiling which might work > only for single-threaded a.out builds, probably the EMX documentation > can give you some more details. I don't know about the rest... > > > there are several *.a's without corresponding *.lib's and vice-versa. > > Hm, I thought "omflibs.cmd" is supposed to create a *.lib from _every_ *.a. No OMFLIBS.CMD has a hard coded list of files to process. Maybe some have been overlooked... Also there are some *.lib files which don't have a corresponding *.a... > Maybe some *.a and some *.lib files from other packages have been copied > into that directory since EMX was installed? This is possible, although I have tried to use an \emx\lib from the original distribution. > Regards, > Stefan > -- John **= Email 11 ==========================** Date: Fri, 5 Jul 2002 12:23:52 +0100 From: csaba.raduly at sophos.com Subject: Re: wget script On 05/07/2002 11:28:25 owner-os2-unix wrote: [snip] > >I do want to use a script but have never done so. > >I guess I need this option:- > >-e, --execute=COMMAND execute a `.wgetrc'-style command. That's for configuring, not action (.wgetrc contains configuration settings; it can't contain actions) > >but haven't ever used it. I would like to pass a list of URLs to wget Why don't you say so ? :-) Check out the -i switch. -- Csaba Ráduly, Software Engineer Sophos Anti-Virus email: csaba.raduly at sophos.com http://www.sophos.com US Support: +1 888 SOPHOS 9 UK Support: +44 1235 559933 **= Email 12 ==========================** Date: Fri, 5 Jul 2002 12:26:39 +0200 (CEST) From: Stefan Neis Subject: Re: Wget build bug ? On Thu, 4 Jul 2002, Dave and Natalie wrote: > Well what if a sourcefile only compiles to something on some systems? eg > #ifndef __EMX__ > do lots of stuff > #endif Well, e.g. wxWindows does stuff like #if whatever do lots of stuff #else static char dummy #endif because _many_ compilers have problems with that kind of stuff ... > Also this compiles and links fine with all other versions of gcc. ... and I think I encountered that problem with gcc-2.8.x as well, so I think it's a specialty of pgcc if it works... > The error is > ld: failure reading string table size of snprintf.o I think this might be telling you "I can't cope with a totally empty symbol table" and I'd suppose that pgcc is generating a dummy entry on its own ... Regards, Stefan **= Email 13 ==========================** Date: Fri, 5 Jul 2002 12:32:06 +0200 (CEST) From: Stefan Neis Subject: Re: \emx\lib discrepencies On Fri, 5 Jul 2002, John Poltorak wrote: > c_app_p.a > c_p.a > There is a gcrt0.o but no gcrt0.obj I suppose those three files are for profiling which might work only for single-threaded a.out builds, probably the EMX documentation can give you some more details. I don't know about the rest... > there are several *.a's without corresponding *.lib's and vice-versa. Hm, I thought "omflibs.cmd" is supposed to create a *.lib from _every_ *.a. Maybe some *.a and some *.lib files from other packages have been copied into that directory since EMX was installed? Regards, Stefan **= Email 14 ==========================** Date: Fri, 5 Jul 2002 12:40:26 +0100 From: John Poltorak Subject: GZIP There seems to be a number of options for building GZIP including 16 and 32 bit versions. How do I tell which I have ? I just tried building it myself using the gcc target and the resultant EXE was around 25% bigger than the one I already have. What would account for that? -- John **= Email 15 ==========================** Date: Fri, 05 Jul 2002 13:04:59 -0300 (ADT) From: "lordspigol" Subject: Re: wget script wget -i url.txt On Fri, 5 Jul 2002 11:28:25 +0100, John Poltorak wrote: >I would like to pass a list of URLs to wget but >don't know how to do it. **= Email 16 ==========================** Date: Fri, 5 Jul 2002 13:38:22 +0100 From: John Poltorak Subject: Re: BLDLEVEL info in SED On Wed, Jul 03, 2002 at 09:57:46AM +0100, csaba.raduly at sophos.com wrote: > > On 03/07/2002 09:14:34 owner-os2-unix wrote: > > [snip] > > > >sed$(EXEEXT): $(sed_OBJECTS) $(sed_DEPENDENCIES) > > at rm -f sed$(EXEEXT) > >$(LINK) $(sed_LDFLAGS) $(sed_OBJECTS) $(sed_LDADD) $(LIBS) sed.def > > > > You need to add sed.def to the dependency list > (probably not $(sed_DEPENDENCIES), because those aren't supplied > to the link command). > > > > >I get the DESCRIPTION information included, but the executable won't run. > >That's probably because of the other line included in the DEF file. > > > > You need something like this: > > -------->8-------- > NAME sed WINDOWCOMPAT NEWFILES <--- "NAME" says it's an EXE, not DLL > DESCRIPTION ....the bldlevel stuff here.... > PROTMODE > STACKSIZE 49152 <---- example ! > HEAPSIZE 0x4000 <---- example ! > -------->8-------- I'm thinking of only using NAME and DESCRIPTION lines. Am I likely to get reasonble defaults for everything else? > GNU apps usually have a version number defined somewhere. > If it's available for the makefile, you can generate the def file > during build to always have the "right" version number. It's difficult to establish the correct version using BLDLEVEL information. I tried this for REGEX.DLL:- DESCRIPTION ' at #UX2:0.12.0.0# at REGEX - POSIX regular expression library 0.12' But every app has its own format of version. Running BLDLEVEL on REGEX.DLL gives me:- Vendor: UX2 Revision: 0.12.0.0 File Version: 0.12 Description: REGEX - POSIX regular expression library 0.12 I'm tempted to use the Description for storing the Unix version, and use the Version fields as a UnixOS/2 version control identifier of some sort. Any suggestions would be welcomed. The BLDLEVEL version id format seems too rigid to be able to contain the Unix version id correctly. > >Are DEF files described anywhere? I don't really know what can go in > them. > > > > If you have VisualAge 3.0x, open "VisaulAge User's Guide and Reference" > Expand "Linking your program" and go to "Creating module definition files". Thanks, I'll take a look at that. -- John **= Email 17 ==========================** Date: Fri, 5 Jul 2002 16:47:11 +0100 From: John Poltorak Subject: Re: Gettext / libiconv On Fri, Jul 05, 2002 at 07:46:27AM -0800, Dave and Natalie wrote: > On Thu, 04 Jul 2002 15:36:49 +0200 (MSZ), Franz Bakan wrote: > > >On Thu, 4 Jul 2002 13:53:27 +0100, John Poltorak wrote: > > > >>> with > >>> VERSION = 0.11.2 > >> > >>Thanks, that works OK now. > >> > >>Any idea what is wrong with the original? Presumably it does work for some > >>people. Maybe it depends on having a specific shell... > > > >no > > I don't haveto touch the makefile. You seem to be the only one - along with the author, who I guess must have it working... > Though I do get these errors now (seems I didn't even have these a while > ago but I really don't remember) > emximp -o out/release/intl.a out/release/intl.def > emximp: String expected (line 2 of out/release/intl.def) > make: *** [out/release/intl.a] Error 2 > Which is fixed by adding quotaion marks " to just before GNU and the end. Then I get > emximp: Invalid statement (line 5 of out/release/intl.def) > which is fixed by remming this line out with a ; It's crazy having to go through all this. It should just work! > So there is a difference in our build enviroments (Sed?) Which SED are you using? I suppose other apps which may affect things are SH, AWK, MAKE... I think that Make is the culprit. I've gone through several different versions of each of the above and reverting to Make 3.76.1 seems to create a proper config.h. > Dave -- John **= Email 18 ==========================** Date: Fri, 5 Jul 2002 16:57:41 +0100 From: John Poltorak Subject: Make 3.79.1 & GETTEXT problem There seems to be some incompatibilty between Make 3.79.1 and Gettext 0.11.2. After extracting the archive and running:- set emxopt=-h1024 cd os2 make I get this error:- [C:\unixos2\workdir\gettext-0.11.2\os2]make make: $SHELL changed (was `/bin/sh', now `C:\OS2\CMD.EXE') Makefile:241: warning: overriding commands for target `emx/doc/gettext-AM_INIT_AUTOMAKE(gettext,' Makefile:239: warning: ignoring old commands for target `emx/doc/gettext-AM_INIT_AUTOMAKE(gettext,' gawk -f configure.awk -v PACKAGE=gettext -v VERSION=AM_INIT_AUTOMAKE(gettext, 0.11.2) ../config.h.in >config.h gawk: configure.awk:70: fatal: cannot open file `0.11.2)' for reading (No such file or directory) make: *** [config.h] Error 2 It looks as though VERSION can not be resolved from this line in the Makefile:- # Fetch version number from configure.in VERSION = $(shell sed ../configure.in -ne "/AM_INIT_AUTOMAKE/{" -e "s/.*(gettext, *\\(.*\\))/\\1/" -e "p" -e "}") and config.h doesn't get created as a result. The error disappears on reverting to Make 3.76.1. Can anyone else confirm this behaviour? -- John **= Email 19 ==========================** Date: Fri, 5 Jul 2002 19:20:41 +0100 From: John Poltorak Subject: Baseline toolset It seems that many build errors occur because of differences in people's installed toolsets. I thought it might be useful to establish a baseline for a standard toolset and progress from there in small steps. To begin with I would suggest:- EMX 0.9d with Fix04 GNU File Utils GNU Shell Utils GNU Text Utils Awk Grep Sed Make Tar Gzip M4 Patch Diff Find Flex Byacc Bison Perl Autoconf Automake Sh Bash Zip Unzip Versions to be decided... Is there anything important which has been missed? -- John **= Email 20 ==========================** Date: Fri, 5 Jul 2002 19:52:19 +0100 From: csaba.raduly at sophos.com Subject: Re: BLDLEVEL info in SED On 05/07/2002 13:38:22 owner-os2-unix wrote: Csaba wrote: [snip .def file for BLDLEVEL] >> >> You need something like this: >> >> -------->8-------- >> NAME sed WINDOWCOMPAT NEWFILES <--- "NAME" says it's an EXE, not DLL >> DESCRIPTION ....the bldlevel stuff here.... >> PROTMODE >> STACKSIZE 49152 <---- example ! >> HEAPSIZE 0x4000 <---- example ! >> -------->8-------- > >I'm thinking of only using NAME and DESCRIPTION lines. Am I likely to get >reasonble defaults for everything else? > According to emxbind.inf chapter 2.7.1, HEAPSIZE is ignored by emxbind. Ditto for PROTMODE and NEWFILES (they are always "on"). You get 0x8000 (32k) of stack by default (if you don't specify STACKSIZE). If it's an exe, it might be better to give 1-2 megs of stack. A DLL has no stack, so you don't have to worry about that. > >It's difficult to establish the correct version using BLDLEVEL >information. I tried this for REGEX.DLL:- > >DESCRIPTION ' at #UX2:0.12.0.0# at REGEX - POSIX regular expression library 0.12' > >But every app has its own format of version. > >Running BLDLEVEL on REGEX.DLL gives me:- > >Vendor: UX2 >Revision: 0.12.0.0 >File Version: 0.12 >Description: REGEX - POSIX regular expression library 0.12 > >I'm tempted to use the Description for storing the Unix version, and use >the Version fields as a UnixOS/2 version control identifier of some sort. >Any suggestions would be welcomed. The BLDLEVEL version id format seems >too rigid to be able to contain the Unix version id correctly. > Most GNU apps have three fields in their version number. My gut feeling is that the revision should reflect that; automatic up-to-dateness checking might be possible in the future. Is there anything else one can do with the build level info, apart from displaying it with BLDLEVEL ? -- Csaba Ráduly, Software Engineer Sophos Anti-Virus email: csaba.raduly at sophos.com http://www.sophos.com US Support: +1 888 SOPHOS 9 UK Support: +44 1235 559933