root/main/trunk/greenstone2/build-src/packages/wget/README @ 31824

Revision 31824, 6.0 KB (checked in by ak19, 3 years ago)

We now compile up OpenSSL, since wget needs SSL support to download https pages. wget is now compiled up OpenSSL, achieved by changes during wget's configure phase. OpenSSL is configured and compiled up during GS' configure phase. Details are in the updated README at wget level.

  • Property svn:keywords set to Author Date Id Revision
Line 
1wget - web site mirroring software
2
3This directory contains a version of the GNU wget program that was written by
4Hrvoje Niksic and others and distributed under the GNU General Public Licence
5
6The GNU wget homepage is http://www.cg.tuwien.ac.at/~prikryl/wget.html
7
81) A couple of very small changes were made to this package by Stefan Boddie
9(sjboddie@cs.waikato.ac.nz). The USE_STDARG preprocessor definition was
10added to the VC++ makefile as it appeared to need it to compile on either
11VC++ 4.2 or VC++ 6.0. A change was also made to prevent backslashes from
12mistakenly being converted to "@5c" on windows.
13
142) 2003/11/27 - sjboddie@cs.waikato.ac.nz made a few more small changes to fix
15h_errno bug preventing code from compiling on latest versions of GCC.
16
173) 2004/06/30 - kjdon@cs.waikato.ac.nz replaced version 1.5.3 with version 1.9.
18It compiled as is under Windows XP, using VC++ 6.0, under Linux using GCC 3.2.3
19and GCC 2.95.3. So I haven't made any changes.
20Under Windows, I haven't compiled it with openssl, so it doesn't support
21https://. OpenSSL comes with a warning about it being illegal in some countries
22to distribute cryptographic technology, so I haven't used it. Look at
23wget-1.9/windows/README for Windows compiling instructions if you want to add
24it in.
25
264) 2008/07/03 - oranfry@cs.waikato.ac.nz replaced version 1.9 with version 1.11.4.
27Version 1.9 didn't compile statically with the new libraries which come with
28fedora, so upgrading. Had to apply the patch at
29http://marc.info/?l=wget&m=115131792408685&w=2 to get it to compile under
30windows(VC++ 6.0), and those changes are in the tar.gz file in the repository.
31Again, no ssl in windows wget. The packages/configure and packages/Makefile
32files perform the same operations on wget as before, just the directory name
33has changed from wget/wget-1.9 to wget/wget-1.11.4.
34
35
365) 2013/01/09 - davidb@cs.waikato.ac.nz Make minor change to src/Makefile.in so the code compiles under minGW cross-compiler running on Linux
37diff -r wget-1.13.4/src/Makefile.in wget-1.13.4.MINGW/src/Makefile.in
381136a1137,1143
39>
40> ifeq ($(GSDLOS),windows)
41>   # Compiling wget with MinGW
42>   CFLAGS += -DIN6_ARE_ADDR_EQUAL=IN6_ADDR_EQUAL
43>   LIBS += -lws2_32
44> endif
45>
46
476) 2013/01/29 - davidb@cs.waikato.ac.nz added some #ifdef __ANDROID__ blocks into src/util.c to cope with the fact that this OS lacks localeconv()
48
49diff wget-1.13.4-orig/src/utils.c wget-1.13.4-gs/src/utils.c
50
511466a1467,1470
52> #ifdef __ANDROID__
53>       cached_sep =",";
54>       cached_grouping = "\x03";
55> #else
561489a1494
57> #endif
58
597) 2014/10/13 - ak19
60Moved to wget version 1.15.
61Only the changes numbered 5 and 6 above have been ported into it, following Dr Bainbridge's instructions, as they were both changes made to the previous wget version Greenstone used (1.13.4).
62The wget tar file name (wget-1.15-gs) now indicates the version number and that it has been modified for Greenstone, so the Makefile and configure file in build-src/packages/ have been updated to reflect this.
63
648) 2017/07/27 - ak19 (anupama.krishnan@waikato.ac.nz) - still using wget version 1.15, but now compiling wget up with OpenSSL support. Wget needs SSL support in order for it to access pages over HTTPS. In future, the web will be using https.
65
66We're now compiling up OpenSSL during the configuration phase since wget needs it to exist during its configure phase. We;re building OpenSSL statically, by setting the no-shared flag. The built OpenSSL gets put into gs2build/linux|darwin/openssl, containing lib, include and bin subfolders. When configuring wget, we build wget against our OpenSSl, and make and make install proceed as normal. Refer to gs2build/build-src/packages configure.
67
68We weren't compiling up wget statically before either, so we're still not doing so. To compile up wget (statically or not) with openssl, a helpful page was
69https://stackoverflow.com/questions/9817337/compiling-wget-with-static-linking-self-compiled-openssl-library-linking-issu
70Note, however, that since the CPPFLAGS and LDFLAGS are now set to point to our OpenSSL during the configure stage, the make command needn't additionally set them as well, contrary to the instruction for make on the stackoverflow page. So we just need to do the usual make, make install once the configure is done against OpenSSL.
71
72If compiling wget up statically, then, in the LDFLAGS prepended to wget's configure command, append -static. Further, the gcc command that gets run needs to have -lpthread in its library listing at the end. The order of the libraries listed also needs to change for static compilation to be successful:
73-lprce -lpthread -ldl <remaining -llibs>
74
75However, warnings appear when compiling wget statically, as it does not make sense to create some programs statically since they may be stuck including a local context (e.g. something related to DNS warnings in compiling up a previous component statically). Linking against some libraries to create a static binary may not make sense either. For instance -ldl, the dynamic loading or linking library, may not make sense if the binary created is static. This seems to imply that wget makes more sense if compiled up as a shared object, .so, than as a static one, .a.
76
77The existing version of wget, 1.15, works with HTTPS when compiled against OpenSSL. However, this version of the binary needs to be run with the --no-check-certificate flag on to access https pages without a security certificate.
78
79e.g. ./wget --no-check-certificate http://englishhistory.net/tudor/citizens/
80
81The system wget on Ubuntu 16.04 is version 1.17.1 and does not require this flag. Pre-compiled windows binaries are available for version 1.11.4, so that may still require the flag. This will require further investigation. We'd like both unix and windows operating systems to behave similarly, ideally.
82
83
84* http://nebm.ist.utl.pt/~glopes/wget/
85Prebuilt Windows wget binaries (for 32 and 64 bit) version 1.11.4 that includes SSL support
86* http://gnuwin32.sourceforge.net/packages/wget.htm
87GNU's prebuilt Windows binaries of wget v 1.11.4. May not have been built with SSL support.
Note: See TracBrowser for help on using the browser.