Date: Tue, 25 Apr 2006 00:06:01 EST-10EDT,10,-1,0,7200,3,-1,0,7200,3600 Subject: [UnixOS2_Archive] No. 685 ************************************************** Monday 24 April 2006 Number 685 ************************************************** Subjects for today 1 Re: LIBTOOL : Dave Yeo" 2 Re: LIBTOOL : Steven Levine" 3 Re: Building tidy - now that I have a working LIBTOOL : Steven Levine" 4 Re: Building tidy - now that I have a working LIBTOOL : Steven Levine" 5 Re: Building tidy - now that I have a working LIBTOOL : Steven Levine" 6 Re: Building tidy - now that I have a working LIBTOOL : Steven Levine" 7 Re: Building tidy - now that I have a working LIBTOOL : Dave Yeo" 8 Re: Building tidy - now that I have a working LIBTOOL : Dave Yeo" 9 Building bash with Innotek_libc : Dave Yeo" 10 Re: Building bash with Innotek_libc : Steven Levine" 11 Re: Building tidy - now that I have a working LIBTOOL : Steven Levine" 12 Re: Building tidy - now that I have a working LIBTOOL : Paul Smedley 13 Re: Building tidy - now that I have a working LIBTOOL : Steven Levine" 14 Re: Building tidy - now that I have a working LIBTOOL : Steven Levine" 1 Re: Building tidy - now that I have a working LIBTOOL : Stefan.Neis at t-online.de" 15 Apache and cancels : Dave Saville" 2 Re: Sendmail : John Poltorak 7 Re: Sendmail : John Poltorak 16 Re: Sendmail : John Poltorak **= Email 1 ==========================** Date: Sun, 23 Apr 2006 14:49:21 -0800 From: "Dave Yeo" Subject: Re: LIBTOOL On Sun, 23 Apr 2006 11:13:37 +0100, Stefan.Neis at t-online.de wrote: >> libtool: link: warning: undefined symbols not allowed in i386-pc-os2-emx shared libraries > >I think (though I didn't check) the point of this is that shared libraries on >ELF platforms may reference symbols that are defined in the executable >itself, which AFAIK does not work for DLLs (neither on OS/2 nor on Windoze) This is also a problem with BEOS. I found a copy of things suggesting building with ../configure LDFLAGS=-no-undefined which also works on OS/2. Somebody on BEOS has been having the same problems as me (building a dynamic Cairo) and has got fixes into libpng2 and fontconfig. I just DLed the newest libpng 1.2.10 and they have added -no-undefined to LDFLAGS. Unluckily right now it is not compiling so I hvaen't totally tested. Using the -no-undefined flag on fontconfig does allow a DLL to build Dave **= Email 2 ==========================** Date: Sun, 23 Apr 2006 18:15:36 -0700 From: "Steven Levine" Subject: Re: LIBTOOL In <20060423214919.4D6A9B9EE7 at generation.lgisp.net>, on 04/23/06 at 02:49 PM, "Dave Yeo" said: >Somebody on BEOS has been having the same problems as me (building a >dynamic Cairo) and has got fixes into libpng2 and fontconfig. I just DLed >the newest libpng 1.2.10 and they have added -no-undefined to LDFLAGS. >Unluckily right now it is not compiling so I hvaen't totally tested. >Using the -no-undefined flag on fontconfig does allow a DLL to build Dave I dimly recall needing to do this for some shared libraries I built under Solaris, but I can't seem to locate the makefiles at the moment, so I might just be imagining this. IIRC, unix shared libraries are smarter than DLLs in the sense that a symbolic name does not need to be tied to a specific library. The loader will attempt to resolve the symbol to a specific shared library at load time. If it can't, the load will fail. The undefined symbols can occur for several reasons. One case is when LD_LIBRARY_PATH has to differ at link time and run time. Another is if the shared libraries contain cross-library references. This is probably not good practice, in general, but it gives the linker a chicken and egg problem when linking the first library. If I've got this wrong, hopefully someone will correct me. Regards, Steven -- ---------------------------------------------------------------------- "Steven Levine" MR2/ICE 2.67 #10183 Warp/eCS/DIY/14.103a_W4 www.scoug.com irc.fyrelizard.com #scoug (Wed 7pm PST) ---------------------------------------------------------------------- **= Email 3 ==========================** Date: Sun, 23 Apr 2006 18:56:11 -0700 From: "Steven Levine" Subject: Re: Building tidy - now that I have a working LIBTOOL In , on 04/22/06 at 09:02 PM, "Brendan Oakley" said: Hi, >I looked briefly at the older Sendmail port last night, and it does not >seem at first glance to conform to the way the Sendmail developers expect >them to be done, so it is not surprising that it was either not submitted >or not accepted. Still useful, though, to see what needs doing. Agreed. This is my point. I ran up against this with both cvs and octave. While I appreciate having the ports available, the ports had diverged so far from the orginal sources, that only the orginal porters can effectively maintain the ports. When the porters workload and interests change, the ports suffer. That's why the OS/2 ports of both these apps have fallen far behind in features and function. To be fair, both these ports were started when the gnu OS/2 toolchain was much less capable than it is today. However, I have always claimed, that it would have been less work in total to workaround the tool chain issues and minimize the source code divergence. Steven -- ---------------------------------------------------------------------- "Steven Levine" MR2/ICE 2.67 #10183 Warp/eCS/DIY/14.103a_W4 www.scoug.com irc.fyrelizard.com #scoug (Wed 7pm PST) ---------------------------------------------------------------------- **= Email 4 ==========================** Date: Sun, 23 Apr 2006 19:14:25 -0700 From: "Steven Levine" Subject: Re: Building tidy - now that I have a working LIBTOOL In <20060423044450.A2F48B6B0C at generation.lgisp.net>, on 04/22/06 at 09:43 PM, "Dave Yeo" said: >>True. It needs help. You can look at the diffs in Harmutt's >>tidy-os2-bin-20051026-1.zip on Hobbes. >Interesting. Where I recommended __EMX__ I guess should be OS2_OS Why do you say this? OS2_OS appears to be intended to cover both gcc and icc. The fixes we are applying are EMX only, are they not? If the maintainers would accept it, this could all be simplified by adding a couple of HAVE_... symbols to platform.h. The purpose of the conditional code then becomes much more obvious. The way I look at it, this is the tidy equivalent to config.h, Regards, Steven -- ---------------------------------------------------------------------- "Steven Levine" MR2/ICE 2.67 #10183 Warp/eCS/DIY/14.103a_W4 www.scoug.com irc.fyrelizard.com #scoug (Wed 7pm PST) ---------------------------------------------------------------------- **= Email 5 ==========================** Date: Sun, 23 Apr 2006 19:23:58 -0700 From: "Steven Levine" Subject: Re: Building tidy - now that I have a working LIBTOOL In <200604231200.NAA394.61 at mail.warpix.org>, on 04/23/06 at 01:59 PM, "Christian Hennecke" said: >Well, I did ask quite politely. After a few mails they said that they >would accept my code for the IBM858 codepage if I also added support for >Latin-9. That was quite easy, so I agreed. Seems fair to me. The enhancements got in and both parties went away satisfied. Steven -- ---------------------------------------------------------------------- "Steven Levine" MR2/ICE 2.67 #10183 Warp/eCS/DIY/14.103a_W4 www.scoug.com irc.fyrelizard.com #scoug (Wed 7pm PST) ---------------------------------------------------------------------- **= Email 6 ==========================** Date: Sun, 23 Apr 2006 19:29:55 -0700 From: "Steven Levine" Subject: Re: Building tidy - now that I have a working LIBTOOL In <20060423042110.4C628B8BC2 at generation.lgisp.net>, on 04/22/06 at 09:20 PM, "Dave Yeo" said: >Just tested (I have a zlib makefile which doesn't use -Zomf) and even GCC >2.8.1 can produce a DLL without -Zomf I would expect this. The link flags contain -Zdll. True? If so, the linker will do what is needed to generate a DLL. It appears the situation differs for executables. I'm still a bit confused about how things fit together in the OS/2 world. I've got experience building a.out stuff on Solaris, but that's different. There's no need to consider DLLs and EXEs. The only choices that typically matter are static or shared. Steven -- ---------------------------------------------------------------------- "Steven Levine" MR2/ICE 2.67 #10183 Warp/eCS/DIY/14.103a_W4 www.scoug.com irc.fyrelizard.com #scoug (Wed 7pm PST) ---------------------------------------------------------------------- **= Email 7 ==========================** Date: Sun, 23 Apr 2006 20:29:29 -0800 From: "Dave Yeo" Subject: Re: Building tidy - now that I have a working LIBTOOL On Sun, 23 Apr 2006 19:14:25 -0700, Steven Levine wrote: >In <20060423044450.A2F48B6B0C at generation.lgisp.net>, on 04/22/06 > at 09:43 PM, "Dave Yeo" said: > >>>True. It needs help. You can look at the diffs in Harmutt's >>>tidy-os2-bin-20051026-1.zip on Hobbes. > >>Interesting. Where I recommended __EMX__ I guess should be OS2_OS > >Why do you say this? OS2_OS appears to be intended to cover both gcc and >icc. The fixes we are applying are EMX only, are they not? I don't know much about icc and just saw that Harmutt's diff used OS2_OS. Left to myself I'd use __EMX__ unless Innotek specific Dave **= Email 8 ==========================** Date: Sun, 23 Apr 2006 20:40:04 -0800 From: "Dave Yeo" Subject: Re: Building tidy - now that I have a working LIBTOOL On Sun, 23 Apr 2006 19:29:55 -0700, Steven Levine wrote: >In <20060423042110.4C628B8BC2 at generation.lgisp.net>, on 04/22/06 > at 09:20 PM, "Dave Yeo" said: > >>Just tested (I have a zlib makefile which doesn't use -Zomf) and even GCC >>2.8.1 can produce a DLL without -Zomf > >I would expect this. The link flags contain -Zdll. True? If so, the >linker will do what is needed to generate a DLL. Yes it contains a -Zdll. The emx 0.9d Application Developers Guide does recommend using LINK386 (-Zomf) for DLLs unless debugging (gdb). Also IIRC Innotek_libc needs -Zomf if you use weak symbols. > >It appears the situation differs for executables. > >I'm still a bit confused about how things fit together in the OS/2 world. >I've got experience building a.out stuff on Solaris, but that's different. >There's no need to consider DLLs and EXEs. The only choices that >typically matter are static or shared. > I personally just use the defaults with Innotek_libc though with EMX usually good to add things like -Zmt (multi-threading support). EMXBIND has no problems binding an a.out binary and LD handles a.out libraries better then OMF libs. Of course now if you want to debug it has to be an OMF build. Do you build shared a.out libraries on Solaris? IIRC shared libraries were a real hack on early versions of Linux Dave **= Email 9 ==========================** Date: Sun, 23 Apr 2006 20:44:20 -0800 From: "Dave Yeo" Subject: Building bash with Innotek_libc decided to try building bash with GCC 3.3.5 so it has symlink support. Things went pretty good, just having to remove a few EMX defines but at the end I get support/i386-ibm-os2/emx_supp.c:251 (emx_supp.o): Undefined symbol _VioGetCurPos referenced from text segment support/i386-ibm-os2/emx_supp.c:703 (emx_supp.o): Undefined symbol _WinChangeSwitchEntry referenced from text segment support/i386-ibm-os2/emx_supp.c:687 (emx_supp.o): Undefined symbol _WinChangeSwitchEntry referenced from text segment support/i386-ibm-os2/emx_supp.c:397 (emx_supp.o): Undefined symbol _WinQuerySwitchHandle referenced from text segment support/i386-ibm-os2/emx_supp.c:397 (emx_supp.o): Undefined symbol _WinQuerySwitchEntry referenced from text segment These are all in os2.dll so I tryed adding -los2 but it didn't help. Anyone know what to link with? Dave **= Email 10 ==========================** Date: Sun, 23 Apr 2006 23:45:01 -0700 From: "Steven Levine" Subject: Re: Building bash with Innotek_libc In <20060424034420.13309B6F36 at generation.lgisp.net>, on 04/23/06 at 08:44 PM, "Dave Yeo" said: >decided to try building bash with GCC 3.3.5 so it has symlink support. >Things went pretty good, just having to remove a few EMX defines but at >the end I get support/i386-ibm-os2/emx_supp.c:251 (emx_supp.o): Undefined >symbol _VioGetCurPos referenced from text segment >support/i386-ibm-os2/emx_supp.c:703 (emx_supp.o): Undefined symbol >_WinChangeSwitchEntry referenced from text segment >support/i386-ibm-os2/emx_supp.c:687 (emx_supp.o): Undefined symbol >_WinChangeSwitchEntry referenced from text segment >support/i386-ibm-os2/emx_supp.c:397 (emx_supp.o): Undefined symbol >_WinQuerySwitchHandle referenced from text segment >support/i386-ibm-os2/emx_supp.c:397 (emx_supp.o): Undefined symbol >_WinQuerySwitchEntry referenced from text segment This looks like a header problem. These should all have system linkage (i.e. no _ prefix). Which toolkit headers are you using. Steven -- ---------------------------------------------------------------------- "Steven Levine" MR2/ICE 2.67 #10183 Warp/eCS/DIY/14.103a_W4 www.scoug.com irc.fyrelizard.com #scoug (Wed 7pm PST) ---------------------------------------------------------------------- **= Email 11 ==========================** Date: Sun, 23 Apr 2006 23:47:25 -0700 From: "Steven Levine" Subject: Re: Building tidy - now that I have a working LIBTOOL In <20060424032927.383C2B9144 at generation.lgisp.net>, on 04/23/06 at 08:29 PM, "Dave Yeo" said: >>Why do you say this? OS2_OS appears to be intended to cover both gcc and >>icc. The fixes we are applying are EMX only, are they not? >I don't know much about icc and just saw that Harmutt's diff used OS2_OS. I'm pretty sure Hartmutt just used what worked. I had some correspondence with him when he did the build because he accidently shipped the exe with full debug info. The exe was noticably oversized. :-) >Left to myself I'd use __EMX__ unless Innotek specific Agreed. Steven -- ---------------------------------------------------------------------- "Steven Levine" MR2/ICE 2.67 #10183 Warp/eCS/DIY/14.103a_W4 www.scoug.com irc.fyrelizard.com #scoug (Wed 7pm PST) ---------------------------------------------------------------------- **= Email 12 ==========================** Date: Mon, 24 Apr 2006 16:28:09 +0930 From: Paul Smedley Subject: Re: Building tidy - now that I have a working LIBTOOL Hi Steven, Steven Levine wrote: > In , on > 04/22/06 > at 09:02 PM, "Brendan Oakley" said: > > Hi, > >> I looked briefly at the older Sendmail port last night, and it does not >> seem at first glance to conform to the way the Sendmail developers expect >> them to be done, so it is not surprising that it was either not submitted >> or not accepted. Still useful, though, to see what needs doing. > > Agreed. This is my point. I ran up against this with both cvs and > octave. While I appreciate having the ports available, the ports had > diverged so far from the orginal sources, that only the orginal porters > can effectively maintain the ports. When the porters workload and > interests change, the ports suffer. That's why the OS/2 ports of both > these apps have fallen far behind in features and function. To be fair, > both these ports were started when the gnu OS/2 toolchain was much less > capable than it is today. However, I have always claimed, that it would > have been less work in total to workaround the tool chain issues and > minimize the source code divergence. Incidentally - I built the latest CVS using libc - unfortunately it seems to have some issues when compression is used - haven't had time to try and work out why yet... Cheers, Paul. **= Email 13 ==========================** Date: Sun, 23 Apr 2006 23:50:30 -0700 From: "Steven Levine" Subject: Re: Building tidy - now that I have a working LIBTOOL In <20060424034013.75264B9805 at generation.lgisp.net>, on 04/23/06 at 08:40 PM, "Dave Yeo" said: >Of course now if you want to debug it >has to be an OMF build. Unless someone decides to get gdb working again. >Do you build shared a.out libraries on Solaris? Yes, they work fine. The biggest problem I've had with them is replacing an existing library with an new version is a pain on a busy system. Best I can tell, the libraries are not held open, so overwriting the existing version with the new version is an easy way to crash running sessions the next time they access the library. Since the libraries are not held open, deleting the old library before installing the new library does not help. >IIRC shared libraries were a real hack on early versions of Linux Linux has come a long way. I don't think anyone knew, 10 years ago, that it would become what it is today. I've got no compelling reason to use it that much, but I would be comfortable using it as my primary system. Regards, Steven -- ---------------------------------------------------------------------- "Steven Levine" MR2/ICE 2.67 #10183 Warp/eCS/DIY/14.103a_W4 www.scoug.com irc.fyrelizard.com #scoug (Wed 7pm PST) ---------------------------------------------------------------------- **= Email 14 ==========================** Date: Mon, 24 Apr 2006 00:37:12 -0700 From: "Steven Levine" Subject: Re: Building tidy - now that I have a working LIBTOOL In <444C7701.9090206 at smedley.info>, on 04/24/06 at 04:28 PM, Paul Smedley said: Hi Paul, >Incidentally - I built the latest CVS using libc - unfortunately it >seems to have some issues when compression is used - haven't had time to >try and work out why yet... I recall you mentioning this. I did a test build myself back in December. As you probably know, the base sources have minor, correctable compile errors. I contacted Andrew Belov, the current maintainer of the OS/2 port, to see what his plans were. At the time, he had no real interest in persuing a gcc 3.3.5 solution because he needs to support existing Warp3 and Warp4 development and said libc was not working under Warp3. I don't know if this has changed. I got sidetracked by other projects and didn't do any more than this. When you get to the point where your builds are ready for some stress testing we should talk about the timing races and memory utilization issues that are specific to running the server under OS/2. There are patches to fix some of this, but the timing race was never completely fixed. Regards, Steven -- ---------------------------------------------------------------------- "Steven Levine" MR2/ICE 2.67 #10183 Warp/eCS/DIY/14.103a_W4 www.scoug.com irc.fyrelizard.com #scoug (Wed 7pm PST) ---------------------------------------------------------------------- **= Email 1 ==========================** Date: Mon, 24 Apr 2006 12:00:06 +0200 From: "Stefan.Neis at t-online.de" Subject: Re: Building tidy - now that I have a working LIBTOOL Hi, > > Do you build shared a.out libraries on Solaris? > > Yes, they work fine. The biggest problem I've had with them is > replacing an existing library with an new version is a pain on a busy > system. Actually, why did you use a.out instead of the standard ELF? And what tricks do you use to tell the compiler to generate a.out instead of ELF? Regards, Stefan **= Email 15 ==========================** Date: Mon, 24 Apr 2006 11:50:31 +0100 (BST) From: "Dave Saville" Subject: Apache and cancels I have been playing with apache/2. First with 2.0.55 and now with Paul's 2.2.1 and have seen an oddity when trying to cancel it that I can't explain . The supplied startup script runs in ....../apache2 and invokes "bin/httpd.exe -d ." If one control C's this then it stops. However, if you are using pipes for logging then you need N control C's to kill it. I suspect that it is forking/attaching processes using the same stdin and the control C's are going to each one on a LIFO queue rather than the parent task. Interestingly emxkill 3 does not stop the process no matter how many times you issue it, although it does if not using pipes. Giving up on piping logs, I decided to write a perl script to bounce the server. I find that a perl kill also can't get them all when using piped logs. In addition, although I start the new process off with use OS2::Process; ............... system(P_SESSION|P_UNRELATED, "cmd /C startup.cmd"); then I still have a cmd.exe lying around after a subsequent kill. I found that in order to cleanly do this I have to add a "start /N" in front of the httpd invocation in startup.cmd Any thoughts? -- Regards Dave Saville **= Email 2 ==========================** Date: Mon, 24 Apr 2006 13:52:13 +0100 From: John Poltorak Subject: Re: Sendmail On Fri, Apr 21, 2006 at 10:27:59PM -0800, Dave Yeo wrote: > On Fri, 21 Apr 2006 21:15:13 -0700, Brendan Oakley wrote: > > >On 4/21/06, Paul Smedley wrote: > >> > >> Can you point me to the recent OS/2 port of Sendmail - it's on my list > >> to build the latest version - a recent port might save me some time :) > >> > >> Cheers, > >> > >> Paul. > >> > >> > >I apologize, I was sure I had seen it someplace but after I sent that post I > >went to look for it and couldn't find it. It's quite possible I was > >mistaken. The versions on Hobbes are quite old, and 8.12.3 does not include > >source. Still, that is a late enough version that if the patches and OS > >specs had been submitted to Sendmail they would remain in the tree, along > >with all the *nixes mentioned in their docs that can't possibly really be > >tested anymore. And that was my point. > > > >It's a rather high priority for me to build Sendmail on OS/2 soon so keep in > >touch. > > > >Brendan > > > > I thought that John Poltotak had a recent build. > John are you still here? It's your server so I hope you are > Dave > ps Looking at my archives John does mention a os2-sendmail mailing > list. Might be worth googling. IIRC it is actually John's list I did try building a recent version after following some notes supplied by Alexander Lapshin some time ago. He seemed to be pretty familiar with the progam but I haven't heard from him for a while. I never managed to get it to work with Majordomo anyway, so I went back to IBM's Sendmail which I have continued to use for years. What is the need for an updated Sendmail? -- John **= Email 16 ==========================** Date: Mon, 24 Apr 2006 13:55:59 +0100 From: John Poltorak Subject: Re: Sendmail On Fri, Apr 21, 2006 at 11:11:12PM -0700, Brendan Oakley wrote: > Thanks Ian for the source! That will help a lot. > > Dave: I find googling Sendmail and OS/2 returns many results for IBM > Sendmail. What is wrong with that version? I've been using it for several years as a mail server for this mailing list. -- John **= Email 7 ==========================** Date: Mon, 24 Apr 2006 13:55:59 +0100 From: John Poltorak Subject: Re: Sendmail On Fri, Apr 21, 2006 at 11:11:12PM -0700, Brendan Oakley wrote: > Thanks Ian for the source! That will help a lot. > > Dave: I find googling Sendmail and OS/2 returns many results for IBM > Sendmail. What is wrong with that version? I've been using it for several years as a mail server for this mailing list. -- John