From: UnixOS2 Archive To: "UnixOS2 Archive" Date: Fri, 21 Feb 2003 04:53:53 EST-10EDT,10,-1,0,7200,3,-1,0,7200,3600 Subject: [UnixOS2_Archive] No. 51 ************************************************** Thursday 20 February 2003 Number 51 ************************************************** Subjects for today 1 Re: Make v3.79.1 bug? : John Poltorak 2 Re: Announcement: bash 2.05a : John Poltorak 3 Re: Building NCURSES using Posix/2 : Thomas Dickey 4 safefopen() : John Poltorak 5 Re: Make v3.79.1 bug? : Stefan Neis 6 Re: safefopen() : Stefan Neis 7 Building NCURSES using Posix/2 : John Poltorak 8 Re: Make v3.79.1 bug? : John Poltorak 9 Re: Building NCURSES using Posix/2 : John Poltorak 10 Re: Building NCURSES using Posix/2 : John Poltorak 11 Cyrus SASL : John Poltorak 12 Re: Building NCURSES using Posix/2 : Stefan Neis 13 Re: Building NCURSES using Posix/2 : Stefan Neis 14 Re: Announcement: bash 2.05a : Jeff Robinson 15 Re: Cyrus SASL : Stefan Neis 16 Re: Building NCURSES using Posix/2 : John Poltorak 17 Re: Building NCURSES using Posix/2 : John Poltorak 18 Re: Building NCURSES using Posix/2 : Stefan Neis **= Email 1 ==========================** Date: Fri, 21 Feb 2003 10:28:07 +0000 From: John Poltorak Subject: Re: Make v3.79.1 bug? On Thu, Feb 20, 2003 at 09:35:58PM +0100, Andreas Buening wrote: > John Poltorak wrote: > > > > Can anyone with Make v3.79.1 try building InfoZip's UNZIP? > > > > The source is available here:- > > > > ftp://ftp.info-zip.org/pub/infozip/src/unzip550.tar.gz > > > > The build fails when using using this verion of Make, but works with > > earlier versions. > > I've just uploaded a patched version: > sources: > http://unix.os2site.com/sw/pub/source/make/make-3_79_2a1-r2.zip > binaries: > http://unix.os2site.com/sw/pub/binary/make/make-3_79_2a1-r2-bin.zip Arghhhhh!!!! That is a fix to v3.79.2 and no source for that is available. Within UX2BS it is hoped that all the components can be built from source after applying patches. Can this fix also be applied to v3.79.1 ? Or is v3.80 usable on OS/2 yet? > > Bye, > Andreas > > -- > One OS to rule them all, One OS to find them, > One OS to bring them all and in the darkness bind them > In the Land of Mordor where the Shadows lie. -- John **= Email 2 ==========================** Date: Fri, 21 Feb 2003 10:42:33 +0000 From: John Poltorak Subject: Re: Announcement: bash 2.05a On Thu, Feb 20, 2003 at 04:46:32PM -0600, Jeff Robinson wrote: > Yeah, that is a pretty mighty patch, now that I look at it. I think > what I should've done (in retrospect) is removed the generated > configures from the new source before creating the patch... considering > that you should run autoconf after patching it anyways. > > I wanted to have this done in a much cleaner way, but I also wanted to > get something done relatively quickly so that Javier could test building > Mozilla with this version of bash. I haven't heard back from him lately > so either it works alright or bash set his workstation on fire. Was there a need for an updated BASH? If all you need to do is run SHELL scripts, you would be better off running PDKSH. > What I would really like to do (like you suggested) is have most things > automatically defined by running autoconf... but I couldn't figure out a > clean way off adding additional flags... if I do it in the config.os2 > (config_site) file then it over-rides *ALL* the autoconf'd flags. Is > there a way to just append flags to what autoconf comes up with? I think Autoconf respects CFLAGS if set. > Jeff > > -- > ---------------- > Whatza JamochaMUD? > http://jamochamud.anecho.mb.ca > > Or other stuff: http://www.anecho.mb.ca/~jeffnik > ----------------------------------------------------------- -- John **= Email 3 ==========================** Date: Fri, 21 Feb 2003 10:44:48 -0500 From: Thomas Dickey Subject: Re: Building NCURSES using Posix/2 On Fri, Feb 21, 2003 at 03:21:16PM +0000, John Poltorak wrote: > > > When Posix/2 is used in the build environment, then the NCURSES build > fails with errors such as:- > > In file included from c:\usr\include\unistd.h:231, > from ..\ncurses\curses.priv.h:68, > from ../ncurses/./base/lib_mouse.c:76: > c:\usr\include\sys/unistdx.h:183: conflicting types for `setmode' > c:\emx\include\io.h:50: previous declaration of `setmode' > ../ncurses/./base/lib_mouse.c: In function `initialize_mousetype': > ../ncurses/./base/lib_mouse.c:281: warning: passing arg 1 of `setmode' makes pointer from integer without a cast > ../ncurses/./base/lib_mouse.c:281: too many arguments to function `setmode' > ../ncurses/./base/lib_mouse.c:282: warning: passing arg 1 of `setmode' makes pointer from integer without a cast > ../ncurses/./base/lib_mouse.c:282: too many arguments to function `setmode' > make[1]: *** [../objects/lib_mouse.o] Error 1 > > > Is this due to setmode being wrongly defined in Posix/2? setmode isn't standardized, so it's possible that there is more than one definition for it. (since it's not standardized, it's also possible that the other function means something different). -- Thomas E. Dickey http://invisible-island.net ftp://invisible-island.net **= Email 4 ==========================** Date: Fri, 21 Feb 2003 12:19:25 +0000 From: John Poltorak Subject: safefopen() If anyone is familiar with safeopen() maybe you can say if this code snippet is necessary... /* try to lock the source file */ #ifdef OS2 if ((af = safefopen(map->map_file, O_RDWR | O_TEXT, 0, sff)) == NULL) #else /* OS2 */ if ((af = safefopen(map->map_file, O_RDWR, 0, sff)) == NULL) #endif /* OS2 */ { struct stat stb; if ((errno != EACCES && errno != EROFS) || automatic || #ifdef OS2 (af = safefopen(map->map_file, O_RDONLY | O_TEXT, 0, sff)) == NULL) #else /* OS2 */ (af = safefopen(map->map_file, O_RDONLY, 0, sff)) == NULL) #endif /* OS2 */ { -- John **= Email 5 ==========================** Date: Fri, 21 Feb 2003 14:26:58 +0100 (CET) From: Stefan Neis Subject: Re: Make v3.79.1 bug? On Fri, 21 Feb 2003, John Poltorak wrote: > > I've just uploaded a patched version: > > sources: > > http://unix.os2site.com/sw/pub/source/make/make-3_79_2a1-r2.zip > Arghhhhh!!!! > > That is a fix to v3.79.2 and no source for that is available. Sorry? I don't quite understand the problem. ;-) Does Andreas' source package contain no source or what? Regards, Stefan -- Micro$oft is not an answer. It is a question. The answer is 'no'. **= Email 6 ==========================** Date: Fri, 21 Feb 2003 14:31:48 +0100 (CET) From: Stefan Neis Subject: Re: safefopen() On Fri, 21 Feb 2003, John Poltorak wrote: > If anyone is familiar with safeopen() maybe you can say if this code > snippet is necessary... If you explicitly want text mode, then it probably is necessary. Anway, if it was my source code, I personally would prefer a patch like this: #if !defined(O_TEXT) #define O_TEXT 0 #endif ... /* try to lock the source file */ if ((af = safefopen(map->map_file, O_RDWR | O_TEXT, 0, sff)) == NULL) { struct stat stb; if ((errno != EACCES && errno != EROFS) || automatic || (af = safefopen(map->map_file, O_RDONLY | O_TEXT, 0, sff)) == NULL) { Regards, Stefan -- Micro$oft is not an answer. It is a question. The answer is 'no'. **= Email 7 ==========================** Date: Fri, 21 Feb 2003 15:21:16 +0000 From: John Poltorak Subject: Building NCURSES using Posix/2 When Posix/2 is used in the build environment, then the NCURSES build fails with errors such as:- In file included from c:\usr\include\unistd.h:231, from ..\ncurses\curses.priv.h:68, from ../ncurses/./base/lib_mouse.c:76: c:\usr\include\sys/unistdx.h:183: conflicting types for `setmode' c:\emx\include\io.h:50: previous declaration of `setmode' ../ncurses/./base/lib_mouse.c: In function `initialize_mousetype': ../ncurses/./base/lib_mouse.c:281: warning: passing arg 1 of `setmode' makes pointer from integer without a cast ../ncurses/./base/lib_mouse.c:281: too many arguments to function `setmode' ../ncurses/./base/lib_mouse.c:282: warning: passing arg 1 of `setmode' makes pointer from integer without a cast ../ncurses/./base/lib_mouse.c:282: too many arguments to function `setmode' make[1]: *** [../objects/lib_mouse.o] Error 1 Is this due to setmode being wrongly defined in Posix/2? -- John **= Email 8 ==========================** Date: Fri, 21 Feb 2003 15:57:40 +0000 From: John Poltorak Subject: Re: Make v3.79.1 bug? On Fri, Feb 21, 2003 at 02:26:58PM +0100, Stefan Neis wrote: > On Fri, 21 Feb 2003, John Poltorak wrote: > > > > I've just uploaded a patched version: > > > sources: > > > http://unix.os2site.com/sw/pub/source/make/make-3_79_2a1-r2.zip > > > Arghhhhh!!!! > > > > That is a fix to v3.79.2 and no source for that is available. > > Sorry? I don't quite understand the problem. ;-) > Does Andreas' source package contain no source or what? What I was hoping for was a location for the original source. v3.79.2 of Make seems not have been released as a package and must only have been available via CVS... > Regards, > Stefan > -- > Micro$oft is not an answer. It is a question. The answer is 'no'. > -- John **= Email 9 ==========================** Date: Fri, 21 Feb 2003 16:29:08 +0000 From: John Poltorak Subject: Re: Building NCURSES using Posix/2 On Fri, Feb 21, 2003 at 05:18:28PM +0100, Stefan Neis wrote: > On Fri, 21 Feb 2003, John Poltorak wrote: > > > When Posix/2 is used in the build environment, then the NCURSES build > > fails with errors such as:- > > > c:\usr\include\sys/unistdx.h:183: conflicting types for `setmode' > > c:\emx\include\io.h:50: previous declaration of `setmode' > > Hm, strange. I added some code to unistdx.h to prevent precisely > that conflict - ah, wait, I'm checking for inclusion of emx\io.h and > really should check for inclusion of io.h. Sorry, my fault. > > Still, it looks like you are using a too old version of Posix/2 headers, > otherwise, that conflict should occur at least on a different line of > sys/unistdx.h I was checking through some logs from last week. I'll run another build to see what differenes there are. > > Regards, > Stefan > -- > Micro$oft is not an answer. It is a question. The answer is 'no'. > -- John **= Email 10 ==========================** Date: Fri, 21 Feb 2003 16:50:21 +0000 From: John Poltorak Subject: Re: Building NCURSES using Posix/2 On Fri, Feb 21, 2003 at 04:29:08PM +0000, John Poltorak wrote: > On Fri, Feb 21, 2003 at 05:18:28PM +0100, Stefan Neis wrote: > > On Fri, 21 Feb 2003, John Poltorak wrote: > > > > > When Posix/2 is used in the build environment, then the NCURSES build > > > fails with errors such as:- > > > > > c:\usr\include\sys/unistdx.h:183: conflicting types for `setmode' > > > c:\emx\include\io.h:50: previous declaration of `setmode' > > > > Hm, strange. I added some code to unistdx.h to prevent precisely > > that conflict - ah, wait, I'm checking for inclusion of emx\io.h and > > really should check for inclusion of io.h. Sorry, my fault. > > > > Still, it looks like you are using a too old version of Posix/2 headers, > > otherwise, that conflict should occur at least on a different line of > > sys/unistdx.h > > I was checking through some logs from last week. I'll run another build to > see what differenes there are. With p2-beta-0.1.0, the NCURSES build gets much further, but stops at this point:- gcc ../objects/clear.o -L../lib -lncurses -Zmt -Zcrtdll -o clear.exe u:\posix2\lib/cExt.a(setmode.o): Undefined symbol _dumpmode referenced from text segment u:\posix2\lib/cExt.a(setmode.o): Undefined symbol _dumpmode referenced from text segment make[1]: *** [clear.exe] Error 1 make[1]: Leaving directory `U:/unixos2/workdir/ncurses-5.3/progs' make: *** [all] Error 2 > > > > > Regards, > > Stefan > > -- > > Micro$oft is not an answer. It is a question. The answer is 'no'. > > -- John **= Email 11 ==========================** Date: Fri, 21 Feb 2003 17:11:54 +0000 From: John Poltorak Subject: Cyrus SASL There is a package I have never come across called Cyrus SASL bundled with the OS/2 port of Sendmail v8.12.3. When I run the build script suggested, it tries to build the lib libsasl.a but fails with:- make[1]: Entering directory `P:/unixos2/workdir/SendMail-8-12-3-os2/OS2/CYRUS-SASL-1.5.24/lib' gcc -I. -I.. -I../include -I../../SYSLOG -I../../GDBM-1.7.3 -s -O2 -DHAVE_CONFIG_H -DOS2 -Dlint -c -o dlopen.o dlopen.c dlopen.c:47: dlfcn.h: No such file or directory make[1]: *** [dlopen.o] Error 1 Is dlfcn.h a header I should expect to find as part of Cyris SASL? If not, then where is it? -- John **= Email 12 ==========================** Date: Fri, 21 Feb 2003 17:18:28 +0100 (CET) From: Stefan Neis Subject: Re: Building NCURSES using Posix/2 On Fri, 21 Feb 2003, John Poltorak wrote: > When Posix/2 is used in the build environment, then the NCURSES build > fails with errors such as:- > c:\usr\include\sys/unistdx.h:183: conflicting types for `setmode' > c:\emx\include\io.h:50: previous declaration of `setmode' Hm, strange. I added some code to unistdx.h to prevent precisely that conflict - ah, wait, I'm checking for inclusion of emx\io.h and really should check for inclusion of io.h. Sorry, my fault. Still, it looks like you are using a too old version of Posix/2 headers, otherwise, that conflict should occur at least on a different line of sys/unistdx.h Regards, Stefan -- Micro$oft is not an answer. It is a question. The answer is 'no'. **= Email 13 ==========================** Date: Fri, 21 Feb 2003 17:23:58 +0100 (CET) From: Stefan Neis Subject: Re: Building NCURSES using Posix/2 On Fri, 21 Feb 2003, Thomas Dickey wrote: > On Fri, Feb 21, 2003 at 03:21:16PM +0000, John Poltorak wrote: > > Is this due to setmode being wrongly defined in Posix/2? > > setmode isn't standardized, so it's possible that there is more than one > definition for it. (since it's not standardized, it's also possible that > the other function means something different). Exactly. That's something I've been "talking" about several times already. There's setmode as defined in *BSD (handling some permission related stuff) and there's setmode as used in DOS (setting binary vs. text mode). The two are completely different and Posix/2 tries to do some intelligent guessing about which one it should use. But if you're not using the very newest Posix/2 headers, this guessing won't be in place yet (and even then it's not quite correct, but it should work in this case). Note however, that linking will currently unconditionally use the *BSD flavor (i.e. the wrong one in this case). I'm going to upload a fixed version of the library (and headers) later this evening or tomorrow. Regards, Stefan -- Micro$oft is not an answer. It is a question. The answer is 'no'. **= Email 14 ==========================** Date: Fri, 21 Feb 2003 17:34:33 -0600 From: Jeff Robinson Subject: Re: Announcement: bash 2.05a John Poltorak wrote: > On Thu, Feb 20, 2003 at 04:46:32PM -0600, Jeff Robinson wrote: > >>I wanted to have this done in a much cleaner way, but I also wanted to >>get something done relatively quickly so that Javier could test building >>Mozilla with this version of bash. I haven't heard back from him lately >>so either it works alright or bash set his workstation on fire. > > > Was there a need for an updated BASH? > > If all you need to do is run SHELL scripts, you would be better off > running PDKSH. > bash is the "standard" shell for building Mozilla from everything I've seen. One of the folks working on the OS/2 version of Mozilla found some features in Jun's version of bash that he liked, including a few features that're more OS/2-aware (such as drive-letters when using built in commands like 'pwd'). Mozilla was my main focus for building bash. Personally, I think shells are like religions. > > >>What I would really like to do (like you suggested) is have most things >>automatically defined by running autoconf... but I couldn't figure out a >>clean way off adding additional flags... if I do it in the config.os2 >>(config_site) file then it over-rides *ALL* the autoconf'd flags. Is >>there a way to just append flags to what autoconf comes up with? > > > I think Autoconf respects CFLAGS if set. > Hrmm. I may have been doing something wrong then. When I set my config_site to use config.os2 and then ran ./configure, it seemed like the CFLAGS in config.os2 over-rode ones that would've been defined otherwise. Either that or my memory is failing. Jeff -- ---------------- Whatza JamochaMUD? http://jamochamud.anecho.mb.ca Or other stuff: http://www.anecho.mb.ca/~jeffnik ----------------------------------------------------------- **= Email 15 ==========================** Date: Fri, 21 Feb 2003 18:46:26 +0100 (CET) From: Stefan Neis Subject: Re: Cyrus SASL On Fri, 21 Feb 2003, John Poltorak wrote: > Is dlfcn.h a header I should expect to find as part of Cyris SASL? No. > If not, then where is it? E.g. in Posix/2. ;-) Preferably wait some minutes until I have packaged and uploaded an update (to get rid of those _dumpmode and _gethostid problems). Regards, Stefan -- Micro$oft is not an answer. It is a question. The answer is 'no'. **= Email 16 ==========================** Date: Fri, 21 Feb 2003 19:46:57 +0000 From: John Poltorak Subject: Re: Building NCURSES using Posix/2 On Fri, Feb 21, 2003 at 05:23:58PM +0100, Stefan Neis wrote: > On Fri, 21 Feb 2003, Thomas Dickey wrote: > > > On Fri, Feb 21, 2003 at 03:21:16PM +0000, John Poltorak wrote: > > > > Is this due to setmode being wrongly defined in Posix/2? > > > > setmode isn't standardized, so it's possible that there is more than one > > definition for it. (since it's not standardized, it's also possible that > > the other function means something different). > > Exactly. That's something I've been "talking" about several times already. > There's setmode as defined in *BSD (handling some permission related > stuff) and there's setmode as used in DOS (setting binary vs. text mode). > The two are completely different and Posix/2 tries to do some intelligent > guessing about which one it should use. > But if you're not using the very newest Posix/2 headers, this guessing > won't be in place yet (and even then it's not quite correct, but it should > work in this case). Note however, that linking will currently > unconditionally use the *BSD flavor (i.e. the wrong one in this case). > I'm going to upload a fixed version of the library (and headers) later > this evening or tomorrow. You'll be glad to know that NCURSES does build fully now with the latest Posix/2. Wonder if I should try it out on Perl yet... > Regards, > Stefan > -- > Micro$oft is not an answer. It is a question. The answer is 'no'. > -- John **= Email 17 ==========================** Date: Fri, 21 Feb 2003 21:20:09 +0000 From: John Poltorak Subject: Re: Building NCURSES using Posix/2 On Fri, Feb 21, 2003 at 10:00:05PM +0100, Stefan Neis wrote: > On Fri, 21 Feb 2003, John Poltorak wrote: > > > Wonder if I should try it out on Perl yet... > > Well, it might even work. It got as far as:- pp_sys.c:5032: dereferencing pointer to incomplete type pp_sys.c:4956: warning: `elem' might be used uninitialized in this function pp_sys.c: In function `Perl_pp_shostent': pp_sys.c:5045: warning: implicit declaration of function `sethostent' pp_sys.c: In function `Perl_pp_snetent': pp_sys.c:5056: warning: implicit declaration of function `setnetent' pp_sys.c: In function `Perl_pp_sprotoent': pp_sys.c:5067: warning: implicit declaration of function `setprotoent' pp_sys.c: In function `Perl_pp_sservent': pp_sys.c:5078: warning: implicit declaration of function `setservent' pp_sys.c: In function `Perl_pp_ehostent': pp_sys.c:5089: warning: implicit declaration of function `endhostent' pp_sys.c: In function `Perl_pp_enetent': pp_sys.c:5101: warning: implicit declaration of function `endnetent' pp_sys.c: In function `Perl_pp_eprotoent': pp_sys.c:5113: warning: implicit declaration of function `endprotoent' pp_sys.c: In function `Perl_pp_eservent': pp_sys.c:5125: warning: implicit declaration of function `endservent' pp_sys.c: At top level: pp_sys.c:289: warning: `S_emulate_eaccess' defined but not used make: *** [pp_sys.obj] Error 1 > Note however that you'll still need the > appended patch to Perl's Configure to get rid of that problem with > netdb.h not being found (In human readable language, that's just > "replace \\ by /", it only looks so complicated because of all the > escaping involved ...). Would your patch have made any difference in this case? > > Regards, > Stefan -- John **= Email 18 ==========================** Date: Fri, 21 Feb 2003 22:00:05 +0100 (CET) From: Stefan Neis Subject: Re: Building NCURSES using Posix/2 On Fri, 21 Feb 2003, John Poltorak wrote: > Wonder if I should try it out on Perl yet... Well, it might even work. Note however that you'll still need the appended patch to Perl's Configure to get rid of that problem with netdb.h not being found (In human readable language, that's just "replace \\ by /", it only looks so complicated because of all the escaping involved ...). Regards, Stefan --------------------- Patch --------- --- Configure~ Fri Jan 31 22:02:22 2003 +++ Configure Sun Feb 2 18:48:52 2003 at at -5032,6 +5032,7 at at echo "#include <\$wanted>" > foo\$\$.c $cppstdin $cppminus $cppflags < foo\$\$.c 2>/dev/null | \ $cppfilter $grep "^[ ]*#.*\$wanted" | \ +sed "s/\\\\\\\\\\\\\\\\/\//g"| \ while read cline; do name=\`echo \$cline | $awk "\$awkprg" | $tr -d '"'\` case "\$name" in