Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.netfront.net!not-for-mail From: Lewis Rosenthal Newsgroups: comp.os.os2.programmer.porting Subject: wget 1.14 - again this dynamic vs static thing, mainly Date: Sat, 15 Jun 2013 17:39:08 -0400 Organization: Netfront http://www.netfront.net/ Lines: 136 Message-ID: NNTP-Posting-Host: 96.250.100.171 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: adenine.netfront.net 1371332352 27254 96.250.100.171 (15 Jun 2013 21:39:12 GMT) X-Complaints-To: news@netfront.net NNTP-Posting-Date: Sat, 15 Jun 2013 21:39:12 +0000 (UTC) User-Agent: Mozilla/5.0 (OS/2; Warp 4.5; rv:10.0.11) Gecko/20121116 Firefox/10.0.11 SeaMonkey/2.7.2 Xref: csiph.com comp.os.os2.programmer.porting:247 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 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: news@netfront.net ---