Re: Wget 1.7-pre1 available for testing
Jan Prikryl [EMAIL PROTECTED] writes: Jan Prikryl [EMAIL PROTECTED] writes: It seems that -lsocket is not found as it requires -lnsl for linking. -lnsl is not detected as it does not contain `gethostbyname()' function. That's weird. What does libnsl contain if not gethostbyname()? The config.log answers my question -- quite a bunch of stuff. What I meant to say: it is a pretty strange Name Server Lookup library which doesn't contain gethostbyname(), but then again, it's a strange world. What I'll do for 1.7.1 is, replace `gethostbyname' with `inet_ntoa', which should cover both Solaris and the system Andre is using. Jan, you must be confusing something here. gethostname() only gets the local host name, and is just a wrapper for the appropriate uname() or sysinfo() call. It has nothing to do with name server lookups, which is what libnsl is supposed to do. Probably, but are you sure that this is true on _all_ systems? I'm not. :-( Sorry for the confusing remark. Perhaps we really should try to write a libtool-based macro named WGET_CHECK_EXTERNAL_LIB. Perhaps it would be more portable then. In the meantime, this [adding -Wl, to linker flags] has been solved very elegantly by Maciej Rozycki.
Re: Wget 1.7-pre1 available for testing
Jan Prikryl [EMAIL PROTECTED] writes: It seems that -lsocket is not found as it requires -lnsl for linking. -lnsl is not detected as it does not contain `gethostbyname()' function. That's weird. What does libnsl contain if not gethostbyname()? -AC_CHECK_FUNCS(uname gethostname) +AC_CHECK_FUNCS(uname) +AC_CHECK_FUNCS(gethostname, [], [ + AC_CHECK_LIB(nsl, gethostname) +]) Jan, you must be confusing something here. gethostname() only gets the local host name, and is just a wrapper for the appropriate uname() or sysinfo() call. It has nothing to do with name server lookups, which is what libnsl is supposed to do. + linux*) dash_r=-Wl,rpath ;; This part is correct, except we probably want addition of -Wl, on otherh systems where we use Gcc, too. Perhaps we really should try to write a libtool-based macro named WGET_CHECK_EXTERNAL_LIB.
Re: Wget 1.7-pre1 available for testing
Jan Prikryl [EMAIL PROTECTED] writes: It seems that -lsocket is not found as it requires -lnsl for linking. -lnsl is not detected as it does not contain `gethostbyname()' function. That's weird. What does libnsl contain if not gethostbyname()? It seems to contain `gethostname()' ... see the config.log submitted in one of the previous emails. But it's a very long distance shot: if, after adding -lsocket -lnsl everything works correctly and if with -lsocket only the linker complains about missing 'yp_*()' functions and also missing `gethostname()' and `getdomainname()', I thinks it's likely that these functions are defined in -lnsl. Of course, if -lnsl has built in dependency on some other library, the situation might be completely different. Jan, you must be confusing something here. gethostname() only gets the local host name, and is just a wrapper for the appropriate uname() or sysinfo() call. It has nothing to do with name server lookups, which is what libnsl is supposed to do. Probably, but are you sure that this is true on _all_ systems? Perhaps we really should try to write a libtool-based macro named WGET_CHECK_EXTERNAL_LIB. Perhaps it would be more portable then. -- jan ---+ Jan Prikryl icq | vr|vis center for virtual reality and [EMAIL PROTECTED] 83242638 | visualisation http://www.vrvis.at ---+
Re: Wget 1.7-pre1 available for testing
On 2001-06-06 12:47 +0200, Jan Prikryl wrote: Jan Prikryl [EMAIL PROTECTED] writes: It seems that -lsocket is not found as it requires -lnsl for linking. -lnsl is not detected as it does not contain `gethostbyname()' function. That's weird. What does libnsl contain if not gethostbyname()? It seems to contain `gethostname()' ... see the config.log submitted in one of the previous emails. But it's a very long distance shot: if, after adding -lsocket -lnsl everything works correctly and if with -lsocket only the linker complains about missing 'yp_*()' functions and also missing `gethostname()' and `getdomainname()', I thinks it's likely that these functions are defined in -lnsl. Of course, if -lnsl has built in dependency on some other library, the situation might be completely different. I've put the output of nm for libsocket and libnsl at http://www.teaser.fr/~amajorel/mpras/libnsl.so.nm.gz http://www.teaser.fr/~amajorel/mpras/libsocket.so.nm.gz -- André Majorel Work: [EMAIL PROTECTED] Home: [EMAIL PROTECTED] http://www.teaser.fr/~amajorel/
Re: Wget 1.7-pre1 available for testing
On 2001-06-02 20:50 +0200, Andre Majorel wrote: On 2001-06-02 17:30 +0200, Hrvoje Niksic wrote: - The empty LIBS problem remains (add -lsocket -lnsl). Do you have a config.log for this? Wget's configure tries hard to determine whether `-lsocket' and `-lnsl' are needed, and this seems to work on Solaris. Can you see why it fails on your machine? The problem seems so be in autoconf. From my attempts at compiling v1.6 on the same system : checking for gethostbyname in -lnsl... no checking for socket in -lsocket... no when in fact they are there. I don't have access to the machine until tuesday. I'll post the config.log then. Sorry. Tuesday is today. config.log for 1.6 and 1.7-pre1 attached. 1.7 is identical to 1.7-pre1. -- André Majorel Work: [EMAIL PROTECTED] Home: [EMAIL PROTECTED] http://www.teaser.fr/~amajorel/ config.log.gz config.log.gz
Re: Wget 1.7-pre1 available for testing
Quoting Andre Majorel ([EMAIL PROTECTED]): Tuesday is today. config.log for 1.6 and 1.7-pre1 attached. 1.7 is identical to 1.7-pre1. It seems that -lsocket is not found as it requires -lnsl for linking. -lnsl is not detected as it does not contain `gethostbyname()' function. Would the attacheed patch to configure.in solve the problem? Please not that the patch tries to correct somee other problems with configure.in and these corrections may make it crash on your system. The important change for you would be the AC_CHECK_FUNCS(gethostname, [] ...) part. -- jan +-- Jan Prikryl| vr|vis center for virtual reality and visualisation [EMAIL PROTECTED] | http://www.vrvis.at +-- Index: configure.in === RCS file: /pack/anoncvs/wget/configure.in,v retrieving revision 1.17 diff -u -r1.17 configure.in --- configure.in2001/05/28 22:02:47 1.17 +++ configure.in2001/06/06 05:26:20 @@ -174,8 +174,12 @@ AC_CHECK_FUNCS(strdup strstr strcasecmp strncasecmp) AC_CHECK_FUNCS(gettimeofday mktime strptime) AC_CHECK_FUNCS(strerror snprintf vsnprintf select signal symlink access isatty) -AC_CHECK_FUNCS(uname gethostname) +AC_CHECK_FUNCS(uname) +AC_CHECK_FUNCS(gethostname, [], [ + AC_CHECK_LIB(nsl, gethostname) +]) + AC_CHECK_FUNCS(gethostbyname, [], [ AC_CHECK_LIB(nsl, gethostbyname) ]) @@ -205,14 +209,18 @@ AC_MSG_CHECKING(for runtime libraries flag) case $host_os in sol2 ) dash_r=-R ;; - decosf* | linux* | irix*) dash_r=-rpath ;; + decosf* | irix*) dash_r=-rpath ;; + linux*) dash_r=-Wl,rpath ;; *) dash_r= for try_dash_r in -R -R -rpath ; do OLD_LDFLAGS=$LDFLAGS LDFLAGS=${try_dash_r}/no/such/file-or-directory $LDFLAGS + dnl gcc seems to only produce a warning about nonexistent option + dnl `-R/no/such/file-or-directory' so the test comes thru + dnl (tested with gcc version 3.0 20010308 (prerelease)) AC_TRY_LINK(, , dash_r=$try_dash_r) - LDFLAGS=$ODL_LDFLAGS + LDFLAGS=$OLD_LDFLAGS test -n $dash_r break done ;; esac @@ -235,9 +243,6 @@ ssl_all_roots=$with_ssl fi - OLD_LIBS=$LIBS - OLD_LDFLAGS=$LDFLAGS - dnl Unfortunately, as of this writing (OpenSSL 0.9.6), the libcrypto dnl shared library doesn't record its dependency on libdl, so we dnl need to check for it ourselves so we won't fail to link due to a @@ -245,6 +250,9 @@ dnl shl_load(). AC_CHECK_LIB(dl,dlopen) AC_CHECK_LIB(dl,shl_load) + + OLD_LIBS=$LIBS + OLD_LDFLAGS=$LDFLAGS ssl_linked=no
Re: Wget 1.7-pre1 available for testing
Andre Majorel [EMAIL PROTECTED] writes: Tried it on NCR MP-RAS 3.0 : Thanks for testing it. - The CC -cX problem in wget 1.6 is fixed. Good. :-) You mean -Xc? I decided that strict ANSI mode is the wrong thing to look for. Among other things, it turns off useful extensions such as `long long'. It also often causes problems with the system header files which are not stress-tested for -Xc-compliance. - The empty LIBS problem remains (add -lsocket -lnsl). Do you have a config.log for this? Wget's configure tries hard to determine whether `-lsocket' and `-lnsl' are needed, and this seems to work on Solaris. Can you see why it fails on your machine? - utils.c doesn't compile because MAP_FAILED is not defined in the system headers, so : Ick. I guess we add this to `sysdep.h': #ifndef MAP_FAILED # define MAP_FAILED ((void *) -1) #endif Then the application code could use MAP_FAILED normally, without getting cluttered with ifdefs.
Re: Wget 1.7-pre1 available for testing
On Sat, May 26, 2001 at 01:35:40PM +0200, Hrvoje Niksic wrote: The pre-release of Wget is now available for testing. Please download it and see if it conforms to standards, expectations, if it compiles out of the box, etc. The pre-release is available at: ftp://gnjilux.srk.fer.hr/pub/unix/util/wget/.betas/wget-1.7-pre1.tar.gz Seems to compile OK on OS/2 straight out of the box - which is excellent! I'd like to see an additional entry in MACHINES acknowledging this... IBM OS/2 (i[3456]86) -- John