From: <no...@so...> - 2001-07-31 17:21:23
|
Bugs item #445105, was opened at 2001-07-27 03:06 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=111118&aid=445105&group_id=11118 Category: unix-specific Group: version 2.9.x >Status: Open Resolution: Fixed Priority: 5 Submitted By: Paul Lieverse (lieverse) Assigned to: Jon Foster (jongfoster) Summary: Solaris 2.6: -D_REENTRANT=1 required Initial Comment: On Solaris 2.6/SunOS 5.6 compilation requires -D_REENTRANT=1 in addition to the other Solaris specific flags, to make sure that errno is a function instead of a plain integer. (Which causes problems beccause of the multithreading. In particular, no connection can be established). ---------------------------------------------------------------------- >Comment By: Paul Lieverse (lieverse) Date: 2001-07-31 10:21 Message: Logged In: YES user_id=47560 Tested, and works with gcc. (Not tested with native compiler. This requires some more changes, e.g., LD is now set to gcc in Makefile.in.) Thanks! Paul ---------------------------------------------------------------------- Comment By: Jon Foster (jongfoster) Date: 2001-07-30 15:24 Message: Logged In: YES user_id=199289 Fixed, I hope. Please can you test it? > I cannot find any doc on the -pthread flag I read about it in a newsgroup posting - apparently it makes the Linux system libraries thread-safe, and does "- lpthread". Thanks! Jon ---------------------------------------------------------------------- Comment By: Paul Lieverse (lieverse) Date: 2001-07-30 11:02 Message: Logged In: YES user_id=47560 Another followup on this: The Solaris gcc equivalent of -pthread is -pthreads (note the s at the end) This flags also defines _REENTRANT, thereby making that define in config.h no longer needed. It also takes care of linking in -lpthread. ---------------------------------------------------------------------- Comment By: Paul Lieverse (lieverse) Date: 2001-07-29 12:23 Message: Logged In: YES user_id=47560 The flag works ok, but the checking in configure.in doesn't. $target is only used for cross-compilation, and is only set with AC_CANONICAL_SYSTEM. AC_CANONICAL_HOST only sets $host, $host_cpu, $host_vendor, and $host_os. The 'case "$target" in' should thus be changed to 'case "$host" in'. I tried this and seems to work fine. Another thing: gcc (2.95.2) on Solaris doesn't know about the -pthread flag. It still compiles, only puts a message on the screen. (I cannot find any doc on this flag on linux either, but it doesn't complain). ---------------------------------------------------------------------- Comment By: Jon Foster (jongfoster) Date: 2001-07-29 10:47 Message: Logged In: YES user_id=199289 Done, now in CVS. Andreas, sorry for doing a job which wasn't assigned to me - but I've been working on ./configure in order to fix some other bugs, and it was easy to fix this at the same time. Besides, I didn't think you'd mind <g>. Paul (or any other volunteer), I haven't got Solaris at home to test, so could you please see if the fix works? Thanks, Jon ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=111118&aid=445105&group_id=11118 |