Hi, all...
I'm at it again. One of these days, I may actually be able to get what I
want right out of the gate. Thanks again for bearing with me.
So, I pulled the source for wget 1.14. I am able to build it and get a
working wget.exe, with the following tweaks:
Using bash:
./configure --with-ssl=openssl --enable-threads=pth
Once that's done, I need to tweak src\Makefile to set PERL where I want it:
PERL = J:/perl5/bin/perl.exe
If I allow configure to use PERL_SH_DIR set to J:/usr/bin, I get:
j:/usr/bin/bash: cannot find J:userbin/perl
(or similar). I realize this is a shell thing with the path delimiter,
but no matter what I do, I can't get it to expand that properly, nor can
I simply copy perl.exe to, say, J:\userbin. Also, this comes about as a
result of my installing perl 5.16.1 via yum (I just installed rpm-build,
which grabbed that as a dep - I should have overridden it, as my
installed 5.14.2 in J:\perl5 works quite well).
Next, I run make, which stalls here:
redefinition of 'struct sched_param' in lib\sched.h
I get around this by commenting out from line 41 in the (then-created)
lib\sched.h:
# if !GNULIB_defined_struct_sched_param
struct sched_param
{
int sched_priority;
};
# define GNULIB_defined_struct_sched_param 1
# endif
I'd like a more elegant way of working around that, as well as an
understanding of what I just hacked out (and whether it might break
anything - though my admittedly minimal tests would seem to indicate
otherwise).
Running make again, I notice a slew of warnings related to intltool, e.g.:
log.h:44: warning: 'libintl_printf' is an unrecognized \
format function type
(I just added internationalization support on my last run, so I've just
started seeing these.) FWIW, log.h consists of:
----
#ifndef LOG_H
#define LOG_H
/* The log file to which Wget writes to after HUP. */
#define DEFAULT_LOGFILE "wget-log"
#include <stdio.h>
enum log_options { LOG_VERBOSE, LOG_NOTQUIET, LOG_NONVERBOSE, LOG_ALWAYS };
void log_set_warc_log_fp (FILE *);
void logprintf (enum log_options, const char *, ...)
GCC_FORMAT_ATTR (2, 3);
void debug_logprintf (const char *, ...) GCC_FORMAT_ATTR (1, 2);
void logputs (enum log_options, const char *);
void logflush (void);
void log_set_flush (bool);
bool log_set_save_context (bool);
void log_init (const char *, bool);
void log_close (void);
void log_cleanup (void);
void log_request_redirect_output (const char *);
const char *escnonprint (const char *);
const char *escnonprint_uri (const char *);
#endif /* LOG_H */
----
Logging seems to work for me. Is that issue perhaps the same as
http://lists.gnu.org/archive/html/bug-gnu-utils/2006-06/msg00050.html ?
And finally, directly related to the subject of this thread, when I'm
done, I get a working executable, with the following dependencies:
zlib-1.2.5-4.oc00.i386
openssl-1.0.0a-5.oc00.i386
libgcc446-4.4.6-15.oc00.i386
pcre-8.12-2.oc00.i386
os2-mpts-0.0.0-2.oc00.i386
libc-0.6.5-17.oc00.i386
intltool-0.41.1-3.oc00.noarch
Trying to circumvent the need for, say z.dll, specifying:
-llibz_s.a
throws an error that the file cannot be found:
No such file or directory for libz_s.a
(and it is, in fact, in J:\usr\lib). I've also tried specifying the full
path (with slashes, with and without the drive), and get the same result.
As with unzip, what I'd really like to end up with is a fairly portable
executable. tcpip32, libc065, and even gcc446 would be fine (tcpip32
would be kind of silly to statically link, as without a working IP
stack, wget is rather pointless), but zlib, pcre, openssl, and the intl
stuff would be nice to not have to have on hand.
Thoughts on how to get me unstuck?
;-)
TIA
--
Lewis
-------------------------------------------------------------
Lewis G Rosenthal, CNA, CLP, CLE, CWTS
Rosenthal & Rosenthal, LLC
www.2rosenthals.com
Need a managed Wi-Fi hotspot?
www.hautspot.com
visit my IT blog
www.2rosenthals.net/wordpress
-------------------------------------------------------------
--- news://
freenews.netfront.net/ - complaints:
ne...@netfront.net ---